Observability and Operations · Observability Foundations
SLOs, Error Budgets and Alerting
Define reliability targets and alert on what users feel.
An SLI measures user experience (e.g., proportion of checkout requests that succeed in under 500 ms). An SLO sets a target over a window (99.9% over 30 days). The error budget (0.1%) is the allowed unreliability — spend it on releases and experiments; when it's exhausted, prioritize reliability. Alert on burn rate (how fast the budget is being consumed) with multi-window rules, so pages are urgent and actionable while slow burns become tickets.
SLO: 99.9% of checkout requests succeed (non-5xx) over 30 days → budget = 0.1%
Page if: burn rate > 14.4 over 1h AND > 14.4 over 5m (2% of budget in 1 hour)
Page if: burn rate > 6 over 6h AND > 6 over 30m (5% of budget in 6 hours)
Ticket if: burn rate > 1 over 3d (budget would run out)
burn rate = (observed error ratio) / (1 - SLO)
Common pitfalls
- SLOs on internal metrics users don't feel (CPU).
- 100% targets (no room to change anything).
- Alerting on every error spike instead of budget burn.
Key points
- SLI → SLO → error budget
- Burn-rate alerts, multi-window
- Budget policy guides release decisions
Further reading: Google SRE Workbook: Alerting on SLOs
Practice questions
Why alert on burn rate instead of a raw error-rate threshold?
Answer
Burn rate ties alerts to user impact relative to the SLO, catching both fast severe incidents and slow chronic degradation while ignoring harmless blips.
What should happen when the error budget is exhausted?
Answer
Per the agreed policy: pause risky launches, focus engineering on reliability work, and resume feature velocity once the budget recovers.
Open in the app to mark lessons complete, take notes and track your progress.