什么是 DevOps?
缩写形式“Dev”和“Ops”分别取代孤立的“开发”和“操作”。 这个想法是创建多学科团队,这些团队现在共同使用共享和高效的实践与工具。 重要的 DevOps 做法包括敏捷规划、持续集成、持续交付和监视应用程序。 DevOps 是一个不变的旅程。
了解流程周期时间
让我们从有关软件开发的基本假设开始。 我们将用 OODA(观察,调整,决定,行动)循环过程来描述它。 OODA 循环最初旨在确保试点成功,现在已成为领先于竞争对手的绝佳办法。 首先观察业务、市场、需求、当前用户行为和可用的遥测数据。 然后,通过确定可以提供的选择(可能包含试验)来调整和定位。 接下来,你决定追求什么,你通过向真实用户交付工作软件来采取行动。 你会看到这一切都具有周期性。
从数据中获取信息
我们建议您使用数据来指导下一个周期的工作。 许多体验报告告诉我们,大约三分之一的部署将产生负面的业务结果。 大约三分之一将产生积极的结果,三分之一则没有影响。 快速中止对业务无益的影响,加倍推进对业务有益的效果。 有时将此方法称为透视或坚持。
坚持经过验证的学习路径
快速中止或加倍推进的速度取决于周期时间。 此外,也取决于该循环所需的时间或精简术语。 周期时间确定收集反馈的速度,以确定下一循环中会发生什么情况。 在每个周期中收集的反馈应该是事实性和可操作的数据。 我们称之为经过验证的学习。
缩短周期时间
采用 DevOps 做法时:
- 可以通过在较小的批次中工作来缩短周期时间。
- 使用更多自动化。
- 强化发布管道。
- 改进遥测。
- 更频繁地部署。
优化经过验证的学习
部署的频率越高,可以试验的频率就越大。 你拥有越多调整方向或坚持不懈的机会,就能在每个周期获得越多经过验证的学习。 这种对经过验证的学习路径的加速获取就是改进的价值所在。 将其视为你实现的进度和避免的失败的总和。