招商银行负责人张建林 - 金融IT运维对应用性能的提升

瓮幼枫

2017/11/14 发布于 技术 分类

互联金融的理念日益发展,传统金融IT对业务功能需求的持续快捷交付,运维资源有限的情况下,唯有不断使运维工具化与自动化,才能实现应用从研发平滑对接到生产,同时运维保障能力也已经同步就绪。作为此项工作其中最重要的一环是,研发与运维共同完成非功能需求的方案并落地。 演讲提纲: 1、传统金融IT非功能需求局限性; 2、互联金融下非功能需求的演变; 3、非功能需求平台实践方案; 4、 高效运维工作思路实践方案。 运维自动化程度取决与非功能需求的实现深度!

文字内容
1. 金融IT运维对应用性能的提升 张建林 招商银行应用管理团队负责人
2. 目录 01 传统金融面临的挑战 02 应用架构优化趋势 03 发布效率与应用质量的提升 04 持续监控与优化 05 应用运维工作重心的转移
3. 传统金融IT应用运维面临的挑战—发展趋势 发展趋势 • 系统规模越来越复杂,组件越来越多 • 用户流量不断上升 • 事件、发布变更随之越来越多 • 以上各项均为非线性增长 其他挑战 • 行业竞争,传统的运维模式带来的成 本消耗巨大 • 主机下移X86,未来的管理应该趋于 统一/标准 系统规模 运维人员 成本压力 技术趋势
4. 传统金融IT应用运维面临的挑战—与开发的矛盾 • 政策监管的要求,开发与运维割裂,甩包袱的做法无法延续 • 流程与自动化如何相互配合,如何优雅的结合
5. 传统金融IT应用运维面临的挑战—逐年增加的变更 • 每年上线的项目数都在持续增长 • 有限的人力资源需面对巨大的投产压力 上线项目数和增长率 600 项 目 400 数 200 300.00% 200.00% 100.00% 0 0.00% 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 2015上线项目数 196 63 184 185 213 184 239 209 193 206 247 248 2016上线项目数 302 95 262 244 318 349 305 264 316 274 485 407 2017上线项目数 342 355 420 403 387 517 上线数同步增长 13.25% 273.68% 60.31% 65.16% 21.70% 48.14% *数据来自招行数据中心
6. 传统金融IT应用运维面临的挑战—生产事件 • 非功能相关生产事件多 • 变更人为失误多 非功能维度 数量 非功能相关 占比 工作流程 34 11 32% 程序bug 10 2 20% 技术架构 18 4 22% 性能容量 6 1 17% 监控预警 22 13 59% 人员培训 14 2 14% 汇总 104 33 32% *数据来自招行数据中心2016年生产事件分析 11.00% 23.00% 15.00% 51.00% 人工操作 硬件环境 软件功能 性能容量 *资料来源互联网
7. 目录 01 面临的挑战 02 应用架构优化趋势 03 发布效率与应用质量的提升 04 持续监控与优化 05 应用运维工作重心的转移
8. 架构改造--主机高频业务下移x86平台 监控服务器 日终服务器 卡夫卡 深圳 上海 390主机 CTG服务器 集群 CTG服务器 集群 F5集群 X86 集群 数据库服务器 集群 加密机集群 OGG 数据库服务器 集群 加密机集群 安全服务器 集群 卡人白名单 路由规则 天腾 OGG AS400 主机 卡BIN 安全服务器 集群 天腾 日终服务器 卡夫卡 X86 集群 F5集群
9. 架构改造--部署平台往云平台迁移 平台 管理 用户 管理 应用 管理 服务 管理 资源 管理 开发框架 Java开发框架 移动开发框架 可视化开发插件 …… 工作流 DB2 Red i s …… PaaS 平台 应用框架 平台组件 Java JBoss .NET PHP Python Ru b y N o d e.js 自定义b u i l d p ack 应用容器 DEA/ Gear Do ck er 服务仓库 报表引擎 Oracle M ongoDB …… 后台作业 M ySQL RabbitM Q …… Op en St ack IaaS 环境 Fu si o n Sp h er e vSp h er e 应用开发 应用部署 持续集成 用户认证 服务集成 统一 监控 应用 监控 平台 监控 弹性 伸缩 服务部署 服务发布 日志 AWS RTC 源代码管理 VP 软件过程管理 ITIL AD域 集中事件平台
10. 目录 01 面临的挑战 02 应用架构优化趋势 03 发布效率与应用质量的提升 04 持续监控与优化 05 应用运维工作重心的转移
11. 结合DevOps理念的思考 想法 3,构建“轻”的开发测试发布流程 业务人员 开发 测试人员 运维人员 计划和 度量 开发和 测试 发布和 部署 目标客户 监控和 优化 持续业务计划 协作式开发 2 ,优化现有开发模式及现有产品架构, 消除流水线流动障碍 持续测试 持续监控 持续发布和部署 DevOps 持续反馈和优化 市场 精益和敏捷原理 1,构建DevOps持续交付流水线平台,减少人工操作(提高效率,降低风险)
12. 应用发布分类—按紧急程度分类 • 紧急功能增强 • 紧急缺陷修复 • 上线变更异常 • 白名单中的产品 • 适用标准发布 • 下午5点前申请 普通 发布 快捷 发布 紧急 发布 特急 发布 • 不在白名单的产品 • 需在管控期内投产 • 时间紧急不允许提 交评审会
13. 应用发布分类—按发布类型分类 • 单个项目上线 • 一次性部署 • 全行全量发布 标准 发布 • 一个发布变更 对应多个项目 上线 整合 发布 灰度 发布 • 发布到灰度环境 • 灰度自动化验收 • 持续监控 • 全行推广 合并 发布 • 同产品的多个项目 • 多个发布变更单统 一发布
14. 发布效率的提升—自动化工具平台 面向业务支撑的全生命周期自动化管理理念 立项 非功能 管控 开发 测试 上线 日常 运维 下线 面向业务支撑的全生命周期自动化管理 上线及 扩容 发布 日常 运维 服务 请求 下线 故障 处理 为了在保持传统运维模式的安全、稳健的 前提下,提高对业务支撑的效率和质量, 满足新形势下的业务需要,需将应用在全 生命周期所需的运维管理工作全部标准化 和自动化,朝着“self-driving”的数据 中心前进。 应用上线/ 应用程序更 扩容 新 基础运维 应用分析/ 日志 应用组件 下线 应用故障 数据库上线 配置文件发 扩容 布 应用运维 数据/配置 获取 硬件设备下 线 数据库故障 …… …… …… …… …… ……
15. 发布质量的提升 监控系统 监控部署 应用总控台 应用守护 Opsware平台 一键自动化 应急管理 环境 准备 试运 行 试运行 自动化 验收 通过 灰度 发布 灰度自 通过 动化验 全面发布 收 通过 自动技 自动业 术验证 务验证 未通过 自动化发布平台 未通过 未通过
16. 代码质量的提高—非功能管理 测试中心 冒烟测试 功能测试 停止靠检查来提高质量。取消大规模检 查,而代之以在设计产品的第一时间就 建立质量保证。 —— 戴明博士 UAT测试 开发中心 其安 他全 开开 发发 功能测试 需求 集成测试 运维测试 需求 应用非 功能性 组应 规范 件用 开开 发 发 应用运维需 求 应系 用统 运运 维维 可运维性需求 数据中心 数其 据他 运运 维维
17. 应用非功能管理规范—指标内容概述 l 对高可用要求明确 l 对数据备份管理要求 技术 规范 l 明确后台跑批任务管理办法 l 规范应用部署路径管理 l 规范日志格式管控 l 明确关键运维文档管理 可用性 非功能 指标 容量 计划 l 提升进程自愈管理能力 l 加强日志管理能力 l 强化进程维护/柔性功能 l 提升业务指标监控和探测能力 可维 护性 l 业务容量提前规划与度量 l 固化应用性能评估 l 明确要求数据归档策略
18. 框架能力提升—非功能公共技术组件库 用户 (登录、菜单、权限、公共UI组件等) • 标准规范的非功 能公共技术组件 库 • 适配各开发语言、 框架和平台的 API • 开发人员专注于 业务组件的开发 实现 应用全流程监控 自动化发布 作业平台 BPC监控 NPM监控 自动化工具平台 一体化监控 管控平台 API网关 数据平台 非功能公共技术组件 安全 日志 消息 数据访问 缓存 文件管理 390/400 资源层 开放平台 网络安全 数据库 业务组件 性 业务组件 能 容 量 业务组件 & 应 用 架 业务组件 构 业务组件 …
19. 目录 01 面临的挑战 02 应用架构优化趋势 03 发布效率与应用质量的提升 04 持续监控与优化 05 应用运维工作重心的转移
20. 基于应用CMDB标准化管理 开发测试 上线前 DEV ST 发布平台 端口申请 资源申请 发布平台应用 端口预分配 云平台资源分 配 UAT 资源申请 应用端口校验 云平台资源分 配 DEV环境 CMDB录入 ST环境 CMDB获取 PM完善 CMDB获取 应用画像 标准化变更场景 灰度环境 标准化变更场景 生产环境 变更实施 日志监控 部署 节点监控 部署 F5配置激 活 总控台部 署 进程端口 监控部署 验证 通过 变更实施 日志监控 部署 节点监控 部署 F5配置激 活 总控台部 署 进程端口 监控部署 CMDB_prd_ VerNo 管理员确认/ 修订CMDB CMDB_prd_ VerNo 管理员确认/ 修订CMDB
21. 运维工具自动接管—应用全流程监控 节点应用与连接质量相结合 BPC 节点应用质量监控 节点解码完成 应用全路径 Web 中间件 应用 数据库 NPM 节点连接质量监控 节点上线即刻监控 NPM BPC
22. 应用全流程自动监控实现原理 1. 发现流量中存在,但节 点属性和访问关系中缺 失的 2. 发现节点访问关系的变 更,包括:新增、消失、 访问关系变更 比对 更新节点资源池 全量原始节 点数据 已知节点、 节点属性和 访问关系 比对 运算 模块 比对 比对 外部节点维 护列表 1. 发现流量中不存在, 且已知节点属性和访 问关系中缺失的 输出流量缺失信息 协调数据镜像 原始节点数据
23. 运营数据分析挖掘—性能容量的监控与预测 基于网络报文数据分析的性能容量预测 每个服务的需 求预测数据(资 源使用量) 资源供给 性能容量实时参数y’=f(z) 业务增长趋势函数x=f(z) 性能容量预测函数y=f(x) x=f(z) 连接数 业务请求数 服务响应时间 y 服务器 CPU 内存 磁盘使用率 配置信息 (依赖关系) 数据解析 求解器 资源分配 计划 性能数据 资源价格
24. 运营数据分析挖掘—应用架构的监控与优化 网络报文应用:业务系统架构 网上支付 Web服务器 不同业务 高度耦合 大众版 Web服务器 INT 通讯网关 100% 手机银行 Web服务器 迁移业务数减少 BServer 正常 F5 数据库 深圳 90% 上海 UniBServer 综合支付 S390
25. 应用全流程监控—能力输出 建立节点数据快速开发框架,将数据消费 与数据引擎解耦隔离,增加中间层 BPC/NPM AS400实时监控平台 应用架构 PAI项目 不同开发项目 事件管理平台 大数据平台 节点监控 故障定位 基线计算 机器学习 性能预测
26. 目录 01 面临的挑战 02 应用架构优化趋势 03 发布效率与应用质量的提升 04 持续监控与优化 05 应用运维工作重心的转移
27. 应用运维持续优化--流程规范的标准化 持续反馈,不 断优化规范与 提高系统的能 力 • • 规范 非功能规范 基础库 日志、监控 组件、框架 变更流程规范 运维管理系统 环境管理 虚拟化方案 建立规则,连 接开发、运维、 测试 • 提高可用性 高可用性 可维护性 性能优化 • 监控平台 质量度量 容量管理 故障自愈 利用规则和系 统,保障生产 环境的应用质 量 运营 应用 生命 周期 开发 • 持续集成 功能测试 自动化测试 • 运维管理系统 镜像交付 非功能验收 发布 • 持续部署 工具平台 自动化运维 • 监控平台 灰度流程管理 发布/变更监控 自动化发布平 台对发布管理 与监控
28. 基于SRE理念--推动开发模式的转变 传统开发模式 基于SRE开发模式 应用 需求 应用 需求 资源 准备 环境 构建 公共 组建 资源 准备 环境 构建 公共 组建 日志 追溯 应用 开发 日志 追溯 应用 开发 监控 告警 代码 部署 监控 告警 代码 部署
29. 通过非功能管控平台--推动应用自动化运维 开发&测试 需求评估 项目立项 开发 ST/UAT/ 非功能测试 上线投产 运维 需求管理系统 提出非功 能需求 项目管理系统 非功能 自动化测试 非功能提出 和设计 非功能开发 测试管理系统 运维工具 自动对接 自动化验 收 运维工具 自动化集成 测试结 果验收 投产后 智能评估 评估跟进 上线及扩容 发布 日常运维 服务请求 下线 故障处理
30. THANK YOU