摘要:
“本文从DevOps的三步工作法说起,分别描述了一些具备代表性的技术实践,继而通过DevOps状态报告来关注如何通过四个关键指标来衡量研发效能,最终落实到DevOps的工具平台实践。”
正文:
和很多同学一样,最早接触DevOps概念的时候,也是感到云里雾里。印象中认为DevOps就是工具和平台,是基于容器的自动部署系统,是持续集成和持续交付的新名字。
什么是DevOps?
如果在搜索引擎搜DevOps应该看到最多的就是下面这个双环图:
![](https://i-blog.csdnimg.cn/blog_migrate/1dda108c419ef3072668027d542b4ffe.png)
图1 DevOps双环图
从这个图中可以看出DevOps是贯穿整个软件交付过程的,包含了计划、编码、构建、测试、发布、部署、运维和监控。还有一个特征就是整个是不断循环的过程,而在这个循环的管道中流转的实体是在变化的,不同阶段的具体内容定义不同,最初源于一个用户需求、编写成代码、构建成制品、经过测试后部署成为系统实例、而用户看到的是具体的系统功能。
开展DevOps运动的目的是为了促成改变,而这个改变是必然的,由于软件正在吞噬着世界,传统的瀑布开发方法已经不能很好适应如今这个“快鱼吃慢鱼”的时代。而DevOps运动的起源也是借鉴了敏捷软件开发的一些方法,应用到基础设施和运维工作中,从而打破开发和IT运维之间的壁垒 。随着DevOps运动的发展和理论的成熟,逐渐成为现在我们看到的样子,其囊括了从需求到开发、测试再到发布和运维的整个过程,包含敏捷和精益的思想,以持续集成和持续交付实践为基础能力,致力于改变IT组织文化,增进各个部门之间的协同。
如何实现DevOps?
而DevOps的目的就是要通过自动化的手段使整个过程流转更快,通过可视化的方法增加过程中的不断反馈,而最终目的是要交付过程中的不同角色能够通力协作,打造持续学习的文化和组织。
下面这张图就是“三步工作法——DevOps的基础原则”,是实现DevOps的很好的指导。
![](https://i-blog.csdnimg.cn/blog_migrate/49eb3b554365f0c4100d4ecae93ce3b8.png)
图2 DevOps三步工作法(来源:DevOps实践指南)
第一步,实现从左(开发)到右(运维)的快速流动。具体要做的事情包含价值流可视化,找到流转过程中的瓶颈和痛点,逐步从局部到全局进行持续优化。这里就包含持续构建、集成、测试和部署的实践,都是自动化的,也正是“持续交付”的意义体现。
第二步,实现从右到左的持续快速的反馈机制。这是一种提高协同效率的工作方法,一旦发现质量或者安全风险,第一时间快速反馈并解决,从而防止把缺陷和风险流转到后面的过程中。这里面包含了准入准出机制和质量门禁的具体实践。
第三步,建立具有创意和高可信度的企业文化、支持动态的、严格的、科学的实验。目的是释放团队的创造力,通过不断试错和尝试来解决交付流程中的局部问题,再通过改善把局部优化转变为全局优化,从而最大化的帮助企业产生更多业务价值。
未完待续......
小结:
DevOps一词从2008和2009年之间诞生以来,由一场促进IT组织和交付过程变革的运动,甚至逐步发展成为一套有完整体系的包含流程、方法和系统的学科。DevOps的实施和落地对企业数字化转型的过程至关重要,越来越多的企业组建DevOps转型团队,致力于研发效能的提升。
参考资料:
《DevOps精要:业务视角》
《DevOps实践指南》
《2022 加速:DevOps状态报告》
作者简介:
熊志男,高级DevOps咨询师,北京翰德恩管理咨询有限公司。曾担任京东行云DevOps平台的产品经理、京东数科一站式自动化测试平台的架构师和京东商城代码质量平台的负责人。
云上软件工程社区2022年度创新技术专家,曾担任QECon2021的自动化测试专场出品人,测试窝社区联合创始人。