什么是 DevOps?

已完成

缩写形式“Dev”和“Ops”分别取代孤立的“开发”和“操作”。 其寓意旨在创建通过共享的高效做法和工具协同工作的多学科团队。 基本 DevOps 实践包括敏捷规划、持续集成、持续交付以及应用程序监视。 DevOps 是一个持续的过程。

协作 DevOps 周期图,包含计划、构建、持续集成、部署、运行和持续反馈。

了解周期时间

让我们从有关软件开发的基本假设着手。 我们将使用 OODA(观察、判断、决策和行动)周期来描述它。 OODA 循环最初旨在确保试点成功,现在已成为领先于竞争对手的绝佳办法。 首先观察和了解业务、市场、需求、当前用户行为和提供的遥测数据。 然后,通过确定可以提供的选择(可能包含试验)来调整和定位。 接下来,决定要追求的目标,并通过向实际用户提供工作软件来实现。 你会看到这一切都具有周期性。

观察、定位、决策和行动周期图。

从数据中获取信息

建议通过数据来了解下一周期中要执行的操作。 通过大量的体验报告可知,约三分之一的部署得到的是负面的业务结果。 约三分之一的结果为正面,还有三分之一没有带来变化。 快速中止对业务无益的影响,加倍推进对业务有益的效果。 有时将此方法称为透视或坚持。

坚持经过验证的学习路径

快速中止或加倍推进的速度取决于周期时间。 此外,也取决于该循环所需的时间或精简术语。 周期时间决定反馈收集的速度,收集的反馈又决定了下一循环中将发生什么。 每个周期中收集的反馈应该是真实、可操作的数据。 我们称之为经过验证的学习路径。

坚持经过验证的学习路径图。有益、无影响和有害。

缩短周期时间

当你采用 DevOps 做法时:

  • 通过更短的工作批次来缩短周期时间。
  • 使用更多自动化。
  • 强化发布管道。
  • 改进遥测。
  • 更频繁地部署。

经过验证的学习路径与部署频率图。有益、无影响和有害周期。

优化经过验证的学习路径

部署频率越频繁,可进行的试验就越多。 你就有更多机会在每个周期中进行透视或坚持并获得经过验证的学习路径。 这种对经过验证的学习路径的加速获取就是改进的价值所在。 将它视为你实现的进度与避免的失败的总和。

经过验证的学习路径与部署频率图。有益、无影响和有害周期。改进指标的值。