3.2.3 建设DevOps体系的路线图
通过对开发能力的差距分析,我们横向剖析了开发交付过程中的几个阶段,同时调研了阿里的云效、腾讯的Coding平台和TAPD(Tencent Agile Product Development,腾讯敏捷协作平台)。这几个工具非常成熟,由于自如当时没有上云,因此也无法直接使用,只能基于现状。像云效这样强大的平台不是一朝一夕建成的,我们制定了自如DevOps体系的路径规划,大体分为3个阶段,如图3-5所示。
图3-5 阶段发展图
1.0阶段:打基础,提升研发工程师和运维工程师的专业技能,修炼内功。
前面我们分析了能力差距,要想提高研发生产力,最重要的是提升人员能力,这是打造DevOps体系的第一步。只有研发人员熟悉运维知识,知道常用的服务器如何操作、出了线上问题可以快速识别是内存问题还是I/O问题,才能更加高效地发布与部署、定位问题、解决问题。同样,只有运维人员掌握了一定的开发知识,才能够从繁杂的日常事务中解放出来,去研发一些提效的工具和平台。
2.0阶段:优平台,模仿业界一流的平台,提升研发工具的易用性。
当运维人员转型SRE,研发人员转型DevOps后,人员能力有了一定的提升,我们需要开始分析研发过程的“飞轮阻碍点”——哪个环节、哪个流程、哪个工具在阻碍研发过程的高效流转。是环境的问题吗?是代码分支的问题吗?是提测环节不清晰吗?是发布审批太冗长吗?类似的问题我们要深问,在挖掘到整个研发生命周期的“减速点”“卡顿点”后,下一步通过改造平台来解决问题。
3.0阶段:赋能力,为研发、运维、测试工程师赋能,打造DevOps文化。
“酒香也怕巷子深”,有了工具,就要为广大工程师赋能,让全生命周期的角色都参与起来,用好工具。能够通过大盘看报表就不要用Excel;能够通过平台做一键代码分支合并,就不要用GitLab的命令手动合并;能够一键链路追踪,就不要人工查日志、写脚本过滤。