DevOps 指标

如何定义和衡量DevOps的成功?

对于DevOps而言,您无法改善自己无法衡量的内容的古老格言与其他实践一样。为了兑现DevOps的承诺-更快地交付更高质量的产品-团队需要收集,分析和衡量众多指标。这些DevOps指标提供了DevOps团队所需的基本数据,以使其具有可见性并控制其开发流程。  

什么是DevOps指标?

DevOps指标是直接显示DevOps软件开发管道的性能并帮助快速识别和消除流程中任何瓶颈的数据点。这些指标可用于跟踪技术能力和团队流程。

DevOps的核心是模糊开发团队与运营团队之间的界限,从而使开发人员与系统管理员之间的协作更加紧密。通过度量标准,DevOps团队可以测量和评估协作工作流,并跟踪实现高级目标的进度,包括提高质量,缩短发布周期和改善应用程序性能。

四个关键的DevOps指标

尽管有许多衡量DevOps性能的指标,但以下是每个DevOps团队应衡量的四个关键指标。 

变更准备时间

要跟踪的关键DevOps指标之一是变更的提前期。不要与周期时间混淆(在下面讨论),更改的前置时间是指代码更改提交到干线分支到处于可部署状态之间的时间长度。例如,当代码通过所有必要的预发布测试时。

变更失败率

更改失败率是指在生产后需要热修复或其他补救措施的代码更改百分比。这不能衡量在部署代码之前通过测试捕获并修复的故障。

部署频率

理解将新代码部署到生产中的频率对于了解DevOps成功至关重要。许多从业人员使用术语“交付”来表示发布到生产前阶段环境中的代码更改,而保留“部署”来指发布到生产中的代码更改。  

平均恢复时间

平均恢复时间(MTTR)衡量从部分服务中断或全部故障中恢复所需的时间。这是一个重要的跟踪指标,无论中断是由于最近部署还是由于孤立的系统故障引起的。 


如何衡量,使用和改进DevOps指标

与DevOps生命周期的其他元素一样,持续改进的文化也适用于DevOps指标。在开发的每个阶段都能获得快速反馈的能力,以及实施反馈的技能和权威,是高绩效团队的标志。在DevOps的“ Accelerate”一书中,作者注意到,上面列出的四个核心指标得到了高性能软件团队采用的24种功能的支持。我们在下面介绍了其中的大多数功能(CI/CD,测试自动化,小批量工作,监控和持续学习),但是值得阅读“加速”以更深入地研究支持这些实践的研究。 

变更准备时间

绩效较高的团队通常以小时为单位来衡量交货时间,而绩效相对较低的中低绩效团队则以几天,几周甚至几个月来来衡量交货时间。   

测试自动化,基于主干的开发以及小批量工作是缩短交付周期的关键要素。这些实践使开发人员可以快速收到关于其提交的代码质量的反馈,以便他们可以识别和纠正任何缺陷。如果开发人员处理独立分支机构中存在的大型变更,并依靠手动测试进行质量控制,则几乎可以保证较长的交货时间。    

变更失败率

高绩效团队的变更失败率在0%至15%之间。 

缩短交货时间的相同做法(测试自动化,基于中继的开发以及小批量工作)与更改失败率的降低相关。所有这些实践使缺陷更易于识别和修复。 

跟踪和报告变更失败率不仅对于识别和修复错误很重要,而且对于确保新代码发布符合安全要求也很重要。

部署频率

高绩效团队可以按需部署变更,并且通常一天要做多次。绩效较低的团队通常仅限于每周或每月部署一次。  

按需部署的能力需要一个自动部署管道,该管道应包含前面各节中引用的自动测试和反馈机制,并最大程度地减少人工干预的需求。 

平均恢复时间

绩效较高的团队通常可以在不到一个小时的时间内从系统故障中快速恢复,而绩效较低的团队则可能需要长达一周的时间才能从故障中恢复。 

从故障中快速恢复的能力取决于快速确定何时发生故障,部署修补程序或回滚导致故障的任何更改的能力。这通常是通过连续监视系统运行状况并在发生故障时向操作人员发出警报来完成的。操作人员必须具有必要的流程,工具和权限来解决事件。 

对MTTR的关注与以往对平均故​​障间隔时间(MTBF)的关注有所不同。它反映了现代应用程序日益增加的复杂性,因此也增加了对失败的预期。它还加强了不断学习和改进的实践。团队无需等到部署“完美”即可避免任何失败(并因此重置旧的MTBF计分板),而是继续部署。MTTR不会责怪破坏“完美”的MTBF记录,而是鼓励无怨无悔的回顾来帮助团队改善其上游流程和工具。   


其他相关指标

另一个相关的度量标准是周期时间,它是功能请求的提交与功能投入生产之间的时间长度。这可以帮助到敏捷与Sprint规划,积压疏导等,但团队提供因为在开始和部署生命周期的最后阶段变异的有用数据,指标来衡量与比较有用的DevOps是更改交付时间如前面所讨论。

在精益产品管理中,重点是价值流映射,即从产品或功能概念到交付的流程的可视化。DevOps指标为有效的价值流映射和管理提供了许多基本数据点,但应与其他业务和产品指标一起进行增强,以进行真正的端到端评估。例如,冲刺燃尽图可以深入了解估算和计划流程的效率,而净促销者得分则表明最终的交付成果是否满足客户的需求。 


结论…

持续改进是实践DevOps的团队的核心宗旨。跨变更,变更失败率,部署频率和MTTR的提前期测量和跟踪性能的能力使团队能够加快速度并提高质量。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