DORA 指标:衡量整个架构的工程效能 - Archyl Blog

您追踪了部署。但您知道团队是否在变快吗?Archyl 现在可以直接从发布历史中计算 DORA 指标 — 部署频率、变更前置时间、变更失败率和平均恢复时间 — 支持项目和组织级别。

DORA 指标:衡量整个架构的工程效能

大多数工程团队能告诉你他们交付了什么。但很少有团队能告诉你交付有多快、多频繁出现故障、或者故障发生时恢复用了多久。部署次数有了。质量信号没有。

这个盲区的存在,是因为交付性能和架构文档一直生活在各自独立的世界中。您的 CI/CD 工具了解管道。您的架构工具了解系统。但两者都不足以回答真正重要的问题:您的团队在软件交付方面是否在进步?

DORA 指标弥合了这一差距——而 Archyl 现在可以从您的发布数据中自动计算这些指标。

四个关键指标

2018 年,DORA 团队(DevOps Research and Assessment,现为 Google Cloud 的一部分)发表研究表明,四个特定指标能比其他任何指标更好地预测软件交付性能。此后它们成为衡量工程效能的行业标准:

部署频率(Deployment Frequency) — 团队多久向生产环境部署一次。Elite 团队按需部署,每天多次。Low 团队在每月一次到每六个月一次之间部署。

变更前置时间(Lead Time for Changes) — 从代码提交到生产部署需要多长时间。Elite 团队以小时计量。Low 团队以月计量。

变更失败率(Change Failure Rate) — 部署中有多少百分比导致生产环境故障(需要热修复、回滚或补丁)。Elite 团队保持在 5% 以下。Low 团队超过 46%。

平均恢复时间(Mean Time to Restore) — 当生产故障发生时,恢复需要多长时间?Elite 团队在一小时内恢复服务。Low 团队需要一周到一个月。

DORA 的强大之处不在于单个指标,而在于四个指标的结合。一个每天部署十次但一半时间破坏生产的团队表现并不好。一个零故障但每季度只部署一次的团队过于保守。四个指标创建了一个同时奖励速度和稳定性的平衡计分卡。

Archyl 中的 DORA:基于您的发布数据构建

关于 DORA 指标的关键是:如果您正在追踪发布,原始数据已经存在。每个发布都有时间戳、状态和环境。这足以自动计算所有四个指标。

如果您一直在使用 Archyl 的发布管理——无论是通过 GitHub Actions、Webhooks 还是 REST API——您已经拥有数据。我们只需要做计算。

部署频率从给定时间窗口内成功的生产部署次数计算。如果您在过去 30 天内向生产发布了 45 个版本,部署频率为每天 1.5 次。

变更前置时间是从发布创建(或可用时的提交时间戳)到成功部署到生产之间的时间。Archyl 计算该期间所有发布的中位数。

变更失败率查看状态为 Failed 或 Rolled Back 的发布占总部署的百分比。如果您部署了 40 次,其中 3 次被回滚,CFR 为 7.5%。

平均恢复时间测量失败部署与同一环境下一次成功部署之间的时间。这捕捉了团队从事件中恢复的速度。

四个指标全部自动计算。无需配置,无需手动输入。如果您的发布正在流入 Archyl,DORA 指标已经在那里了。

DORA 计分卡

每个指标根据 DORA 研究建立的基准被分为四个性能级别之一:

  • Elite — 顶级性能。您处于全球工程团队的最高水平。
  • High — 强劲性能。您领先于大多数团队,但仍有改进空间。
  • Medium — 平均性能。有明确的改进领域。
  • Low — 低于平均。这些指标突显了交付管道需要关注的地方。

计分卡提供一目了然的视图:四张卡片、四个指标、四个级别。每张卡片显示当前值、带颜色指示器的性能级别,以及该级别含义的简要说明。您不需要记住 DORA 基准——计分卡为您解读数字。

总体性能级别由四个指标的组合计算。如果您的三个指标是 Elite,一个是 High,那么总体上您的表现处于 Elite 级别。

趋势图:方向比位置更重要

DORA 指标的单次快照告诉您在哪里。趋势告诉您在向哪里去。DORA 仪表盘包含趋势图,按时间绘制每个指标,让您看到情况是在改善、稳定还是退化。

