平安科技林伟丹&郭志坚-平安DevOps演进历程

答昊苍

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

对一家8000人规模的大型金融科技企业来说,开发与运维肩负着看似有冲突的使命:一个追求快速交付,一个追求稳定运营,但对于企业战略目标的达成,必须依靠开发与运维的有效运作与紧密协同。本主题将从文化、协作、工具等不同视角,完整回放平安科技十多年来DevOps的演进历程,分享在转型过程中的经验、成果、困惑与不足。

文字内容
2. 拉动端到端价值交付 ——平安Devops演进历程 林伟丹 研发管理总监 郭志坚 运维资深经理 DevOpsDays 2017·上海站
3. 林伟丹 • 10+年的金融/互联网从业经验,历经软件开发、测试 、运维、产品管理、项目管理、软件工程、敏捷咨询 等多领域工作 • 精益和敏捷思想践行者,曾主导设计和推进8000+规 模大型金融科技企业的 精益-敏捷转型工作 • 领导敏捷教练、项目经理、质量技术等专家团队,和 Wizard敏捷管理与持续交付工具产品团队 郭志坚 • 10+年的IT/互联网从业经验,历经软件开发、测试和 运维等多领域工作,擅长WEB、App类应用运维 • 直接或带领团队运维平安科技多个核心互联网应用, 以及带领运维开发团队打造自动化运维平台 • 两次获得平安科技最高荣誉:“十佳团队”、“十大 杰人” DevOpsDays 2017·上海站
4. 目录 1 Dev与Ops——不是冤家不聚头 2 DevOps——我们努力在一起 3 平安科技Devops演进历程 4 Devops转型关键点总结 DevOpsDays 2017·上海站
5. 同床异梦 DevOpsDays 2017·上海站
6. 隔墙相望 代码 部署文档 代码 测试环境 版本发布流程 生产缺陷修复流程 正式环境 部署文档 代码 DevOpsDays 2017·上海站
7. 目录 1 Dev与Ops——不是冤家不聚头 2 DevOps——我们努力在一起 3 平安科技Devops演进历程 4 Devops转型关键点总结 DevOpsDays 2017·上海站
8. 敏捷的目标 可持续的最短 价值交付时间 DevOpsDays 2017·上海站
9. 敏捷价值观从Dev延展到Ops 敏捷宣言 – Agile Manifesto 个人和交互重于方法和工具 Individuals and interactions over processes and tools 可工作的软件重于完备的文档 Working software over comprehensive documentation 与客户的协作重于合同谈判 Customer collaboration over contract negotiation 响应变化重于严格遵照计划 Responding to change over following a plan DevOpsDays 2017·上海站
10. DevOps应运而生 • Devops是将敏捷开发延伸到运营端,希望 解决软件交付“最后一公里”问题的一个 运动 • Devops是软件开发、测试、运维部门之间 的沟通、协作和集成所采用的流程、方法 和体系的一个集合 • Devops是为了满足业务目标,对开发与运 维之间相互依存关系的一种新的理解 What is Devops How to 业务 开发 测试 运营 Why • 目标和动机冲突 • 沟通和协作不畅 • 流程和工具不一致 配置管理代码化 自动化部署流水线 自动化监控 虚拟机、云平台技术 持续集成与质量体系 功能开关 灰度发布、A/B测试 工程师文化 架构微服务化 …… • 共同的目标和驱动力 • 互信与伙伴关系 • 通过自动化提升协作效率 • 协同的流程和工具 DevOpsDays 2017·上海站
11. 实施DevOps的收益 实施DevOps的收益调查排序: 63% 提升软件部署质量 63% 更频繁的软件发布 61% 提升IT过程和需 求的可视化程度 55% 改变合作协同文化 55% 响应更多的业务需 求 51% 开发更敏捷 45% 管理过程更敏捷 38% 提升代码质量 《State of DevOps Report》-2013年,90个国家4000人调查报告 DevOpsDays 2017·上海站
12. 目录 1 Dev与Ops——不是冤家不聚头 2 DevOps——我们努力在一起 3 平安科技Devops演进历程 4 Devops转型关键点总结 DevOpsDays 2017·上海站
13. 平安科技Devops演进历程 2004~2010 2011~2013 2014~2015 2016+ EPG+ITIL 标准化管理 与协作 开发敏捷转型 + 运维自动化 开发+运维 全流程精益 价值流优化 端到端 持续交付体系 + 云服务化 DevOpsDays 2017·上海站
14. 2004 ~ 2010 EPG+ITIL 标准化管理与协作 过程管理中的协作 改善系统可用性的协作 环境搭建上的协作 DevOpsDays 2017·上海站
15. 过程管理中的协作 – 过程渗透 开发 服务设计 服务移交 运营 服务运营 开发 服务设计 DevOpsDays 2017·上海站 DevOps 服务移交 运营 服务运营
16. 过程管理中的协作 – 运维渗透开发 应用服务工程师 参与各阶段的日程计划制定,提供运维的详细参与计划; 确定具体的运维需求; 参与需求分析,配合开发人员进行非功能需求分析活动; 存在产品采购时,参与定义产品采购需求、供应商及产品选型 评估方 案定义和选型评估活动,提出运维方面的需求及评估 意见; 参与架构评审,了解架构设计,对于运维需求设计的合理性和 运维可行性方面提出意见; 参与系统测试案例评审,评估系统测试案例是否合理、全面, 是否覆盖产品运维的需求; 参与性能测试案例评审,评估性能测试案例是否合理、全面, 是否覆盖产品可能压力点; 参与测试报告评审,评估遗留缺陷的范围及影响; 参与制定验证方案,包括IT验证方案和用户验证方案; 接受运营及维护培训,快速掌握运维知识与技能; 进行监控准备,与开发人员一起确定产品监控方案,根据监控 方案开发监控脚本或代码; DevOpsDays 2017·上海站 申请相关的运维权限,使得后续的运维工作可以顺利展开; 设置相关的系统运维通道,确保后续的运维工作可按规范有序地展 开; 编写系统运维手册,为后续运维提供参考文档; 在版本上线后执行IT验证; 参与容灾环境搭建,编写恢复手册; 参与容灾测试,执行应用测试,完善恢复手册; 根据监控方案,实施监控,确保产品的异常情况能得到迅速的响应 及处理; 配置可用性验证脚本或编写可用性手工验证手册; 根据产品运行情况,搜集生产压力和性能数据,定期出具产品运维 报告; 参与产品业务影响分析(BIA); 为系统架构师进行容灾设计提供技术支持; 组织容灾测试。
17. 过程管理中的协作 – 开发支持运维 PIR流程 是平安科技 开发团队对生产系统提供支持 的流程统称 事件管理流程 ITIL 体系 问题管理流程 服务请求流程 PIR事件 PIR问题 PIR服务请求 重大事件(UIOC)流程 重大事件(UIOC)支持 PIR 流 程 DevOpsDays 2017·上海站
18. 过程管理中的协作 – 开发支持运维 用户 应用系统事件/ 服务请求报至 ItsmPortal 事件响 应人员 ITSM 开发PIR事件 处理人员 开发人员 日常工作中发 现的程序问题 ,报PIR问题 流程 分析可能与程序问题有关的,转报PIR问题流程 分析存在潜在问题的, 升级问题管理流程 开发PIR问题 处理人员 分析可能与基础 架构等其他部门 有关的,转报问题 运营应用服务人员 其它工 具系统 基础架构等其他部门 问题处理人员 DevOpsDays 2017·上海站
19. 改善系统可用性的协作 系统可用性PMO 30+个开发部门 4个运营部门 (基架/数据库/系统运营) 风险评估 需求分析/架构设 计 • 风险识别 • 系统变更风险分 级 防控措施 开发&测试 发布前变更控制 • 架构评审 • 代码评审 • 安全测试 • 质量红线 • 生产变更的风 险评审 • 应急预案演习 故障识别 监控&巡检 • 业务健康度监 控: • 巡检异常跟踪 分析 信息安全 应急处理 UIOC&事件 • UIOC流程 • 事件/问题根 因分析与消除 总结复盘 共性问题 • 共性问题分析 • 可用性案例分 享 识别 共性 问题 故障回溯&隐患分析 系统可用性PMO 统一 跟踪 改进 定期例会跟踪 培训 & 宣导 案例分享警示 DevOpsDays 2017·上海站
20. 环境搭建上的协作 项目经理 分组经理 资源申请 & 环境搭配 中间件 DB 主机 存储 F5、DNS 防火墙 基 础 架 构 部 DevOpsDays 2017·上海站 项目经理 分组经理 打包 服务 打包经理 基 础 架 构 部
21. 2011 ~ 2013 开发敏捷转型 + 运维自动化 敏捷开发模式推广 测试与运维前置 自助部署与运维 DevOpsDays 2017·上海站
22. 敏捷开发模式推广– 化危为机 DevOpsDays 2017·上海站
23. 敏捷开发模式推广– 高效实践 DevOpsDays 2017·上海站
24. 敏捷开发模式推广– 改进闭环 成熟度雷达图 成熟度进阶 目标 痛点 衡量标准 自评估模版 改进计划 DevOpsDays 2017·上海站 组织及议题实施计划
25. 测试与运维前置– 产品中心制 打破测试部门建制,测试人员按产 品线并入研发团队 增加白盒测试和自动化测试比例, 大幅提升效率 改革各角色人员KPI, 强调以产品及客户为中心 运维参与产品需求及设计讨论,提 出运维相关需求并推动实现 试点互联网产品运维人员并入产品 团队,打通产品运营和运维 DevOpsDays 2017·上海站
26. 测试与运维前置– 单件流协作 跨迭代的瀑布开发l: 迭代 1 Define 迭代 2 Build Define 迭代 3 Test Build Define 迭代 4 Test Build 迭代 5 Test 迭代内的瀑布开发: 迭代 1 迭代 2 迭代 3 迭代 4 迭代 5 Define Build Test Define Build Test Define Build Test 跨职能的迭代开发: 迭代 1 DB T DB T DB T 迭代 2 DB T DB T D BT 迭代 3 DB T DB T DB T 迭代 4 迭代 5 DevOpsDays 2017·上海站
27. 自助运维与部署 测试环境 DevOpsDays 2017·上海站 自动部署平台 统 一 配 置 库 自动监控平台 生产环境
28. 2014 ~ 2015 开发+运维 全流程精益价值流优化 全流程价值流优化 技术架构治理 工程师文化与技术卓越 DevOpsDays 2017·上海站
29. 全流程价值流优化 – 耗时TOP10流程效率提升 24% 45D 34D 包干合同签署 35% 14D 9D 公共平台接入 20.5D 14.2D 资源申请&环境准备 31% 7D 3.7D 防火墙策略 47% 38% 0.15D 0.09D 移交部署 17% 整体提升 4.4D 3.5D 财务报销 20% 18% 6.1D 5D 新建子系统 51% 31D 15.5D 数据库搭建 54D 48D 采购选型 11% 5.7D 3.4D 外包入场 41% DevOpsDays 2017·上海站
30. 全流程价值流优化 – 消除浪费和瓶颈 某流程示例 分析范围: 公司所有职能领域,及跨职能领域的流程场景 时效较长 运营 时效一般 时效短 财务 产品 行政 法务 安全 分析重点: 缩短等待时间(wait-time) 缩短工作时间(touch-time) 减少返工次数(rework) 去除多余环节(redundant step) 区分服务分类(classification of services) DevOpsDays 2017·上海站
31. “平安敏捷方法+”打造精益企业 DevOpsDays 2017·上海站
32. 技术架构治理– 整体架构检视及改造 公司级技术架构治理 梳理、解耦现有应用架构 建设稳定、灵活、可扩展 的互联网架构 隔离互联网应用与核心金融 应用,并避免单一应用故障 造成大范围影响 治理子目标 1 避免单一故障造成全局性影响 2 在15分钟内快速恢复故障 3 建立灵活可扩展的互联网架构 4 保障核心关键业务高可用 5 全面消除系统可用性隐患 重点工作项目 应用架构解耦改造 应用多活 互联网网络优化 应用版本快速恢复预案 重点APP架构改造 核心关键业务风险检视及整改 应用集中点检视及整改 推动系统可用性共性隐患整改 各部门全面排查报备风险 DevOpsDays 2017·上海站
33. 技术架构治理– 代码管理策略优化 DevOpsDays 2017·上海站
34. 技术架构治理– 代码管理策略优化 DevOpsDays 2017·上海站
35. 工程师文化与技术卓越 平安科技人才发展管理委员会 技术族 产品族 市场族 人才 保留 完善各个专业垂直领域的人才培养体系, 增强专业人才厚度,建立职业荣誉感, 提升核心专业人才留存率 专业 导向 加强公司专业技术导向,与互联网公司通用做法接轨; 增强专业产品和技术架构的积累 推动公司的平台化、产品化 工程师 文化 发挥委员会在培训、晋升等方面的应用和影响能力 营造开放、乐于分享、主动创新的氛围 强化技术导向的工程师文化 DevOpsDays 2017·上海站
36. 2016 + 端到端持续交付体系 + 云服务化 持续交付流水线 智能化运维监控 金融云服务 DevOpsDays 2017·上海站
37. “神兵Wizard”一站式敏捷研发与Devops平台 DevOpsDays 2017·上海站
38. 持续交付流水线– 打造敏捷发布火车 DevOpsDays 2017·上海站
39. 持续交付流水线 – 能力建设 容器技术:基于基础架构部Docker容 器技术,提高环境搭建效率和资源利用 率。 分钟级环境搭建:在分钟级完成环境创 建、中间件部署、应用部署工作,可以 创建CI、STG、生产环境。 DevOpsDays 2017·上海站
40. 持续交付流水线 – 多环境自动部署 全自动化:从编译打包、代码扫 描、部署、测试等全流程自动化 ,用户可定制化部署到开发、测 试、STG、PRD环境。 一键部署:对应用包、数据库脚 本、配置文件,实现一键部署。 DevOpsDays 2017·上海站
41. 持续交付流水线 – 自动化虚拟环境 容器技术:基于基础架构部 Docker容器技术,提高环境搭 建效率和资源利用率。 分钟级环境搭建:在分钟级完成 环境创建、中间件部署、应用部 署工作,可以创建CI、STG、生 产环境。 DevOpsDays 2017·上海站
42. 持续交付流水线 – 移交测试零消耗 传统工具 神兵wizard 省时 STG部署无需等待,更稳定; CI环境提前验证,无需手工维 护 自主 自行控制STG节奏;自定义信 息类邮件收件人 透明 编译打包;CI/STG/PRD部署 ;环境同步 DevOpsDays 2017·上海站
43. 持续交付流水线 – 生产发布“一触即发” 1~1.5小时 封板 生产整理 传统 工具 神兵 wizard 生产部署 环境同步 约20分钟 省力 无需生产发布人工整理;环境同步全自动 高效 生产部署一键触发自动化完成 DevOpsDays 2017·上海站
44. 智能化运维持续交付流水线 – 智能运维 打造智能运维门户,实现了大规模应用集 群快速扩容:原本需要40-60分钟的扩容 任务,可以缩短到15分钟以内,效率提升 2.7到4倍 打造监控告警自动通知系统,支持产、寿 、信托、普惠、金科、科技等专业公司的 监控告警自动call 打造自动化运维平台,将日常工作封装成 固定脚本并由用户自助执行,提升了人员 工作效率 打造无侵入式应用全链路追踪监控系统, 为开发、运维提供故障诊断性能、瓶颈定 位、调用链路梳理 打造智能应用自愈系统,无人值守处理常 规异常,提升非工作时间处理效率,减少 24.5%的人工处理异常 DevOpsDays 2017·上海站 智能运维
45. 智能化运维持续交付流水线 – 轻运维平台 DevOpsDays 2017·上海站
46. 智能化监控 整合平安内部已广泛应用的成熟APM和运维服务,实现更完整的端到端全链路覆盖,并进一步向智能化发展 客户 浏览器/终端设备 运营商 CDN/第三方 数据中心 云 (私有/公用) 网络设备 虚拟/物理环境 WEB APP DB 存储 员工 JAVA WEBLOGIC ORACLE REDIS NGINX .NET TOMCAT MYSQL …… APPLICATION WiseAPM Mobile WiseAPM Network WiseAPM TestCloud WiseAPM Browser 整合建设 远期规划扩展 DevOpsDays 2017·上海站 WiseAPM CDN WiseAPM Security WiseAPM Application WiseAPM Infrastructrure WiseAPM BI WiseAPM Alert WiseAPM Tools WiseAPM Database WiseAPM LogCloud WiseAPM DRP
47. IaaS+PaaS+SaaS金融云 全方位 金融场景 覆盖 SAAS 清算 支付 同业 交易 风控 签约 催收 权债 … 投资 证券 保险 银行 信贷云 资金云 投资云 销售云 城市一账通 保险云 银行一账通 金融业 务通用 组件 BPAAS BI 征信 账户 客服 展业 渠道 AI … 数据仓库 企业大数据平台 星云大数据平台 主账户 一帐通 展业宝 渠道联盟 通讯云 伺客 直播云 社交云 联络云 AI 人脸识别 声纹识别 智能语音 金融云 平台服务 IPAAS 多版本 轻量级 快速部 快速计 署算 实时大 数据交 换与分 析 动态…网 络加速 … 金融云 基础平台 IAAS 高可用分 布式弹性 计算 IT环境快 速自助化 部署 数据安全 金融合规 … DevOpsDays 2017·上海站 PAAS 数据库服务 CDN平台 大数据平台 区块链平台 容器计算平台 中间件部署平台 公共服务 监控平台 运维平台 安全防护 计算 IAAS 存储 网络 多地多中心合规金融机房 金融专线 业务 服务 IT 服务
48. 平安云环境搭建自动化 将环境搭建任务所涉及的操作拆分为粒度“较小”的原子任务,然后使用编排 引擎按照特定顺序执行这些原子任务,自动并快速地完成环境搭建。 安装 cyberar k 配置 postfix 规划资 源 创建关 联性组 创建资 源组 配置UM 创建应 用、集 群和实 例 部署中 间件 开通防 火墙 (VPC) DevOpsDays 2017·上海站 编排 工具 创建负 载均衡 创建VM 创建 NAS 创建云 磁盘 为VM 挂载 NAS
49. 目录 1 Dev与Ops——不是冤家不聚头 2 DevOps——我们努力在一起 3 平安科技Devops演进历程 4 Devops转型关键点总结 DevOpsDays 2017·上海站
50. Devops转型关键点总结 以精益思想 构建协作文化 拉动端到端 的价值流 自动化一切可以 自动化的环节 DevOpsDays 2017·上海站
51. 推荐Devops书籍 DevOpsDays 2017·上海站
52. DevOpsDays 2017·上海站 Thanks 荣誉出品 高效运维社区 国际最佳实践管理联盟 神兵Wizard 平安敏捷产品与服务
53. 想第一时间看到 高效运维社区公众号 的好文章吗? 请打开高效运维社区公众号,点击右上角小人,如右侧所示设置就好 DevOpsDays 2017·上海站