由中国信息通信研究院指导,云计算开源产业联盟和开放运维联盟共同发起的企业级 DevOps 赋能(共促)计划于2019年5月24日下午在成都招商银行金融后台服务中心举行了首次企业交流会,此次与会成员主要来自首批赋能(共促)计划的参与单位:中国工商银行、中国银行软件中心、中国农业银行、招商银行、平安科技、北京移动、联通软件研究院、华泰证券、安信证券、中航信等企业的20余位专家,以及对赋能(共促)计划感兴趣的企业,诸如浙江移动、广东移动、新网银行、金证科技、玉符科技、中移信息等参与此次企业交流。
中国信通院专家牛晓玲对“企业级 DevOps 赋能(共促)计划”的发起背景进行介绍,该项计划由信通院指导,云计算开源产业联盟和开放运维联盟共同发起,希望能给国内外企业创造更多交流经验的机会,收集优秀案例分享给众多的企业。
本着为更多国内外企业创造沟通交流的机会,首届企业级 DevOps 赋能(共促)计划分享了招商银行的 DevOps 落地经验。
招商银行陈展文分享了招行的 DevOps 和精益研发之路,招商银行于2014年开始接触 DevOps,2015年正式开始研究,2016年总结试点结果,在之后的时间里不断改进相关工具,推进 DevOps 实践落地,促进DevOps 综合平台在2018年全面落地,实现了开放平台全部使用 DevOps 流水线平台,DevOps 端到端工作平台逐步成型。
招商银行的谢沁木分享招行基于K8S建设支持多种技术栈的 DevOps 流水线的实践经验,从建设背景、容器化技术栈解决方案、非容器化技术栈解决方案以及未来计划等方面进行了全面介绍。
招行系统主要分为核心系统和开放平台两大块,核心系统属于交付性系统,开放平台也具备这些功能,由于招行体系项目众多,因此通过容器技术进行解决。
容器里最主要做的两件事情便是 Slave 动态化以及 Master 动态化。非容器化技术栈解决方案复用Master池,支持各类操作系统、最小化环境依赖,简化接入流程。
目前招行的整个流水线支持数量是达一万七千多,支持二十多种场景的构建,包含了容器化的部分接近十种,非容器化的接近十种,日均是12.6min,使用了接近9台物理机的资源。
在此次活动的互动交流环节,主要在于参会专家对自身企业问题的“抛出”以及参会企业专家的群力群策的互动解答。
根据《研发运营一体化(DevOps)能力成熟度模型》(DevOps 标准)的持续交付部分的7个能力域,配置管理、构建与持续集成、测试管理、部署与发布管理、环境管理、数据管理、度量与反馈,收集各家企业的问题,参会专家进行一一解答。
Q1:目前负责追踪的存量项目本地,需求没有建立关联关系,大家普遍没有这个意识?
腾讯专家:代码和需求没有做好一对一的关系。使用管理需求,通过BAG,在开发提交过程当中会制定一系列的规格,其中一条是提交规则,强调提交的时候必须要加上需求编号加上操作。
查到需求对应代码的时候,直接在SUV日志里边去搜索,可以把所有的代码全部产生出来,涉及到与这个代码相应的都可以搜索出来,就可以做到一对一的对应关系。
文档的问题,每个产品是一个配置库,这个产品的文档会在某一个,事先制定好一些目录规则。如果某一版本发布的时候,要求这个版本对应的文档和代码一起发布,建立一个发布基线,对应到发布的代码以及发布的命名,这样就做到一对一的对应关系。
Q2:关于度量方面,想跟大家取取经,我们也是做 DevOps 的东西,做了两年多,有很大的困惑,怎么样把做的东西显现化更好的做起来。DevOps 的度量与传统的模式有什么不同?怎么样度量我们的效果?
百度专家:如果说大家想度量的话,首先要有一些标准,规范研发工程过程的标准,定义研发阶段,需求阶段、准入阶段、发布阶段等等。每一个阶段定义若干个代码实践,比如增量的代码确键检查、安全性检查等,每一个实践我们又定一个企业内部的标准,就像单元测试一样。单元测试企业里边有没有统一的标准呢?可能没有。
百度在增量评审单里边会自动进行增量的单元测试。如果说是达到60%就是最好的,做好之后,会发布出来。发布出来之后,要让每一个研发团队拿到最简单的方法就作到实践。
单元测试在百度内部在代码库里边开一个键说做测试,你只需要写KS就可以了,包括后面的测试在流水线都有相近的插件,就可以自动的做工程实践了。研发团队需要做的就是按照工程标准,把KS补全,把KS写好就可以了。
怎么让团队自主的做,根据刚才说的标准,所有的研发团队都带统一一套项目管理工具,一套数据管理线。这里边有一个截面,每一个团队可以在上面写一个查代码库,在准入阶段怎么样、在测试阶段怎么样,以及你做到的标准都可以算出来。
在这样一个截面上每一个团队都可以看到已经做了哪些实践,哪些实践没有做。工程标准怎么定呢,有一个叫百度工程标准白皮书,里边有所有的标准,大家可以参考。
Q3:怎么完成业务需求的,比如说不能满足集成的场景,每周四发布每周发一个版,每次就去卡需求侧吗?
回答:我们也会存在一些风险同一个环境,A跟B两个程序一起在这个环境跑,各自上线会存在风险,这是一个平衡。
如果说在同一环境下都引用了这些东西,他们测试中心也会一些测试的策略,这是对于传统的,或者说你的环境,需要互相依赖,通常的情况下会相互的影响,都是在一个大的产品或者是大的系统下面,开发的人员包括测试的人员大概都会知道在同一时刻大概有几个有关系的项目在测,可能会把它整合成一个测试项统一去测。
通过本次活动,参与的企业从招商银行的分享了解到更多构建 DevOps 平台的经验,也就自己遇到的问题进行提问并获得相应的解答。“企业级 DevOps 赋能(共促)计划”的初衷即在于给企业更多交流的机会,促进参与企业 DevOps 能力的提升,通过别人的实践经验解决自己实践中遇到的问题。
关于“企业级 DevOps 赋能(共促)计划”的更多事宜,可咨询:
车昕@中国信息通信研究院
邮箱:chexin@caict.ac.cn
电话:186 1113 9904
杨东辉@高效运维社区
邮箱:yangdonghui@greatops.net
电话:185 1511 5139
关于赋能计划的更多详情,请点击阅读原文