大家好,我是小姜。
DevOps发展至今已有多年的时间,毫无疑问将在2021年持续发展。由于许多组织都在寻求围绕其数字化转型的最佳实践,因此了解组织领导者对DevOps行业的发展方向非常重要。
乐天株式会社高级DevOps工程师NiravChotai表示:
“ DataOps将在2021年蓬勃发展,发生的疫情可能会在其中发挥作用。数字内容的消费量猛增,这要求自动扩展和自我修复系统的自动化达到新水平,以满足增长和需求。”
杰蛙科技公司副总裁Stephen Chin说:
“2020年加速了远程工作,加快了向云端的迁移,并将DevOps从最佳实践转变为每个业务的重要组成部分。随着我们进入2021年,该行业将在多个方面接受混合。2021年的赢家将是积极接受业务、模型和产品混合的公司。”
还有很多行业大佬都认为DevOps将会在2021年继续发力,下一个5年会是DevOps的黄金时代。
本篇文章内容大纲:
- DevOps的常见误区
- 什么是DevOps
- DevOps、敏捷开发、精益开发的关系
- DevOps实践落地的效果
DevOps的常见误区
在我们开始介绍前,首先需要消除一些关于DevOps的常见误区。
误区1:DevOps是敏捷的分支
DevOps并不是敏捷的分支,而是吸收了敏捷的「快速交付」,并在敏捷的基础上延展到整体交付、整个组织、整个流程以及整个价值链。
误区2:DevOps只是工具和自动化
DevOps不只是简单的一组工具和自动化流程。很多团队在使用DevOps实践前,只采用一些方法或工具,但却忽视最基础的理论和原则,所以结果并不理想,就像给没经过训练的人提供了武器一样,会造成可怕的误伤。
误区3:DevOps会导致人员失业
有些人错误的认为DevOps意味着开发人员将所有业务自己做。而实际是在DevOps的流程下,运维人员会在项目开发期间就介入到开发过程中,了解开发人员使用的系统架构和技术路线,从而制定适当的运维方案。而开发人员也会在运维的初期参与到系统部署中,并提供系统部署的优化建议。
什么是DevOps?
刚刚介绍了DevOps的3种常见误区,其实造成这些误区的主要原因,在于DevOps有很太多五花八门的定义,久而久之造成了大家的误解。
那么DevOps到底有没有一个权威的定义呢?
荷兰EXIN DevOps Foundation 官方认证培训教材——《DevOps精要:业务视角》的作者Olrg Skrynnik给了DevOps一个定义:
“DevOps是对「敏捷软件开发」与「精益生产思想」的演变,应用于IT端到端的价值链中,使得业务基于现代信息技术,并通过文化、组织与技术变革来获得更大的成功。”
ps:《DevOps精要:业务视角》完整版pdf精华汇总,可以加我微信【ghgj329】免费领取。
我们把这句话拆成几个组成部分,以方便强调其中的关键点:
- 敏捷软件开发+精益生产思想的一种演进
- 应用到IT端到端的价值链中
- 使得业务基于现代信息技术(虚拟化+云技术)
- 通过文化(人)+组织(流程)+技术变革(自动化技术)= 价值
这实际上是一个很好的以结果为中心的定义,稍微有点抽象,但是并不难理解。反正它不是某一个特定软件、工具或平台的名字。
DevOps、敏捷开发、精益开发的关系
刚刚在关于DevOps的定义中,为什么说DevOps是敏捷开发和精益生产的演变,他们三者之间是什么关系呢?如果说「演变」这个词比较难理解,可以用「吸收」这个词来代替。
那么DevOps分别吸收了「敏捷开发」和「精益生产」的什么理论?
敏捷开发:
随着时间的推移,用户的需求不断增加,与此同时,用户的耐心却越来越少。在这个情况下,大家发现,笨重迟缓的瀑布式开发已经不适合了,于是敏捷的诞生了。
DevOps是吸收了敏捷的「快速发布」的思想,这里就会提到3个经常提的关键词:CI和CD,即持续集成(CI)、持续交付(CD)和持续部署(CD)
下面这个图可以让大家更方便的理解。对比前面所说的瀑布式开发和敏捷开发,我们可以明显看出,DevOps贯穿了软件全生命周期,而不仅限于局部开发阶段。
精益生产:
我们刚刚强调了DevOps的定义,第2条「应用到IT端到端的价值流中」
在敏捷开发中并没有体现这个概念,敏捷团队仅仅是提交代码-测试代码,然后无限重复这个循环,这里还是一个局部开发的过程,只是开发变快了,并没有考虑到整体的价值链。
所以DevOps的关键概念之一“价值链或叫价值流”,这个重要的概念借自于「精益生产」在精益生产中,「价值流」非常关注「浪费」这个概念。浪费是对于期望获得的成果非必需的且通过改变流程可以避免或最小化的动作。
价值流有什么价值呢?
价值1:价值流有助于识别和消除瓶颈,避免掉入局部优化的陷阱,避免在一个优化点浪费太多的时间和精力。在任何时间点上,有且只有1个真正的瓶颈,是这个瓶颈拖慢了工作,同时,花在除了消除这个瓶颈点之外的精力,都是浪费。
价值2:通过价值流“可视化”呈现,员工聚焦在创造的价值上,而不只是实施的动作上,员工和管理者都能更好的理解自己的日常任务。
如果用一句话总结精益生产,其主要研究时间和效率,消除所有浪费,注重提升系统的稳定性。
DevOps实践落地的效果
好了说了这么多,DevOps究竟能为企业带来什么效果?
Nicole Forsgren在《加速:精益软件和DevOps的科学》中断言:
“我们研究计划的发现清楚地表明,采用DevOps的价值甚至比我们最初认为的还要大,并且高效者与低效者之间的差距继续扩大。”
他们的研究发现,与低效的团队相比,高效的DevOps团队具有:
- 日常代码部署频率提高46倍
- 从提交到交付时间快440倍
- 平均修复时间快170倍
- 变更失败率降低5倍(系统变更失败的可能性为⅕)
这四个关键指标涵盖了整个DevOps流程,这表明快速的开发和操作的稳定性都是提高软件交付性能所不可或缺的指标,而且彼此之间并不矛盾。
自 2009 年提出 DevOps 的概念起,很多公司都开始实施 DevOps,国外比较著名的有Adobe、Apple、Airbnb、亚马逊、谷歌、易贝、Etsy、Facebook、领英、NASA、星巴克、Target(泛欧实时全额自动清算系统)、沃尔玛、索尼等,亚马逊是 DevOps 最佳实践的最有说服力的代表之一。
国内著名的有百度、华为、阿里、腾讯、中国银行、招商银行、华夏银行、中国工商银行、中国民生银行、中国农业银行、国家开发银行等。
好了,这期文章就到这里结束了,只是简单带大家了解一下DevOps的误区、定义、价值和实际效果。
想要更深一步的了解DevOps的同学可以加我微信【ghgj329】进群交流,群内会定期分享DevOps相关直播、资料分享以及话题讨论。