Rationale

GitLab uses Error Budgets to balance feature development with reliability. Teams must stay within their error budget to maintain deployment velocity.

Requirements

  1. Service must maintain >= 99.9% availability (SLA)
  2. Error budget = 100% - SLA target
  3. If error budget is exhausted, team must focus on reliability
  4. 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 percentage
  • error_budget_remaining: Current budget remaining
  • incident_count: Number of incidents in period
  • mttr: Mean time to resolution

References