首页 > 其他分享 >DORA指标:公司业务成果的“占卜师”

DORA指标:公司业务成果的“占卜师”

时间:2023-08-30 09:33:47浏览次数:41  
标签:MTTR 部署 DevOps 成果 故障 DORA 交付 占卜师

2009 年,受 John Allspaw 和 Paul Hammonds 在 Velocity 上演讲的启发,Patrick Debois 组织了一次名为“DevOps Days”的会议。早期,公众对 DevOps 持有褒贬不一的看法且大部分企业高层人员对其并不重视。DevOps 本应将技术人员们团结在一起,却难以定义,更难以衡量,因此很难提出令人信服的支持或反对理由。在这篇文章中,我将从 DORA 指标出发,探索 DevOps 实践与业务成果之间的预测联系。
 

DevOps 现状报告的由来

2012 年,Alanna Brown 开始编写年度《DevOps 现状报告》。后来与 Gene Kim、Nicole Forsgren 和 Jez Humble 组成了一个强大的团队。Nicole Forsgren 是一位具有丰富研究资历的博士,她领导了 2013 年至 2017 年的研究工作。每年,该团队都会对全球数万名不同工作角色和行业领域的技术人员进行调查。他们检查结果、寻找结论、并公布数据和他们的研究成果。他们的研究结论常常受到很多人的关注。
 

如何在技术领域进行性能基准测试?

为了了解为什么有些团队的表现比其他团队更好,首先需要一个衡量 IT 团队“绩效”的标准。DORA 小组讨论了各种传统指标(例如代码行数、故事点和利用率等)所面临的挑战,发现仅根据个人或团队投入的工作来定义他们的绩效是有问题的。
 

因此需要选择关注结果而不是产出。当他们这样做的时候,他们注意到了 4 个特定指标的独特之处,这 4 个指标涵盖了绩效和稳定性的平衡。这些指标被称为 "DORA 指标"。

  • 部署频率(Deployment frequency)

  • 变更交付时间(Lead time for changes)

  • 平均恢复时间 (Mean Time to Recovery, MTTR)

  • 更改失败率 (Change failure rate)
     

当团队表现更好时,特别是在这些指标方面,他们看到了独特的、统计上显著的、可预测的业务成果改善,包括:

  • 盈利能力(profitability)

  • 市场份额(market share)

  • 生产力(productivity)
     

这种联系不仅存在于 "科技公司"(即以软件产品著称的公司),所有业务领域都是如此。到 2018 年,高绩效的技术团队为每个企业带来了竞争优势。更重要的是,DORA 继续讨论了其他 "非营利 "组织,在这些组织中,积极成果并不完全由银行存款余额决定。他们再次发现,DORA 指标是预测成功的可靠指标。
 

DORA 衡量标准为何有效?

DORA 指标之所以有趣,是因为它们能促进各种正反馈循环,同时强化速度和质量方面的良好实践。花费更少的情况下,这种组合可以让团队更快地交付质量更好的软件。
 

部署频率

正如 Chuck Rossi 在 Facebook 工作时所观察到的 "如果我们想要更多变化,就需要进行更多部署"。Chuck 面临着提高开发速度的压力。为了提供更多变更,Facebook 的部署变得越来越大、越来越复杂。然而,随着部署的增加,其可靠性也大大降低。一旦部署失败,就会造成严重后果。发现问题就像在数据中心大海捞针。Facebook 很难通过扩大部署规模来实现其生产率目标。
 

通过专注于从根本上提高部署频率而不是部署规模,Facebook 取得了更大的成功。他们能够交付更多更改,同时减少重大部署失败。当出现问题时,诊断起来更容易,修复速度也更快。他们了解到,生产力是部署频率的函数,而不是部署规模的函数。
 

为了从根本上提高部署频率,我们需要对组织层面的交付流程进行不同的思考。如果每次部署都需要两周的测试周期、过于形式的审查流程和 48 小时的停机时间窗口,我们就无法每周执行多次部署,更不用说每天执行 10 次部署了!
 

当目标设置为提高部署频率时,我们就需要了解交付时间。
 

