定义 DevOps 方法

学习目标

  • 描述 DevOps 的动机。

DevOps 的定义

根据美国技术咨询公司 Thoughtworks 的首席技术官 Ken Mugrage 的说法,DevOps 是:“一种文化,在这种文化中,无论头衔或背景如何,人们都共同协作来构想、开发、部署和运营一个系统”。Ken Mugrage

DevOps 诞生的原因

许多组织由各自独立的团队分别开发和运行产品,这被称为在信息“孤岛”中运行产品。两者对生产环境以及如何衡量成功持有相互冲突的观点:

这是组织内开发与运维孤岛之间典型冲突的一个示例,各自依据相互冲突的目标和对成功的不同理解行事:

  • 开发团队力求将其变更快速传播到生产环境和最终用户,因为它可能以新特性和服务的数量来衡量,并且它寻求最终用户的反馈。

  • 与此同时,运维团队可能会尽最大努力保持场景尽可能稳定——因为故障会危及他们团队的目标。

  • 在这里,开发和运维只是所有角色的两个关键代表,这些角色通过为产品的价值流做贡献来促成产品的成功。此外,你经常会发现来自其他领域的专家直接参与其中,例如质量保证经理(QA)、用户助手(UA)、用户体验专家(UX)和产品经理(PM)。

最大的挑战并不在于孤岛内部,而在于孤岛之间。不同的孤岛打个比方可能讲不同的语言(即使用不同的术语并带来不同的上下文)并拥有不同的目标,这意味着它们缺乏对“完成”的共同定义。这可能导致各个孤岛之间的误解。

DevOps 是一种组织方法,它通过组建跨职能的自主团队来拒绝孤岛的产生。这意味着团队由直接影响特定产品创建和实施的成员组成。

注意

除了这些产品团队之外,你可能仍会为与产品价值流不直接相关的角色(例如 HR 或法务)保留职能孤岛。

这将最终形成类似于以下视频动画中示例的转型:

视频:本节含 SAP 官方视频(视频 ID 1_widqyloz),需在 learning.sap.com 在线观看。

这个跨职能团队具有以下特征:

  • 使用共同语言进行高效直接的沟通。

  • 共同的目标和原则。

  • 对项目完成的共同定义。

这些特征确保对项目的任何变更都是标准化的、为团队共同理解的,并且产品在市场范围内是可用的。

DevOps 是一场文化变革

回到 Ken Mugrage 的定义,下面探讨两个重要特征:

文化

DevOps 是一种文化方法,组织借此建立自主且相互信任的工作文化,团队拥有共同目标,并能从积极的失败文化中受益。因此,DevOps 不是一个你可以购买并实施的产品;它是一场文化运动和方法。要采用它,你需要开启一段渐进的旅程,并且必须持续改进。尽管它首先是一种文化方法,但工具仍将简化并增强你的转型,并帮助推动你持续的旅程,以实施、践行并演进 DevOps 的关键实践。

协同工作

这一特征再次强调了跨职能团队的重要性,即拥有不同背景的专家朝着共同目标努力,并对整体产品及其环境有共同的理解。跨职能团队涉及所有直接沿产品价值流工作的贡献者。

注意

DevOps 这一术语需要更加准确,因为它过于排他,仅聚焦于开发和运维。它未能涵盖所有在你产品价值流上工作的专家。尽管如此,SAP 建议仍沿用该术语,并仅在调查和讨论整体方法的某些部分时,考虑使用该术语的变体以强调某些方面,例如 DevSecOps,以强调在整体 DevOps 方法中对安全方面的关注。

总结

你现在可以描述 DevOps、其定义以及它在创建跨职能团队以打造更好产品方面的目的。

延伸阅读

What is DevOps - Explained | New Relic

本课其余配图

Silos conflicts

Culture icon

work together icon

本课其余配图

Silos conflicts

Culture icon

work together icon

本课其余配图

Silos conflicts

Culture icon

work together icon

本课其余配图

Silos conflicts

Culture icon

work together icon