本节书摘来自华章计算机《DevOps实战:VMware管理员运维方法、工具及最佳实践》一书中的第1章,第1.1节,作者:小特雷弗 A. 罗伯茨(Trevor A. Roberts Jr.)乔希·阿特韦尔(Josh Atwell)埃格勒·西格勒(Egle Sigler)著,更多章节内容可以访问云栖社区“华章计算机”公众号查看
第1章 DevOps简介
DevOps 是一种系统部署方法学,组织可以用它来改善项目部署的速度和质量。它不仅仅只是另一个流行词,传统的 IT 组织正在认真研究 DevOps 实践和工具对它们实现目标带来的帮助,这就是一个明证。DevOps 只对云规模组织(如 Netflix 和 PayPal)有好处吗?当然不是,DevOps 实践对任何规模的组织都有好处。
1.1 DevOps原则概述
DevOps包含组织互动和部署工具及实践的变化,主要强调识别和缓解生产率瓶颈。你们当中的一些人可能阅读过Gene Kim所著的《The Phoenix Project》,书中他将DevOps的重要原则归结为DevOps的三条道路:
第一条道路:优化从开发到IT运营的工作流。
第二条道路:缩短和放大反馈循环。
第三条道路:鼓励试验,快速从故障中学习。
这些原则和John Willis及其他DevOps思想领袖所讨论的流行概念CAMS(文化、自动化、计量和共享)相符:
文化:故障不应该立即引起过失认定,改变团队成员对部署方法和故障响应的思维方式。
自动化:人工方法容易招致故障。使用能够以可靠的方式重复、快速部署环境的工具。
计量:监控和分析对于成功必不可少,否则,故障的根源分析就不可能实现。
共享:个人/团队独占信息,以维持地位提升或者团队依赖性的“摇滚明星”心态在IT文化中站不住脚。这种心态不会加快生产速度,而会降低生产速度。
这些想法中,有些可能需要管理层的权力才能推动变化。那么,它们对于作为IT部门中虚拟化专家的读者来说意味着什么?你如何帮助引导这种变化?
虚拟化专家处于一个独特的地位,能够帮助开发团队和运营团队保持一致。在融合式基础设施的世界中,我们在规划和部署虚拟基础设施时已经熟悉了多学科(计算、网络、存储、安全等)的协调。这种专业知识对于协调组织中的开发和IT运营团队至关重要。
不管我们部署虚拟基础设施有多快,企业项目的成功将取决于从开发迁移到生产的效率。
想象一场接力赛:如果团队没有预先准备(回顾旧的影片、训练交接棒、力量训练等),在赛场上就肯定会犯错(掉棒、选手相互绊倒等)。IT运营将会为误期而受到责备,“影子IT”的使用将更加盛行。
在前一段中我强调“预先”,是因为当开发团队完成敏捷发行过程时,再启动部署工作往往已经太迟了。如果你的一位或者多位团队成员成为开发组织的顾问,在整个“冲刺”过程中都和他们在一起工作,而不仅仅在发行的末期,会怎么样呢?我们将以下面讨论的一个虚构项目作为背景,说明这些方法。
例如,假定你的公司DevWidgets决定发行一个软件即服务(SaaS)解决方案,包含其集成开发环境(IDE)和源代码管理(SCM)软件解决方案(Taao项目)。目标是利用互联网,通过在线结对编程、代码评审网络会议等手段,培养地理上分散的团队成员之间的互动。
Taao项目是高级领导层确认为公司旗舰产品的重大举措。有些高管人员曾经阅读过《The Phoenix Project》,他们希望对该项目实施“DevOps工作”,因为他们对过去的发行安排感到不满。CEO甚至考虑建立专门的DevOps团队,全部配属新雇用的人员(因为人数越多,项目总是推进得越快,对吗?)。
开发和IT组织的经理们努力使高级领导层保持镇静,请求领导给出时间,并承诺在当月月末提交一项计划。在这方面你能提供什么帮助?下面几节我们将探索你可能采取的措施。