中国银行:从DevOps实践到应用性能管理
2017-11-02孙杰贤
文 | 本刊记者 孙杰贤
信息化案例 Informatization-Case
中国银行:从DevOps实践到应用性能管理
文 | 本刊记者 孙杰贤
中国银行软件中心在2013年便开始了探索DevOps模式,并成功推出中国银行第一个互联网金融产品——网络通宝。
面对互联网金融汹汹来袭,将服务延伸至支付、资管、交易、融资等金融领域,传统银行加速了以提高用户消费体验为宗旨的数字化进程。
打造敏捷体系
2016年,中国银行推出“e中银”三年规划(2016-2018),指出:全面践行“互联网+”行动纲领及国家十三五规划,顺应市场环境与客户需求变迁,把握金融服务本质,开放合作、场景融合、快速创新商业模式,重塑流程、数据洞察、极大提升业务价值,为客户提供随时、随地、随心的全方位金融服务,推动公司、零售、金融市场各条线业务快速增长,构建中国银行特色鲜明的差异化竞争优势,将“e中银”打造成银行业互联网金融领先品牌,推动“做最好的银行”战略目标实现。
作为中国银行信息科技体系的重要组成部分,中国银行软件中心担负着整个集团软件系统与应用的开发、测试、维护管理和实施工作。因此,建设“e中银”,中国银行软件中心可谓是使命必达。
然而随着各个分中心规模的不断扩大,中国银行内部系统的开发任务也变得愈发艰巨,其中各项金融产品不但越来越复杂,数量也呈快速上升状态,而且更新迭代速度也在不断加快。同时,产品在开发方式上的多样性,以及来自业界的竞争压力,都促使中国银行急需找到一个强有力的指导方法来应对这一挑战。
于是,中国银行软件中心开始践行DevOps打造敏捷开发和运维体系。
简单说,DevOps是软件开发、运维和质量保证三个部门之间的沟通、协作和集成所采用的流程、方法和体系的一个集合。它是企业为了及时生产软件产品或服务,以满足某个业务目标,对开发与运维之间相互依存关系的一种新的理解。
“e中银三年规划要求我们必须具有并行开发多个互联网金融领域产品的能力和具备多产品线、多批次及多任务生产能力,这需要我们全面建立敏捷开发和运维体系,实现应用的端到端全流程交付,实施DevOps是必然之道。”中国银行软件中心高级系统工程师付大亮表示,“DevOps是文化、工程方法、工具技术的有机整合,用来促进软件开发、运营维护和质量管理之间的沟通、协作。目标是提高软件研发的交付价值,落实提高交付价值的途径就是提升响应力,提升持续交付能力,以科技支撑业务发展。”
中国银行软件中心在2013年便开始了探索DevOps模式,并成功推出中国银行第一个互联网金融产品——网络通宝。目前,中国银行DevOps已经进入深化实施阶段,形成了中心级的敏捷体系。
仅有DevOps还不够
当然,DevOps无法解决一切问题。中国银行软件中心仍然遇到了一些IT系统开发、管理中共性的问题。这其中便包括:一些性能问题已经表现出来,但难以找到问题的根源;同时,有一些产品的运行看起来流畅完美,但实际存在着潜在的性能隐患;此外,在开发、测试、维护的各个阶段都存在着性能错误排查困难的情况。
举个例子,中国银行的IT系统主要是基于SOA架构,节点众多,在当前的技术和应用环境下难免出现交易路径复杂,事先无法确认 ;彼此服务调用,故障定位复杂;环境复杂,导致测试复杂;以及性能分析复杂等问题。
要在x86分布式环境下解决上述问题需要一套真正端到端的、全生命周期的应用智能监测系统。基于此,中国银行软件中心在开发阶段便引入了Dynatrace的应用性能管理工具,通过对各个计算节点全面、整体监控,提供后续的故障分析和性能调优的依据。
中国银行软件中心对软件开发有一套完整的把控要求,在开发过程中希望开发人员不仅要了解自己的功能模块,还要对产品的整体应用架构、调用流程有所了解,避免迷失在复杂的网络环境中。通过Dynatrace能够实时绘制的业务流程图清晰记录请求经过的服务,以及每个服务耗时,大大加快了分布式架构下性能优化和故障诊断。而在程序运行的阶段,通过Dynatrace,中行软件中心可以检查整个程序的运行逻辑跟之前设计的调用关系是否一致,这在一定程度上也提高了开发人员对整体程序的把握和分析能力,通过一次的交易就可以一键生成所有的关系。所有这些附加价值都在很大程度上提高了整个软件中心的开发效率。
付大亮说:“通过对真实的用户体验、交易全路径等情况精准的跟踪分析,Dynatrace推动相关产品测试前移,提升产品质量,促进开发运维进一步融合,为缩短交付周期、缩短故障恢复时间奠定了基础。”