← all insights
#legacy-migration
SLOs without error budgets are just dashboards
2026-01-30
It's easy to stand up a dashboard. Grafana will happily show you a thousand lines, and everyone will nod. A dashboard tells you what happened. An error budget tells you what to do next, and that's the part most teams skip.
An error budget is permission to take risk
Your service will fail sometimes; that's fine. An SLO says 'we promise 99.9%', which means you're allowed to be down 0.1% of the time. The gap between perfect and your target is your error budget. Spend it deliberately.
- Under budget? Ship. Try the risky refactor. The budget says you can afford it.
- Over budget? Slow down. Freeze features, dig into the cause, protect the customer.
Make the budget do something
A budget nobody acts on is just a number. Tie it to a real response:
- Alert on burn rate, not just the raw error count. Fast burn is what actually hurts.
- Write down what happens when the budget is gone, before it is.
- Review it in the same meeting where you plan the roadmap, not in a postmortem nobody reads.
# Alert when we'd burn a week's budget in 4 hours
- alert: fast_burn
expr: (sum(rate(errors[5m])) / sum(rate(requests[5m]))) > (14 * (1 - 0.999))
for: 10mGet this right and on-call stops being a lottery. The system tells you when to be careful, and the rest of the time you get to sleep.