我国最大的IT项目管理门户网站,国内IT项目管理培训与咨询服务提供商

当前位置:首页 > DevOps > 正文

【中国银行软件中心副总经理 熊志正】中国银行DevOps实践与探索

2018-11-14 来源:金融电子化
  熊志正 文 / 中国银行软件中心副总经理
  DevOps已经成为IT行业最热门的流行语之一。在更紧密的愿景以及开发团队和运维团队更有效的协作之上,很少有共识DevOps到底意味着什么,不同组织对DevOps有着不同的定义。DevOps并不是新的工具或组织,而是新的文化和流程,其目标是高度协作以生产更好的软件,是开发、测试以及运维相互工作来加快开发和解决问题的方法。本文主要阐述中国银行信息科技体系在DevOps建设上的探索和实践经验,希望在同业探讨、共同提高。
  背景
  当前,社会发展节奏越来越快,各项新技术日新月异,银行业市场竞争亦日趋激烈。随着银行业务的快速发展,IT建设步伐明显加快,降低成本、提高软件工程活动效率和质量、提升软件产品的交付能力,对于提升银行业的核心竞争力至关重要,IT领域已经成为促进企业业务创新的核心竞争力之一。
  行业调查显示,互联网软件企业通过DevOps应用,在诸多方面促进了IT建设和业务发展:一是可降低IT建设无效成本。通过DevOps应用,提升了协作能力,降低了流程审批、人工操作、低效率沟通等成本,可以投入更多成本在真正的交付价值中。二是可实现版本的持续快速发布。通过DevOps应用,由以前的大变更、按批次交付版本,调整为小变更、按业务需求随时交付。三是对业务发展的促进作用。在IT具备了快速交付上线能力后,业务部门可随时将新的业务推向市场。因此,开展DevOps实践对促进业务发展具有战略意义。
  理论上,DevOps是一组过程、方法与系统的统称,旨在促进软件开发人员(Dev)和IT运维人员(Ops)之间的合作和沟通,通过建设一种文化和环境,使构建、测试、发布软件更加快捷、频繁和可靠。实践中,DevOps是将不稳定的生产关系(如跨部门沟通、重复厌烦的手工操作、出现过的事故、不稳定的人员流动等),转化为规则,沉淀到稳定的生产力(工具链)中,让开发、测试、运维的工作协同更为高效和自动化,人员仅制定新规则,通过自动化执行,替代每天人工重复冗余的操作,让组织效率更为高效、准确,推动业务快速而又稳定的发展。
  DevOps规划设计
  借鉴业界DevOps应用框架,结合我行开发过程和实践,形成中国银行DevOps体系,该体系以打造交付流水线为核心,同时涵盖了协作流程、模型规范、度量体系等方面。
  该体系以精益管理为理论依据,采用敏捷管理、交付管理等工程方法,贯穿从需求到运维的IT实施过程,包括任务管理、版本管理、持续交付、运营监控等实践活动,通过选用合适的工具提升工程活动的自动化能力,打造交付流水线,实现端到端交付。
  中国银行DevOps体系建设目标为:以交付为核心,打造适合中国银行特点的、支持双架构的交付流水线;建设DevOps规范和应用模型,并持续优化完善;建立度量评价体系,不断改进;建立协作流程,实现合理分工、密切合作的实施组织;研究和探索DevOps领域相关新技术。通过建设DevOps协作流程,促进团队间协作关系的改善,打造中国银行DevOps文化氛围。DevOps体系架构如图1所示。
图1  中国银行DevOps体系架构图
  DevOps实践  
  中国银行DevOps建设之路主要经历了三个重要阶段。 
  第一阶段,持续集成阶段。开发过程引入、开展持续集成实践,建立持续集成应用模型和成熟度模型,并在重点产品试点应用。通过试点应用,进一步优化并完善持续集成应用模型,完成开发阶段持续集成应用推广工作,节省大量手工工作量,持续提升版本发布能力,实现中国银行持续集成应用的标准化、规范化和模型化。
  第二阶段,持续交付阶段。测试过程引入自动部署,推广应用持续交付,将测试环境的版本发布过程纳入持续集成应用,通过规范测试环境发布过程,建立中国银行持续交付应用。大部分产品实现持续交付,完成测试环境版本自动安装功能,提高交付质量和效率,每版本平均部署时长大大缩短,部署质量得到显著提升。引入敏捷开发实践、大量应用自动化工具,大大提升软件开发、测试效率和质量。
  第三阶段,DevOps阶段。在生产演练过程引入自动部署,实现开发、测试、运维一体化。结合中国银行IT组织形式和管理理念,通过自主开发创新,建立中国银行DevOps实践,如图2所示。通过DevOps应用,进一步缩短开发、测试周期,提升持续交付能力,实现开发、测试、运维相关流程的统一,提高软件产品版本交付效率和质量。
