13.3 度量驱动:建立 DevOps 度量体系与持续改进机制
1. 引言:没有度量就没有改进
在 DevOps 转型中,我们经常听到:
- “我们的部署速度变快了”
- “我们的故障变少了”
- “我们的效率提高了”
但这些主观感受无法量化,也无法证明改进的效果。
度量(Metrics)是 DevOps 成功的关键:
- 量化改进:用数据证明改进效果
- 发现问题:找出瓶颈和问题
- 持续优化:基于数据持续改进
2. DORA 指标:DevOps 的黄金标准
2.1 什么是 DORA?
DORA(DevOps Research and Assessment)是 Google 的研究项目,定义了 4 个核心指标:
部署频率(Deployment Frequency)
- 多久部署一次?
- 优秀:每天多次
- 一般:每周一次
- 较差:每月一次
变更前置时间(Lead Time for Changes)
- 从代码提交到生产需要多久?
- 优秀:< 1 小时
- 一般:1 天 - 1 周
- 较差:> 1 个月
变更失败率(Change Failure Rate)
- 部署失败的百分比?
- 优秀:< 15%
- 一般:15% - 45%
- 较差:> 45%
故障恢复时间(Time to Restore Service)
- 故障后多久恢复?
- 优秀:< 1 小时
- 一般:1 小时 - 1 天
- 较差:> 1 天
2.2 如何度量?
部署频率:
-- 统计每天的部署次数SELECTDATE(created_at)asdate,COUNT(*)asdeploymentsFROMdeploymentsWHEREstatus='success'GROUPBYDATE(created_at)变更前置时间:
-- 从代码提交到生产的时间SELECTAVG(TIMESTAMPDIFF(HOUR,commit_time,deploy_time))aslead_timeFROMdeployments变更失败率:
-- 失败的