Service objectives
Turn a reliability target into a number you can watch and budget you can spend.
An objective #
An objective pairs a target with a window. The target is the level of service you promise; the window is the period over which you are judged.
- Target — 99.9% of requests succeeding.
- Window — 7, 30 or 90 days.
- SLI — the service level actually achieved in the window.
- Budget remaining — how much of the allowed failure is left.
- Burn rate — how fast the budget is being spent.
- Status — on track, approaching the limit, or breached.
How the numbers work #
The service level indicator is the share of requests that succeeded. The error budget is the share of failures you may spend: a 99.9% target gives you 0.1%.
SLI = 100 - error rate
Error budget = 100 - target
Budget remaining = how much of the budget is unspent
Burn rate = budget spent / budget allowedBurn rate is speed, not total
A burn rate above 1 means you are spending the budget faster than the window allows. A rate far above 1 with a healthy budget remaining still means you are on course to miss the target.
Status #
- On track — the indicator is meeting the target.
- Approaching — the target is met but little budget remains.
- Breached — the indicator is below the target.
The daily series #
Each objective carries a daily series so you can see the day the target was missed. A single breach day inside a 30-day window is a warning; several is a trend.
Using objectives #
- Put an objective widget on the dashboard you watch daily.
- Alert on budget burn rate rather than on a single error.
- Review an objective's trend before agreeing to a new target.
An objective is a conversation, not a score. The number is useful because it makes the trade-off explicit: what you are willing to give up for the uptime you are promising.
Reading objectives together #
Objectives are derived from your services' real traffic, so an objective list reflects what your users actually experience. A service with no traffic has no objective to show.