Files
nexus/wiki/concepts/Error-Budget.md
2026-04-27 16:26:34 +08:00

64 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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是允许的、一定时间段内系统可以承受的错误和失败的数量或比例。它是一个平衡可靠性目标与创新速度的风险管理工具。
## 核心概念
错误预算源于 SRESite 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]]