DevOps关键指标

“不能衡量,就无法管理;不能管理,就无法改进。” ,这句话对于DevOps或其它研发管理实践来说,是正确的。为了实现DevOps的承诺:”更快地交付更高质量的产品“,DevOps团队需要收集、分析和度量许多指标。这些指标是团队所需的基本数据,让开发流水线具备了可见性和可控性。

什么是DevOps指标?

DevOps指标是直接展示DevOps软件开发流水线的能力数据,有助于快速识别和消除流程中的瓶颈。这些指标不仅能用于跟踪团队流程,也能反映团队的技术能力。

DevOps的核心是打破开发和运维团队之间的界限,从而实现开发人员和系统管理员之间的更好协作。DevOps指标允许团队度量和评估协作流程并跟踪达成高级目标的进度,包括提高质量、加快发布周期和改进产品性能等。

4个关键DevOps指标

尽管用于度量DevOps的指标很多,但以下是每个DevOps团队都应该度量的4个关键指标。

Lead time for changes(变更的前置时间)

变更的前置时间是指从代码更改提交到主干分支直到它处于可部署状态之间的时长。

Change failure rate(变更失败率)

变更失败率是指生产环境部署后需要通过修改代码进行修复或补救的百分比。它不包含部署到生产环境之前发现的故障。

Deployment frequency(部署频率)

了解新代码部署到生产环境中的频率,对于认识到DevOps的成功至关重要。这里说的“部署”是指发布到生产环境中的代码更改。这个指标不度量预生产环境中的部署。

Mean time to recovery(平均恢复时间)

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

如何度量、使用和改进DevOps指标

与DevOps生命周期的其他环节一样,持续改进的文化也适用于DevOps指标。在开发的每个阶段都能快速获得反馈,并有能力和权限根据反馈进行有效调整,是高效团队的标志。在DevOps一书《Accelerate》中,作者指出,上面列出的四个核心指标得到了高效软件团队采用的24项能力的支持。我们在下面介绍了大多数这些能力(CI/CD、测试自动化、小批量工作、监控和持续学习等),但值得去阅读《Accelerate》以便更深入地了解支持这些实践的研究。

Lead time for changes(变更的前置时间)

高效团队通常以小时为单位度量前置时间,而中低绩效团队则以天、周甚至月为单位度量前置时间。

测试自动化、基于主干开发和小批量工作是缩短前置时间的关键因素。这些实践使开发人员能够快速收到关于他们提交的代码质量的反馈,以便他们可以识别和修复缺陷。如果开发人员需要在不同分支上处理大量更改,并且靠手动测试进行质量控制,那么肯定会需要很长的前置时间。

Change failure rate(变更失败率)

高效团队的变更失败率会低于15%。

与缩短前置时间的实践相同——测试自动化、基于主干开发和小批量工作——与降低变更失败率密切相关。所有这些做法都使缺陷更容易识别和修复。

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

Deployment frequency(部署频率)

高效团队可以做到按需部署,通常一天部署多次。绩效较低的团队通常只能做到每周或每月部署。

按需部署的能力需要一个自动化部署管道,它结合了前面部分中提到的自动化测试和反馈机制,并最大限度地减少了人工干预的需求。

Mean time to recovery(平均恢复时间)

高效团队能够从系统故障中快速恢复——通常不到一个小时——而低效团队可能需要长达一周的时间才能从故障中恢复。

从故障中快速恢复取决于快速识别故障的能力,和部署修复或回滚的能力。这通常是通过持续监控系统健康状况并在发生故障时提醒运维人员来完成的。运维人员必须拥有必要的流程、工具和权限来解决问题。

MTTR来自平均故障间隔时间 (MTBF,mean time between failures) 的实践历史的转变。它反映了现代软件产品的复杂性增加,从而接纳了出现故障的预期。它还加强了持续学习和改进的实践。以前的团队期望进行“完美”部署来避免故障,但现在团队不会指责故障的出现,而是鼓励通过回顾来帮助团队改进他们的流程和工具。

其它相关指标

另一个相关指标是cycle time(周期时间),即从收到功能请求直到功能投入生产环境之间的时间长度。它可以提供有用的数据来帮助敏捷团队进行迭代规划、backlog梳理等。不过,为了度量部署阶段的变化趋势,更有用的DevOps度量指标是前面讨论的Lead time for changes(变更的前置时间)

在精益产品管理中,重点关注价值流,这是从功能需求到交付的流程可视化。DevOps指标为有效的价值流映射和管理提供了许多基本数据,但还要结合其它业务和产品指标进行增强,才能进行真正全面的端到端评估。例如,迭代燃尽图可以深入了解估算和计划的有效性,而Net Promoter Score(净推荐值)则表明最终可交付成果是否满足客户的需求。

综上所述…

持续改进是实践DevOps的团队的核心原则。通过度量和跟踪变更的前置时间变更失败率部署频率平均恢复时间,可以使团队能够加快速度并提高质量。