变更交付时间

在 Accelerate 中,交付时间被定义为开发人员开始某项工作与该工作在生产中交付(并验证)之间的时间。(他们明确不计算某些错误修复或功能请求在高优先级 Jira 工单的长尾积压中等待的时间。)
 

低绩效公司以月为单位衡量交付时间,而绩效较高的公司则以小时为单位衡量交付时间。对于表现不佳的企业来说,他们的大部分漫长的交付时间都投入在测试、批准和验证上,因此他们理所当然地认为,想要加快行动就需要在质量或安全方面做出牺牲。
 

然而,对于大多数以前没有认真考虑过交付时间的组织来说,通过寻找流程中最长的等待、延迟和错误发生在哪里,然后进行更改或自动化步骤来避免,能够有在交付时间上获得巨大改进。减少这些问题,通过将大批量的变更分解为更小范围的、可独立交付的批次,团队将会收获另一个巨大的提升。这样不仅可以更快、更安全地交付,同时也能更容易地进行调整,且不会影响当前的进度。
 

持续较短的交付时间并不意味着仓促开发工作或跳过测试阶段的结果,而是更智能的团队合作和优先考虑的自动化工作的结果,使代码得到及时审查、更快地发现错误、提高质量、更安全的部署和更好的敏捷性。
 

平均恢复时间 (MTTR)

理解 MTTR 的最佳方法是将其与平均故障间隔时间(Mean Time Between Failure, MTBF)进行对比。对 MTTR 的关注意味着我们更关心减少故障所带来的影响,而不是完全避免故障的发生。相比避免故障,我们更注重故障时恢复的能力。我们还意识到显著降低部署频率和交付时间的安全举措也应当被避免,因为这些举措同样会产生系统性风险,即更长的交付时间或更高的部署风险等。
 

如果我们的故障可以在几分钟内修复,且这些故障只影响一小部分用户,同时所有数据都可以快速恢复,那出现故障就变得没那么可怕了。因此我们应当把更多精力放在恢复故障的能力上,而不是将一味捕捉每一个错误和故障。
 

当我们展示 MTTR(而非 MTBF)方面的持续改进时,就更容易省去不必要的形式流程。这可以有效缩短交付时间、提高部署频率、缩小部署规模,并带来更安全的部署和更好的 MTTR。
 

变更失败率

测试是 DevOps 中经常被遗忘的部分。在没有适当测试的情况下,持续部署是一种比以前更快地将错误部署到生产环境的方法。
 

虽然我们对 MTTR 而非 MTBF 的关注表明我们接受故障的发生,但这并不意味着我们会在故障发生时感到高兴。DevOps 是关于构建质量,通过小规模且频繁的部署,让部署过程保持平稳。
 

但在测试环节,我们需要快速进行检查,因此需要投资于自动化单元测试、集成测试、试运行部署和冒烟测试。在这个过程中,着重点在于频繁、快速、小规模的代码审查,而不是流于形式的缓慢、批量审查。需要注意的是,尽管我们总是试图减少部署失败的可能性,与试图减少部署失败的总数并不相同,总是担心部署失败的总数是否增加会分散注意力。
 

请参考以下信息,考虑哪家公司提供更高质量的产品:

 

B 公司的失败频率明显更高。然而,它可能被用户认为是更可靠的服务。A 公司的停机时间大约是原来的 3 倍,这将为用户带来巨大影响和损失。
 

通过将对 MTTR(减少故障影响)的关注与提高部署可靠性(由变更故障率定义)的共同努力相结合,即便部署失败的总数增加,仍然可以从根本上提高部署频率,同时提高质量。
 

参考链接
https://www.devopsdigest.com/dora-metrics-the-predictive-link-between-devops-practice-and-business-outcomes

标签:MTTR,部署,DevOps,成果,故障,DORA,交付,占卜师
From: https://www.cnblogs.com/sealio/p/17666400.html

