《孙彦杰-工银瑞信 DevOps 实践与思考.pdf》由会员分享,可在线阅读,更多相关《孙彦杰-工银瑞信 DevOps 实践与思考.pdf(20页珍藏版)》请在三个皮匠报告上搜索。
1、2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站工银瑞信DevOps实践与思考孙彦杰 工银瑞信资深经理01DevOps实施背景02DevOps建设实践03DevOps实施亮点04DevOps思考分享目录Content01DevOps实施背景为什么要DevOps?2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站DevOps实施背景建设DevOps研发运营一体化平台参照信通院研发运营一体化(DevOps)能力成熟度模型持续优化研发运营流程,对标工行总行通过持续交付三级认证,组建跨业务条线、业务与技术融合的共创团队,通过高频迭代、灵活投产持续提升业
2、务快速响应能力。构建基于业务架构的业务研发体系结合业务架构成果和各业务领域规划内容,合理划分系统边界、明确牵头部门、系统定位和用户群体;建立适应业务需求的项目管理体系改革项目管理机制,聚焦需求、立项、采购、研发、测试和投产等关键环节,进一步梳理完善管理流程,提升项目实施效率;02DevOps建设实践DevOps能干什么?2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站DevOps建设实践 规划路线目标方向关键任务上利用自动化替代人工操作,局部实现效率提升关键举措工具链引入和建设:制品库管理、代码库、统一配置、jenkins等主要基于流水线实现自动化目标方向实现需求到上
3、线的端到端全链路打通,逐步提升需求迭代周期关键举措交付链路上下游打通:打通需求、研发、测试、上线发布等环节梳理和解决流程中的堵点目标方向通过度量化数据,驱动团队形成持续的过程改进关键举措度量体系建设:覆盖需求、开发、测试、生产等各阶段数据驱动闭环体系:通过数据分析问题,持续改进交付模式,持续提升研发效能目标方向借助数据模型和AI,提升信息流的流转效率关键举措数据模型建立:数据规则沉淀总结,形成对应决策点的数据模型智能化推荐:根据数据模型生成决策建议,比动态质量门禁、项目时间预估等关键任务自动化需求上线流程化研发管理透明化决策制定智能化2023 DevOps 国际峰会 暨 BizDevOps 企
4、业峰会 北京站1.确立路线3.有序推广2.先行试点 自顶向下+自底向上 业界先进的信通院持续交付III级认证标准+业界顶级咨询公司 变与不变 敏态与稳态 寻找合适试点项目 工具先行 or 文化先行?ABCDevOps建设实践 实施路径2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站DevOps建设实践 能力架构2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站DevOps建设实践 自动化 流水线流水线类型流水线类型1.Feature提交流提交流水线水线2.Feature-Dev预合预合并流水线并流水线3.开发环境流水线开发环境流水线4.测试环境
5、流水线测试环境流水线5.验收环境流水线验收环境流水线6.生产部署流水生产部署流水线线7.生产回滚流水生产回滚流水线线(复用生产部署(复用生产部署流水线)流水线)8.hotfix提交流水线提交流水线9.Dev-Master流水流水线线10.合入合入master触发触发其他分支流水线其他分支流水线分支分支featurefeaturedevdevdev|hotfixdev|hotfixdev|hotfixhotfixdev*|hotfix*dev|hotfix触发方式代码提交到feature自动触发feature发起合并Dev时自动触发feature合并Dev完成后触发手动触发手动触发手动触发手动触
6、发hotfix提交代码后自动触发手动触发dev|hotfix合并到master后自动触发原子任务代码检出/sql代码扫描/sql质量门禁/单元测试/jacoco覆盖率统计/代码扫描/质量门禁代码检出/预合并/sql代码扫描/sql质量门禁/单元测试/jacoco覆盖率统计/代码扫描/质量门禁代码检出/sql代码扫描/sql质量门禁/单元测试/代码扫描/jacoco覆盖率统计/质量门禁/打包/推送镜像/部署开发环境/接口测试/UI测试测试环境部署/UI+接口测试验收环境部署/UI+接口测试生产环境部署生产环境回滚代码检出/sql代码扫描/sql质量门禁/单元测试/代码扫描/jacoco覆盖率统计
7、/质量门禁/打包/推送镜像/部署开发环境/集成接口测试/UI测试分支合并发起,自动合并到master1.master向其他dev|hotfix发起合并请求2.删除源dev|hotfix分支。3.删除rancher上对应命名空间资源前置步骤前置步骤提交内容(commit)检查,包括本地钩子和服务器gitlab钩子无开发人员在配置中心将相关环境配置好测试人员在配置中心将相关环境参数配置好运维人员在配置中心将相关环境参数配置好运维人员将相关环境参数配置好运维人员将相关环境参数回滚无无源dev|hotfix分支合并Master完成后置步骤后置步骤无人工代码走查,需要留痕开发人员进行自测测试人员进行测试
8、业务人员进行测试在生产环境验证上线是否成功,如判断不成功,则执行回滚流水线在生产环境测试验证开发人员进行自测自动合并若有冲突,则邮件提醒相关人员介入,解决冲突后合并。无单元测试门禁单元测试门禁有有有无无无无有无无代码合规代码合规有sonar有sonar有sonar无无无无有sonar无无代码合规门禁代码合规门禁有有有无无无无有无无自动化测试自动化测试无无接口测试、UI测试接口测试、UI测试接口测试、UI测试无无接口测试、UI测试无无自动化测试门禁自动化测试门禁无无有有有无无有无无制品晋级制品晋级无无有标签:DEV文档:1、架构设计文档2、单元测试和接口自动化测试报告有标签:SIT文档:1、IT
9、测试报告有标签:UAT文档:1、验收测试报告2、生产上线部署文档3、运维手册4、应急预案无无无无无通知方式通知方式精准通知精准通知精准通知部署者立刻感知部署者立刻感知部署者立刻感知部署者立刻感知精准通知精准通知精准通知2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站DevOps建设实践 自动化 数据变更代码和数据脚本均执行正测试环境验证数据库脚本可以回滚。第一个正为代码和数据脚本均执行;第二个反为数据脚本执行回滚逻辑;第三个正为数据脚本执行正向逻辑正反正生产环境数据脚本投产出现问题,可以单独执行反将数据回滚反l LiquiBase框架l 数据脚本即代码,两者同介质、同
10、版本l 数据脚本既可与代码同时运行,又可单独运行正和反操作2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站DevOps建设实践 流程化l 流程的两个层面l 工具层面:项目管理与代码库、制品库;不同环境制品的同步;Jenkins与云平台、配置中心等;l 组织层面:生产问题流转;上线审批;开发和测试周期匹配;2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站DevOps建设实践 透明化度量指标指标模型:指标名称、指标意义、数据来源、计算方法、计量单位、分类(认知域/改进域)、图表、取数周期、状态、变更原因指标类型:需求类指标、版本控制类指标、代码质
11、量指标、开发构建指标、测试指标、部署类指标等共70余个亮点指标:需求前置时长、红灯修复时长、缺陷逃逸率、程序员画像等度量框架参考软件研发效能度量规范研发效能=认知+改进度量方法=确定目标+选取指标+实施度量度量原则:适用性、系统性、可靠性和持续性度量工具量化指标平台:基于BI+指标数据中心建设Merico:商业度量平台,提供开发当量等指标Apache DevLake:对接Jenkins、Jira等并提供数据模型03DevOps实施亮点DevOps带来什么?2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站DevOps实施亮点 项目收益1.构建平均时长:由 30分钟 下降
12、至 5分钟2.持续集成响应时间:由 3天/次 下降至 合入即集成3.平均红灯修复时长:由 2天 下降至 3小时4.上线审批时长:由 平均3天 下降至 2小时5.需求交付周期:由 2个月 下降至 2周工具层面的协同效应组织层面的协同效应2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站DevOps实施亮点 十个统一1.统一语言:形成组织内共同语言2.统一工具:规定开发/测试/运维工具和版本,借助云桌面推送统一版本3.统一流程:基于流程管理工具将上下游串联打通4.统一规范:基于流程全生命周期进行规范化5.统一版本:开发、测试、运维版本保持一致6.统一资产:以应用为核心构建研
13、发资产7.统一介质:制品一包到底8.统一环境:基于云平台实现一致的环境保障9.统一度量:基于行业规范制定公司指标体系和打造指标平台10.统一理念:借助DevOps逐步达成公司敏捷研发理念04DevOps思考分享DevOps的本质是什么?2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站DevOps思考与分享 数字化与DevOps(1)1.数字化的三个维度 体力释放 决策辅助 关系嬗变2.数字化作用是什么 组织协同效应体力释放决策辅助关系嬗变2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站DevOps思考与分享 数字化与DevOps(2)1.数字化与DevOps的关系 整体与局部2.DevOps的本质:通过消除不对称性来实现组织协同效应 一包到底,可以消除介质的不对称;云平台,可以消除不同环境的不对称;工具的单一可信源,可以消除工具的不对称;自动化,可以消除人工操作的不对称;上下游工具链打通,让数据流动起来可以消除数据的不对称;指标的统一采集和展示,可以消除角色之间的不对称;2023 DevOps 国际峰会 暨 BizDevOps 企业峰会 北京站ThanksDevOpsDevOps 时代社区时代社区荣誉出品