来源:2023第七届农村中小金融机构科技创新优秀案例评选
获奖单位:浙江农商联合银行
荣获奖项:科技管理创新优秀案例
一、项目背景
在十四五规划和2035年纲要中提及“加快数字化发展,建设数字中国”的国家战略背景下,以中国人民银行印发的《金融科技发展规划(2022-2025年》及中国银保监会办公厅关于银行业保险业数字化转型的指导文件提及的“需要建立能够快速响应需求的敏捷研发运维体系”为方针,浙江农商联合银行以敏捷研发和精益管理为目标,依托DevOps一体化研发平
台支撑,推进IT研发和运营“17个领域”的数字化转型。实现了围绕研发组织机制变革、研发工艺变革、协作模式变革、工程度量变革和数字化管理变革为中心的“五大变革”,切实推动研发管理体系高效运作和研发效能全面提升,实现金融科技快速引领和有效赋能全系统数字化转型发展。
二、项目目标
通过DevOps一体化平台的落地,实现需求、开发、集成、测试、交付端到端数字化管理,打通研发全链路关联节点,实现一站式、自动化持续构建、持续集成、持续交付的研发流水线模式。一方面,以解决现行研发模式代码管理低效、开发版本冲突、开发运维割裂、手工操作故障多等难点问题为目标,切实提升研发交付效率;另一方面,在项目建设过程中,培养“工程教练”专业团队,借助引入的专家经验、工具等赋能,持续优化研运链路的自动化水平和构建管理标准与体系,帮助内部实现“量化-分析-改进”的效能管理闭环。
三、建设规划
基于“统筹建设、分批实施、逐步推广”的思路,计划分为三个阶段进行平台建设。
第一阶段以平台横向打通、工具串联和初步应用为主要目标。期望通过平台基础功能搭建、工具链建设及试点项目推广等工作,初步实现研发运维一体化的目标,实现研运链路的半自动化。
第二阶段以构建机制规范、全行推广使用和工具链优化为主要目标。期望输出行内自有DevOps工程教练梯队以保障整体机制规范、有序地落地,加强行内对整套体系与方法论的持续应用与管控能力。此外还规划了流水线标杆建设的目标,进一步提升研运链路的自动化水平,构建质量红线,做到效率与质量两手抓。
第三阶段以行内研发管理类系统的深度融合,输出可视化指标为目标。期望通过构建精益价值流和效能度量,实现需求价值流和研发工程流的双向自动联动,并通过构建关键性数据指标,建设效能度量体系,实现“量化-分析-改进”的效能管理闭环。
四、平台功能介绍
以DevOps平台为核心,构建自动化的DevOps交付体系,结合行内实际业务情况,基于DevOps理念建立交付模式。从需求、开发、测试、运维四大交付维度,打通平台工具链,实现平台融合统一。平台主要功能模块如下:
1.CICD流水线
CICD流水线模块通过构建持续交付流水线,实现自动化代码构建、测试、镜像构建、应用部署、应用集成测试等流程,极大提升行内研发团队软件交付的速度和质量。主要功能包括:
(1)可视化编排CI/CD流水线,支持拖拽排布、自由复制;
(2)流水线版本管理,支持查看历史记录;
(3)流水线模板管理,支持构造参数化通用模板,之后可实例化所有环境适配的标准流水线,缩减流水线维护成本;
(4)容器化构建资源池,支持多端、多语言集中的集成构建;
(5)以自定义插件的方式集成第三方平台能力,如代码扫描插件;
(6)支持配置质量门禁阈值,产出图形化执行报告,提升代码质量。
2.制品管理
制品管理模块作为企业级管理依赖包和制品包的工具,通过版本管理实现制品全生命周期管理,通过安全扫描与依赖分析实现风险质量多维管控。主要功能包括:
(1)文件存储:包括Maven、Helm、npm、RPM等主流制品库存储类型,模拟文件系统的层次结构,方便用户组织、存储、管理文件。
(2)镜像存储:支持存储镜像的不同版本,作为容器化发布项目的中央仓库。
(3)制品库:支持访问控制、安全扫描、权限控制、清理设置等辅助功能,保障制品顺利分发。
3.环境管理
环境管理用于管理流水线需要使用的环境资源,包括创建、部署、维护环境等,以确保软件能够在不同环境中可靠地运行。主要功能包括:
(1)支持将服务器纳管在DevOps平台的节点管理下,并支持将节点按环境分类,在流水线中可以通过插件远程批量控制同一环境下的虚拟机进行文件传输、命令执行等操作。
(2)支持第三方构建机纳管,形成项目组私有构建资源,适用于重点项目工作或特殊要求的构建环境(例如AIX等)。
4.精益价值流
精益价值流是基于精益管理和价值流管理思想落地的企业级价值流管理平台,通过“价值流+插件“交互,实现“管理流程+工程活动”双向融合,提升业务价值交付整体成效。主要功能包括:
(1)价值流模版编排,支持需求状态集定义、价值流模版定义、绑定活动插件、插件全局变量定义等;
(2)插件管理,支持插件配置、分类、上传、下载、启停等操作,插件内置包括引用变量、全局变量,支持双向插件传参;
(3)价值流管理,支持价值流查看、创建、授权、挂起、关闭等操作,通过插件交互方式实现跨平台操作集成;
(4)价值流指标数据,通过价值流动沉淀关键指标,通过等待/活跃时间、交付率等指标直观体现研发过程运行健康状况。
5.效能度量
效能度量模块通过数据采集、数据处理、调试引擎和模型管理等能力,支持多数据源数据抽取、清洗、快速开发报表界面和智能数据分析,以可视化配置形式动态展示数据分析结果,提升企业效能。主要功能包括:
(1)通过梳理行社、业务领域、研发领域等不同视角相关效能度量指标,对其相关领域建模,形成各领域的效能度量视图;
(2)数据管理,包括数据源管理、数据集管理、数据抽取等功能,拉取数据实现数据实时采集、加工和分析,为仪表板配置做好数据准备;
(3)仪表板管理,包括仪表板新增、删除、查询等功能,配置图表组建样式,支持数据联动、数据下钻、数据自定义编排等能力。
五、创新点
1.理念先进
我行科技部门全面践行DevOps管理先进理念和方法论,与业内专家构建了一套DevOps四纵四横理论,其纵即是端到端工具集成、信息资产流转共享,流程融入工程平台,能效显示与精益改进;其横则是需求、开发、测试、运维各端工艺的平台支持与规则设定,及资源间复杂的拓扑关系构建。整套理念融合了业界各标准工艺,通过工具集成、资产流转、流程融入,形成先进的端到端DevOps数字化管理蓝图。
2.架构先进
技术架构上依托于腾讯蓝鲸PaaS平台,结合行内特色,构建了自有的持续集成、持续部署、代码检查、制品库、依赖库等各类自动化微服务和子模块,形成DevOps体系平台,具备极强的扩展性、可靠性和稳定性。
3.集成灵活
在系统建设过程中,流水线需要各类插件融合支撑,因此我行结合DevOps平台融入一套完整的开发技术规范以区别于传统应用模式,为行内开发人员提供规范、灵活、便捷的插件集成能力,并支持多样化业务场景平台流程及数据对接。
4.闭环反馈
“反馈回路”内建于CI/CD(持续集成持续发布)流水线中,对流水线执行过程中产生的数据进行建模分析,通过分析结果驱动流水线建设持续改进,形成及时有效的良性内部循环机制。
5.全栈信创
为进一步推进我行信息系统国产化的进程,对DevOps平台进行了国产化改造,目前已实现所有服务的国产服务器和国产操作系统替换。
6.进度领先
领先省内银行同业,率先构建全行组织级DevOps体系,为科技研发数字化转型落地提供强有力平台支撑。
六、项目过程管理
第一阶段(2021年12月-2022年4月):实现横向打通与工具串联。通过建设标准流水线规范和组织级代码管理体系,结合自动化测试任务执行插件、依赖扫描、代码安全扫描、跨项目制品推送建设,完成DevOps平台基础工具链路的建设。
第二阶段(2022年4月-2023年6月):深度应用,组织赋能。以推动流水线的全面推广和人才培养为主。截至22年10月,推广覆盖超过4000条流水线。在推广的过程中,建设完成10个标杆项目,搭建完成5个价值流模版,并在4个系统进行试运行,最终沉淀出组织级流水线模版。在系统建设的同时,我们更加注重人才培养,目前已累计培养出21位具备流水线建设及优化能力的DevOps工程教练,并输出了若干管理规范并落地运行。
第三阶段(2023年6月-至今):流程融合,数据拉通。该阶段致力于行内研发管理类系统的深度融合,基于试运行项目推广调研结果,设计精益价值流,实现需求价值流和研发工程流的双向自动联动。并基于以上标准化建设,通过数据采集能力和研发效能指标体系的建设,实现从需求、质量、测试等维度关键性数据的可视化呈现;基于后续的应用反馈持续迭代,并借此推动研发过程的持续改进与优化,帮助内部实现“量化-分析-改进”的效能管理闭环。
七、运营情况
系统基本实现应接尽接:截至2023年8月已接入系统197个,搭建流水线6000+条。其中,2022年度流水线执行22.8万次,月均1.9万次,本年度流水线执行25.7万次,月均2.8万次。10个标杆项目完成370+条流水线搭建,流水线执行6.4万余次,此外行内团队已基本具备自我持续优化的能力。
全行生产发布吞吐量显著提升:通过统计生产发布情况,2022年全行生产发布4800+次,月均400+次。2023年截至8月底全行生产发布4500+次,月均570+次。从2022年4月接入DevOps平台,生产发布次数呈明显上升趋势,具体如下图所示:
八、项目成效
DevOps致力于促进研发运维一体化,提升生产效能和交付速率,项目所带来的具体成效表现如下:
1.流水线建设规模、流水线执行成功率达到业内领先水平
截至2023年8月已完成197套可接入系统的流水线接入和6000+条流水线建设,属于银行同业内较大流水线建设规模。累计流水线执行次数突破40万次,日均流水线执行达千次,流水线执行成功率全行整体保持在75%左右,属业内领先水平。
2.项目组交付效率稳步提升,极大缩短人工参与时间
流水线接入使用前各环节均需人工参与,接入平台后随着流水线建设完善将基本不需要人工参与。按流水线月执行超2万次计算,一年可累计减少人工参与超2500人天(以每次减少人工参与时间5分钟粗略计算),人工参与时长缩减超80%。全过程自动化处理更规范、便捷、可靠和高效,效率提升同时对于集成需求高的系统日均集成频率同步提升60%以上。
下表为我行某大型项目使用DevOps平台前后测试环境持续集成平均耗时对比:
3.融合各类质量安全工具,设置质量门禁,提供自动化能力支撑
DevOps平台集成代码安全扫描工具、代码规范扫描工具、开源组件扫描工具、安全检查工具、安全加固工具、交互式安全测试工具等一系列质量安全工具,将原来线下人工检查的工作线上化、自动化、精细化。通过在流水线中配置相关插件,设置门禁卡点作为抓手,提高系统可靠性同时降低系统运行风险。此外,通过标杆案例的建设,已基本实现整体质量左移能力,将代码扫描从生产发布阶段左移至开发和SIT测试阶段,以便更早暴露问题。
4.“管理流程+工程活动”双向融合,业务流程全局跟进
精益价值流经过“流程建模、流程融合、价值流赋能”三步走,形成一套适用于行内业务需求流转的价值流模版和价值流度量指标体系,其中沉淀5套价值流模版贯穿于行内需求、开发、测试、运维四大领域,支持自动触发审批流以减少人工操作,打通并串联研发工程活动以实现“管理流程+工程活动”双向融合,规范人员操作以保障流程运行质量、同时提升团队高效协同,通过可视化价值流数据度量需求交付时效、异常浪费等。
5.实现制品摆渡自动化,整体效率提升90%以上
制品生成和自动摆渡,在满足监管和安全前提下,改变原有手工上传方式,摆脱全程人工参与依赖。平台建设前代码质量由人工集中处理,一次常规上线发布人工耗时2天左右,使用平台后,按规范标准自动化分布式处理耗时降为分钟级。当前制品传递通常在40分钟左右完成,且更加安全、规范、可靠,制品生成和摆渡到生产,整体效率提升90%以上。
以下为我行常规上线制品摆渡耗时部分数据:
6.生产发布自动可靠,减少人工参与,提升发布效率
生产发布(CD)是DevOps流水线的核心应用场景之一,依托平台灵活的扩展能力,持续提炼固化研发运维人员在生产环境执行的操作,使其生产操作在自动执行同时更加规范,设置各类自动化检查机制确保执行结果安全可靠。截至2023年8月生产环境使用平台发布能力系统30个左右,统计发现其使用DevOps平台发布能力,上线发布的生产操作平均耗时从50分钟左右减少到10分钟以下,生产接入流水线后减少了人工参与,上线效率提升超80%。
以下为我行部分系统生产流水线部署的数据对比:
7.融合全行组织级代码仓库,统一分支模型提质增效
融合全行组织级代码仓库,完成全部1300多个代码仓库建设和代码仓库迁移,实现应接尽接,解决了仓库种类多、分支模型不成体系、代码提交无法度量、代码提交不成规范和DevOps适配无法统一等问题。形成我行统一分支模型、提交规范和代码度量体系,对部分项目组代码分支日均合并频率提升80%以上。
8.2个标杆项目完成中国信通院《研发运营一体化(DevOps)能力成熟度模型》持续交付三级认证申报
基于我行研发现状,构建了一套完整的分支模型,支持编译构建资源动态扩展,结合一体化测试、测试脚本管理、测试分层等自动化测试策略,沉淀出依赖库和制品库统一管理规范,并形成业务需求从开发、测试到发布全流程追溯链路和度量体系。目前我行已有2个标杆项目完成中国信通院《研发运营一体化(DevOps)能力成熟度模型》持续交付三级认证申报。
九、经验总结
我行在DevOps建设的探索和实践过程中,总结了以下经验:
1.明确目标和战略
在开始 DevOps 平台建设之前,首先需要明确组织的战略目标,结合全行信息化转型战略方针,并梳理行内现状,综合制定一套完整的 DevOos 阶段性建设方案,才能更好地规划 DevOps 平台建设。
2.选择合适的工具和技术
DevOps平台建设需要使用大量的工具和技术,包括版本控制系统、自动化测试工具、持续集成/持续部署(CI/CD)工具等。在选择工具和技术前需要进行充分的调研和分析,选择适合本组织的工具和技术可以大大提高DevOps平台的效果和效率,并与现有的技术栈和流程兼容。
3.设置组织级与部门级工程教练梯队
组织级与部门级工程教练梯队保障各部门流水线正确建设。组织级工程教练负责制定全行流水线建设规范和实施指南,解决部门级工程教练和项目组在流水线建设过程中遇到无法解决问题。部门级工程教练团队负责指导各部门内项目组完成流水线搭建,收集项目组流水线搭建过程中发现的问题并反馈到组织级工程教练确保问题最终得以解决,两级工程教练相互配合共同确保全行各项目组流水线建设工作顺利开展。
4.建立问题反馈机制
在系统推广过程中,项目组设置专人负责各渠道问题反馈汇总,建立DevOps流水线知识库并指导各部门各项目组使用。项目组流水线建设过程中遇到问题可优先通过知识库找寻解决方案,也可反馈科室级工程教练协助解决或上述到专班帮助解决。
5.持续改进和优化
DevOps是一个持续改进的过程。我们总结提炼出流水线应用指数、流水线执行失败分布、流水线执行成功率及流水线建设活跃率等关键指标,驱动各项目组不断建好、用好、改善好所使用的流水线,以此提升项目组需求研发交付质效。
更多金融科技案例和金融数据智能优秀解决方案,请登录数字金融创新知识服务平台-金科创新社案例库、选型库查看。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.