DevOps关键指标相关推荐

  1. 移动端apm关键指标_3个经常被忽视的APM关键功能

    移动端apm关键指标 APM核心功能已不再足够. 市场领先的应用程序超越了所有人,树立了其他人必须匹配的新标准. 每当任何针对消费者或企业的Web应用程序达到新的性能高峰时,都会为用户期望值设定基准. ...

  2. 每个数据工程师必须关心的 12 个关键指标

    数十年来,IT 管理员一直使用故障指标来跟踪其基础架构的可靠性和性能,无论是 PC 硬件.网络还是服务器. 毕竟,大多数专家都同意,要管理好某件事,就需要对其进行衡量. 数据工程师和 DataOps ...

  3. Prometheus监控的最佳实践——关于监控的3项关键指标

    本文来自Weaveworks的工程师Anita Burhrle在Rancher Labs与Weaveworks联合举办的Online Meetup上的技术分享.在此次分享中,嘉宾们讨论了如何使用Ran ...

  4. 5g的八大关键指标_你对5G技术标准了解多少(干货)

    业界齐心协力打造能满足移动宽带业务和物联网业务的5G技术标准,近期国际标准组织3GPP宣布冻结第一个独立组网5G标准.5G具有大带宽.低时延.灵活配置的特点,设计全新的基于服务化系统架构,并具备网络切 ...

  5. 浅谈软件性能测试中关键指标的监控与分析(转)

    浅谈软件性能测试中关键指标的监控与分析 一.软件性能测试需要监控哪些关键指标? 软件性能测试的目的主要有以下三点: Ø  评价系统当前性能,判断系统是否满足预期的性能需求. Ø  寻找软件系统可能存在 ...

  6. 万字解读 | SaaS 行业,如何衡量与优化关键指标?

    「 如果你无法衡量它,你就无法改善它.」 - Lord Kelvin 想真正了解和完善一家 SaaS 公司,你就需要对一些关键指标有深入地了解.相对传统公司而言,SaaS 公司要复杂得多.那些能有效驱 ...

  7. 短视频出海的关键指标、挑战及应对

    正文字数:5840 阅读时长:9分钟 近年来,短视频行业发展迅速,当前短视频出海的趋势依旧强劲,面对海外未知且复杂的网络环境挑战,合理制定关键指标,衡量用户体验尤为重要.Akamai售前技术顾问Jas ...

  8. 【线上分享】短视频出海 — 用户体验衡量关键指标与优化策略

    当前短视频出海趋势依旧强劲,不少团队目标明确,直击诸如中东.东南亚.南美等新市场,面对未知且复杂的网络挑战,因地制宜,合理制定技术指标衡量用户体验至关重要. 11月26日 19:30,我们邀请到了Ak ...

  9. 7.1 定义关键指标KPI

    定义关键指标KPI: 若要在 Microsoft SQL Server 2005 中定义关键性能指标 (KPI),应当首先定义与 KPI 关联的 KPI 名称和度量值组.KPI 可以与所有度量值组或与 ...

最新文章

  1. datax 不识别字段过滤_卷烟厂工艺空调混风段板式过滤器改进与应用
  2. java虚拟机启动参数Xms,启动JVM时,-Xms和-Xmx参数是什么?
  3. android 发送http请求
  4. 【top-k】Answering Topk Queries with MultiDimensional Selections: The Ranking Cube Approach
  5. Windows API一日一练(86)GetClipboardData函数
  6. 消息通信库ZeroMQ 4.0.4安装指南
  7. java如何停止函数循环_在Java中使用break来退出循环是不好的做法吗?
  8. 每日一笑 | 对不起,我还没下班...
  9. Tcl8.6原生支持oop了
  10. Python接通图灵机器人
  11. 虚拟机+centOS挂载ISO步骤
  12. Android之Adapter总结
  13. 实现类似shared_ptr的引用计数
  14. 古剑奇谭服务器维护,古剑奇谭ol7月10日更新维护公告 古剑网络版更新内容汇总...
  15. Open Sans字体
  16. ubuntu16.04/20.04 xfce4以及windows下面使用护眼软件redshift
  17. Elasticsearch启动报错:warning: ignoring JAVA_HOME=C:\Program Files\Java\jdk1.8.0_191; using bundled JDK
  18. win10笔记本右键磁盘无响应,鼠标一直转圈圈,或卡死
  19. 2021-12-21 数据库系统原理复习提纲(一)
  20. 核心层,汇聚层,接入层,交换机性能差别

热门文章

  1. 基于OpenCV的视频道路车道检测
  2. FLEET 框架:研发时间减半质量倍增的秘密
  3. 使用Python调用新浪微盘接口,创建自己的云盘应用
  4. c语言枚举类型编程,浅析C语言枚举类型
  5. Java学习之路4——Java数组
  6. YAMMER使用手册
  7. Node.js monly图片批量下载爬虫1.00
  8. 2018北京理工大学电子设计大赛总结
  9. 火狐中国版历史版本pc_为什么选择Firefox,以及如何在PC上获取它?
  10. 计算机硬件系列电子书籍