图2  中国DevOps实践
  DevOps应用和探索
  1.建立“端到端”交付流水线。依托双架构的“端到端”交付流水线,形成以交付为核心的开发、测试、运维一体化流程,使产品交付更加快捷可靠。完成中国银行核心应用系统产品在“端到端”交付流水线上的应用,实现全过程一体化技术的突破。
  根据中国银行应用产品现状,基于AIX的应用产品、X86架构的应用产品、ZOS系统的应用产品,建立三条交付流水线,各应用产品可根据自身特点选择不同流水线进行DevOps实践应用。每条交付流水线,贯穿从需求到运维的IT实施过程,包括敏捷需求分析、迭代、版本控制、构建、自动化测试、代码质量控制、部署发布、运营监控等工程活动。通过提升交付流水线上各工程活动自动化能力,提升整体工艺水平;通过交付流水线,促进部门间协作融合,实现应用产品“端到端”的交付;同时依托流水线,搭建中国银行开发中心和运行中心之间协作的桥梁,实现信息透明共享,变更可追溯。
  围绕任务管理、开发管理、配置管理、测试管理、环境管理、运维管理等领域,通过引入自动化工具应用,建立中国银行“端到端”交付流水线上的工具链,如图3所示。
图3  中国银行端到端交付流水线
  2.建立DevOps规范和度量体系,形成中国银行DevOps文化。为保证交付流水线可实施,建立了一系列技术规范、应用模型和实施指南,为中国银行应用产品快速实现DevOps应用提供技术指导。建立了成熟度模型,形成DevOps评价体系,为IT工艺提升提供改进机会。
  规范敏捷开发、持续集成、持续交付等过程,形成组织级的规范要求。通过建立应用模型,实现敏捷需求分析、迭代活动、版本控制、构建实践、自动化测试、代码质量控制、部署发布、运营监控等关键活动的自动化和工具化。建立DevOps应用平台管理实践过程,实现信息的可视化,从而促进开发、测试、运维过程向标准化、一致化、自动化和智能化的方向发展。建立中国银行DevOps评价体系,以评价应用产品在敏捷开发、持续集成、持续交付、应用运营等环节具备的过程能力,持续改进。
  通过沙龙、论坛、技术交流等多形式的活动,促进开发、测试、运维与生产调度、安全管理、系统管理的协作融合,共同完成交付流水线的贯通;建立组织内部互相协作和高度信任的氛围,打造持续学习的文化。
  3.中国银行DevOps建设领域的探索。中国银行在DevOps建设领域不断探索和创新,寻找适合中国银行产品特点的最佳实践。例如,在部署活动上,研究智能作业流编排引擎,利用容器技术缩短部署周期;在测试领域,开展基于私有云的移动互联自动化测试框架、灰度测试研究、分级自动化测试研究等;在自动化运维方面,开展基于大数据应用日志监控和分布式系统运维等应用研究;在配置管理领域,深入开展分布式配置管理运营模式实践;在信息安全方面,开展部署工具与访问控制一体化对接技术;在基础设施自动化方面,对X86平台虚拟化资源服务优化和移动终端资源池管理模式进行实践应用。   
  结语
  DevOps应用已成为软件企业发展的主要潮流,中国银行通过DevOps应用,实现了开发、测试、运维的深度融合,明显促进了软件产品的交付效率和质量,降低了投入成本,减少了潜在的风险。从试点效果看,整体部署效率比手工操作提升2~5倍。随着版本规模和服务器数量的增加,持续部署的优势将更加凸显。
  未来,中国银行DevOps应用体系依然以“价值交付”为核心,持续改进,围绕“高效开发、自动运维、持续发布、团队协作”,结合大数据、云计算、虚拟化等新兴技术,通过不断优化“端到端”交付流水线,逐步实现随时交付,为中国银行业务发展保驾护航。
分享到:

免责声明:
  1、IT项目管理界发布的所有资讯与文章是出于为业界传递更多信息之目的,并不意味着赞同其观点或证实其描述。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请浏览者仅作参考,并请自行核实相关内容。
  2、本站部分内容转载于其他网站和媒体,版权归原作者或原发布媒体所有。如文章涉及版权等问题,请联系本站,我们将在两个工作日内进行删除或修改处理。敬请谅解!

more

会议活动

more

公开课

more

PMO

Copyright © 2021 IT项目管理界 版权所有 京ICP备17062359号-4 如转载本站文章,请注明原作者和原发布媒体

本着互联网分享精神,本站部分内容转载于其他网站和媒体,如稿件涉及版权等问题,请联系本站进行删除或修改处理

客服电话:010-89506650 89504891 非工作时间可联系:18701278071(微信) QQ在线:511524637

新闻与原创文章投稿:tougao#cpmta.com 客服邮箱:info#cpmta.com(请将#换成@)

IT项目管理界——我国最大的IT项目管理门户网站,隶属卓橡公司

IT项目管理界官方微信

IT项目管理界官方微信

PMO大会官方微信

PMO大会官方微信