选择时间段——7 天、30 天、90 天或自定义范围——趋势图显示您的轨迹。部署频率可能在稳步上升。前置时间可能在大型重构后出现峰值但正在恢复。变更失败率可能在健康水平上保持稳定。

趋势是将指标从性能回顾工具转变为持续改进工具的关键。您不会每季度检查一次 DORA 然后归档到报告中。您每周观察趋势,注意到前置时间上升时,在它成为问题之前进行调查。

对准您的架构

因为 Archyl 了解您的 C4 模型,DORA 指标不限于项目范围的聚合。您可以将指标范围限定到特定的系统或容器。

想知道仅 Payment Gateway 的部署频率?按该系统过滤。好奇 Notification Service 是否比 Account API 有更高的变更失败率?并排比较。

这就是架构感知指标真正有用的地方。项目范围的 MTTR 两小时听起来可能很好——直到您意识到 API Gateway 15 分钟恢复,而 Billing Service 需要 18 小时。范围化的指标揭示了平均值隐藏的异常值。

组织级 DORA 概览

对于管理多个项目的工程领导者,组织级 DORA 概览提供了工作空间中所有项目的鸟瞰图。

概览显示一个带有聚合性能级别的摘要栏,然后是项目卡片网格——每张显示四个 DORA 指标及其各自的级别。您可以立即发现哪些项目在 Elite 级别运行,哪些在挣扎。

这不是要让团队互相排名。而是要识别在哪里投资。如果一个项目的前置时间在上升而其他项目稳定,这是一个值得调查的信号。如果变更失败率全面偏高,也许问题是系统性的——共享基础设施、测试缺口或部署工具。

组织视图使用与项目视图相同的时间段选择器,因此您可以在跨项目比较时对齐时间窗口。

反馈循环

DORA 指标作为反馈循环的一部分效果最佳。以下是团队有效使用它们的方式:

  1. 设置发布追踪 — 使用 GitHub Actions、Webhooks 或 REST API 将 CI/CD 管道连接到 Archyl。发布开始自动流入。

  2. 建立基线 — 几周数据后,查看您的 DORA 计分卡。这是您的起点。不要评判——只需记录。

  3. 观察趋势 — 每周检查。指标是否朝正确方向移动?稳定就好。退化是信号。

  4. 调查异常 — 当指标变动时,将其范围限定到个别系统。通常,项目范围的变化是由一两个服务驱动的。

  5. 迭代 — 对交付流程进行更改并观察指标响应。更快的代码审查减少前置时间。更好的测试覆盖率降低变更失败率。功能标志减少 MTTR。

DORA 研究的关键洞察是,这些指标是结果,而非目标。不是通过更多部署来提高部署频率——而是通过消除使部署变慢或有风险的摩擦来改善。指标告诉您流程改进是否真正有效。

连接各点

DORA 指标是 Archyl 方法中的最新组成部分:反映现实而非仅仅意图的架构文档。

您的 C4 图表展示结构。API 合约展示接口。ADR展示决策。发布管理展示已交付的内容。现在 DORA 指标展示您的交付机器运行得如何。

每一层为前一层添加上下文。图表上的系统不再只是一个带箭头的方框——它是一个具有定义的 API、设计背后的文档化决策、部署历史和可衡量交付性能的服务。这就是图表和活的架构平台之间的区别。

开始使用

如果您已经在 Archyl 中追踪发布,DORA 指标现已可用。导航到项目的发布页面并切换到指标选项卡。您的计分卡和趋势图已经填充好了。

如果还没有设置发布追踪,从那里开始。按照发布管理指南连接您的 CI/CD 管道,然后在有几周的部署数据后回到指标选项卡。

对于组织级洞察,在不选择特定项目的情况下打开发布页面并切换到指标选项卡。概览将显示工作空间中所有项目及其各自的 DORA 分数。

您的架构知道什么存在。您的发布知道什么已交付。现在您的指标知道您交付得多好。


了解更多关于发布管理中的部署追踪,或探索架构变更请求如何为您的 C4 模型带来结构化审查工作流。