64 lines
2.2 KiB
Markdown
64 lines
2.2 KiB
Markdown
---
|
||
title: "Error Budget"
|
||
type: concept
|
||
tags: [SRE, Reliability, DevOps Metrics]
|
||
sources: [devops-maturity-model-from-traditional-it-to-advanced-devops]
|
||
last_updated: 2026-04-26
|
||
---
|
||
|
||
## 定义
|
||
|
||
错误预算(Error Budget)是允许的、一定时间段内系统可以承受的错误和失败的数量或比例。它是一个平衡可靠性目标与创新速度的风险管理工具。
|
||
|
||
## 核心概念
|
||
|
||
错误预算源于 SRE(Site Reliability Engineering)理念,核心思想是:
|
||
|
||
> 如果你的服务可靠性目标是 99.9%,那么你有 0.1% 的"错误预算"可以用于实验和发布。
|
||
|
||
## 计算方式
|
||
|
||
```
|
||
Error Budget = (1 - Reliability SLO) × Time Period
|
||
|
||
例如:
|
||
- 月 SLO = 99.9%
|
||
- 月错误预算 = 0.1% × 30天 × 24小时 = 0.72 小时(约 43 分钟)
|
||
```
|
||
|
||
## 在 DevOps 成熟度模型中的位置
|
||
|
||
在 DevOps 成熟度衡量指标体系中,错误预算是一个重要指标:
|
||
|
||
> "Error Budget — The permissible rate of errors and failures in production."
|
||
|
||
错误预算的使用策略因 DevOps 成熟度阶段不同而异:
|
||
|
||
| 成熟度阶段 | 错误预算使用方式 |
|
||
|-----------|----------------|
|
||
| Phase 1-2 | 无正式错误预算概念 |
|
||
| Phase 3 | 开始建立 SLO,但未充分利用错误预算 |
|
||
| Phase 4 | 明确的错误预算政策,用于平衡创新与可靠性 |
|
||
| Phase 5 | 数据驱动决策,团队自主利用错误预算进行实验 |
|
||
|
||
## 与相关概念的关系
|
||
|
||
- [[MTTR]]:错误预算与 MTTR 共同定义系统可靠性曲线
|
||
- [[Change Failure Rate]]:高变更失败率会快速消耗错误预算
|
||
- [[Deployment Frequency]]:高部署频率需要配合错误预算管理以维持可靠性目标
|
||
- [[DevOps Maturity Model]]:错误预算是衡量组织成熟度的重要指标之一
|
||
|
||
## 错误预算政策示例
|
||
|
||
```yaml
|
||
SLO: 99.9%(每月 43 分钟错误预算)
|
||
策略:
|
||
- 错误预算充足(>50%):可自由发布和实验
|
||
- 错误预算中等(25-50%):谨慎发布
|
||
- 错误预算不足(<25%):冻结发布,专注可靠性
|
||
- 错误预算耗尽:停止所有非关键变更
|
||
```
|
||
|
||
## 来源
|
||
- [[devops-maturity-model-from-traditional-it-to-advanced-devops]]
|