相关文章

  • 斩获“年度突破成果”奖!天翼云构建强大AI算力基础,制胜人工智能新时代
    8月18-19日,2023中国算力大会在宁夏银川举办。在大会“年度突破成果”发布环节,中国电信天翼云《基于异构多云环境下的息壤算力调度应用实践》荣获2023中国算力大会“算力中国·年度突破成果”奖,天翼云算力分发网络平台“息壤”的智能高效算力调度能力再次获得权威认可。 与大会......
  • 斩获“年度突破成果”奖!天翼云构建强大AI算力基础,制胜人工智能新时代
    8月18-19日,2023中国算力大会在宁夏银川举办。在大会“年度突破成果”发布环节,中国电信天翼云《基于异构多云环境下的息壤算力调度应用实践》荣获2023中国算力大会“算力中国·年度突破成果”奖,天翼云算力分发网络平台“息壤”的智能高效算力调度能力再次获得权威认可。与大会同期召......
  • 【成果展示】go-astilectron实现的算法工具
    仓库地址:https://github.com/go-astilectron-demo-crypt_tools......
  • 设计、施工项目成果汇报还在用截图、工具软件录屏?图新说软件新推出高清截图、漫游录屏
        工程设计施工领域,项目成果汇报是非常重要的一环。然而,许多设计师和施工方还在使用传统的截图或借助软件录屏的方法来展示他们的方案设计成果、施工进度结果。这种方法不仅效率低下,而且很难准确地传达设计理念和施工效果。为了解决方案汇报难题,中科图新地球打造图新说......
  • 科技成果鉴定测试有什么意义?
    科技成果鉴定测试是指通过一系列科学的实验和检测手段,对科技成果进行客观评价和鉴定的过程。通过测试,可以对科技成果的技术优劣进行评估,从而为科技创新提供参考和指导。一、科技成果鉴定测试的意义1、帮助客户了解科技产品的性能特点和技术指标。通过严格的科学测试,客......
  • BSN“五、十、百”工程实施半年成果丰硕,助力数字化转型和高质量发展
    为推动“云网链”融合的新基建赋能数字经济高质量发展,将区块链服务网络(BSN)打造成为中国数字经济和社会治理的核心区块链公共服务平台,2023年2月,在“第三届区块链服务网络(BSN)全球合作伙伴大会”上,国家信息中心、中国移动共同宣布实施BSN“五、十、百”工程,结合BSN城市算力中心和各地......
  • 百度王海峰披露飞桨生态最新成果 开发者数量已达800万
    8月16日,由深度学习技术及应用国家工程研究中心主办的WAVESUMMIT深度学习开发者大会2023在北京举行。百度首席技术官、深度学习技术及应用国家工程研究中心主任王海峰做了主题演讲。王海峰首次对外表示,大语言模型具备了理解、生成、逻辑、记忆等人工智能的核心基础能力,为通用人工智......
  • 2023RISC-V中国峰会,澎峰科技成果发布抢先看!
    2023RISC-V中国峰会(RISC-VSummitChina2023)将于8月23日至25日在北京香格里拉饭店举行。本届峰会将以“RISC-V生态共建”为主题,结合当下全球新形势,把握全球新时机,呈现RISC-V全球新观点、新趋势。本届峰会采用“主会议+技术研讨会+展览展示+同期活动”的方式,预计将举办超过2......
  • 人工智能产业应用研究院(人工智能实验室及成果展示篇)
    人工智能实验室与时俱进的人工智能实验室高度符合国家十四五规划及新基建等国家战略,在原有实验室基础实验室和教学内容增加了边缘计算、物联网、DevOPSCI/CD等内容。下面介绍人工智能实验室主要涉及的基础建设内容,通过建设的内容后续可以进行实训,包括不限于十四五规划中提到的智慧......
  • 给Fedora 新手几句有用的话
    新手学习应该选择哪个版本的linux呢?新手建议先从Ubuntu入手,安装及应用软件比较好操作,希望对你有帮助,也欢迎你加入LINUX系统使用者的行列。总之如果你选择Fedora,就别去比Ubuntu好用不好用,专心用好你的Fedora,她虽然没有wubi,你用好她以后,你会发现她十分棒。有用的话:1、RDHL系列liveC......