Rationale
GitLab uses Error Budgets to balance feature development with reliability. Teams must stay within their error budget to maintain deployment velocity.
Requirements
- Service must maintain >= 99.9% availability (SLA)
- Error budget = 100% - SLA target
- If error budget is exhausted, team must focus on reliability
- No feature deployments allowed when budget is depleted
Error Budget Policy
| Budget Status | Action |
|---|---|
| > 50% remaining | Normal development |
| 25-50% remaining | Increased code review rigor |
| 10-25% remaining | Reliability-focused sprint |
| < 10% remaining | Feature freeze, reliability only |
| Exhausted | Full stop on new features |
Metrics
availability: Uptime percentageerror_budget_remaining: Current budget remainingincident_count: Number of incidents in periodmttr: Mean time to resolution
References
- Engineering Error Budgets: https://handbook.gitlab.com/handbook/engineering/error-budgets/
- SLA Policies: https://handbook.gitlab.com/handbook/engineering/sla-policies/