DevOps 精要:业务视角
上QQ阅读APP看书,第一时间看更新

1.2 定义

只有那些非常自信或极不称职的人以及公认的大师,才会在不下定义或不依赖于一个被广泛接受定义的情况下严肃讨论一种现象。不幸的是,对DevOps来说,这件事情远没有这么简单。

有些专家试图按照他们的理解创造一些自己的东西。其他一些人则主张,因为DevOps更像是一个现象、一场运动、一个想法,而不是一门学科或一种方法论,因而当下不可能给它下一个定义。还有人说,每个人都可以有自己的DevOps,还提供一个著名的盲人摸象的比喻,说什么有人说它最像一棵树,有人说它像一块毯子,第3个人说它像一条蛇,等等。

为了研究这个话题,我阅读了大量的书籍和在线出版物,与俄罗斯以及欧洲其他国家参与DevOps运动的不同人员进行交流,参加各种专业培训,并通过了几个国际认证考试。在我看来,不可能定义DevOps这件事在某种程度上被夸大了。当然,有这么多的人,这么多的观点,而且当遇到咨询顾问时,这件事变得更难琢磨,因为2个顾问会至少提出3个观点。然而,凭借系统性的思维、IT的专业学位以及在IT管理领域的咨询经验,我发现还是有机会以一种清晰和结构化的方式来探讨这个话题。目前,我总结出如下的定义,虽然不敢说这是业界通行的或者是终极真理:

“DevOps是对敏捷软件开发与精益生产思想的演进,应用于IT端到端的价值链中,使得业务基于现代信息技术,并通过文化、组织与技术变革来获得更大的成功。”

在这个定义中,有4个重点需要强调。

首先需要指出,DevOps并没有取代敏捷及精益实践,而更像是吸收了两者。我跟同事、客户和培训学员进行了很多交流,发现不熟悉敏捷开发的人在DevOps中找到了很多新奇与有趣的东西。有相关培训和经验的人,则为DevOps与精益、Scrum和看板等其他实践之间的很多重叠而感到诧异。在我看来,把这个现象称作“重叠”也不尽准确,DevOps更多地是从敏捷开发和精益生产中借用及扩展了思路,这方面的话题会在第2章中展开讨论。

其次,DevOps的本质在于这样一个事实,即IT部门与业务部门所考虑的不仅是软件开发,而是整个价值链。价值链始于业务干系人产生的新想法,经过开发、测试和部署,最后到运维。这个方法有助于在端到端价值链中分析、识别及消除瓶颈。它建立的反馈回路,不仅是从价值链的末端回到始端,也包括每个步骤之间乃至每个步骤之中产生的反馈。DevOps对系统性方法、基于约束工作、实现反馈等要素给予极大的关注,这些会在后文中详细描述。

接下来,强调应用DevOps所获得的预期价值也很重要,这体现了信息技术带来的更大回报。通常的看法是,信息技术使得组织可以获得更多的收益(通过创造新机会或者消除现有约束)、降低风险并优化资源。如果应用得当,DevOps可以处理好这3个方面。这并不是说组织没有DevOps就不能以传统方式从信息技术中获益。然而,DevOps提供了更大的价值,体现为加速新产品及产品补丁上市、更快响应客户需求、改善IT系统可用性与可持续性、更高效使用有限资源等。这些话题会在1.3节中展开讨论。

最后,在定义的末尾明确地指出了如图1.6所示的3个基本要素:文化、组织和技术手段。事实上,这就是关于流程、人和技术的经典准则。DevOps领先者及其追随者的经验都表明,这几个要素依然至关重要。

图1.6 三个基本要素

这里把DevOps的定义分解成几个组成部分,以方便强调其中的关键点。

DevOps包含以下四个部分。

 

1.敏捷软件开发与精益生产思想的一种演进。

2.应用到IT端到端的价值链中。

3.使得业务基于现代信息技术。

4.通过文化、组织与技术变革而获得更大的成功。