An SLI is a measurement of user-perceived behaviour, an SLO is the target for that measurement, and an SLA is a commercial commitment with consequences. The error budget, the difference between perfect reliability and the SLO, is what makes the objectives actionable by giving teams explicit permission to spend it on change.
Choosing indicators that mean something
A good indicator measures what a user experiences. Availability of the checkout journey, latency of the search endpoint at the ninety-fifth percentile, and success rate of payment authorisation are meaningful. CPU utilisation and pod restart counts are diagnostic signals, not service level indicators.
Measure at the point closest to the user where you still control the result. Server-side measurement is usually preferable to synthetic probing because it reflects real traffic, provided that client-side and network effects are understood.
Start with two or three indicators per service. Availability and latency cover most needs, with a correctness or freshness indicator where data staleness matters, such as reporting or search indexing.
- Measure user journeys, not component health.
- Prefer server-side measurement of real traffic.
- Start with availability and latency, add freshness where it matters.
- Keep the indicator count small enough to be acted upon.
Objectives and error budgets
An objective sets the target for an indicator over a window, such as ninety-nine point nine percent of checkout requests succeeding over thirty days. A rolling window is usually better than a calendar month because it avoids a reset that hides chronic problems.
The error budget is what remains: at ninety-nine point nine percent over thirty days, roughly forty-three minutes of unavailability is permissible. That budget is the practical tool, because it gives a product and engineering team a shared quantity to spend on releases and migrations.
The policy attached to the budget is what makes it real. When the budget is exhausted, the default should be a freeze on reliability-affecting change until service is restored, with a documented exception path. Without a consequence, the budget is decoration.
| Objective | Allowed unavailability | Typical use |
|---|---|---|
| 99% | About 7 hours 12 minutes | Internal tools, non-critical paths |
| 99.5% | About 3 hours 36 minutes | Standard business services |
| 99.9% | About 43 minutes | Customer-facing transactional systems |
| 99.95% | About 21 minutes | Revenue-critical journeys |
| 99.99% | About 4 minutes | Requires deliberate architectural investment |
SLAs versus SLOs
A service level agreement is a commercial instrument with financial or contractual consequences. An objective is an internal engineering target. The critical rule is that internal objectives must be stricter than the external commitment, because you need headroom to detect and correct a problem before it breaches a contract.
Expose objectives to customers selectively. Publishing current reliability builds trust, but publishing an internal objective as a commitment converts an engineering target into a liability.
Define the measurement method precisely in any agreement: what counts as a failure, how it is measured, what is excluded, and how the window is calculated. Ambiguity in the definition produces disputes during exactly the incident when nobody has time for them.
- Keep internal objectives stricter than external commitments.
- Publish reliability data without converting targets into commitments.
- Define failure, exclusion and window precisely in any agreement.
- Keep the number of formal agreements small.
Operating the practice
Dashboards should show the indicator, the objective, the remaining budget and the burn rate. Burn rate matters more than the current level, because a budget consumed in two days will exhaust long before the window ends even if today's number looks acceptable.
Alert on burn rate rather than on individual failures. A fast burn over a short window is a page; a slow burn is a ticket. This single change removes most alert noise while catching genuine degradation earlier.
Review objectives quarterly. As the system and its users change, an objective that was appropriate a year ago may be too loose to be useful or too tight to be achievable, and either way it stops influencing behaviour.
- Display burn rate alongside remaining budget.
- Page on fast burn, ticket on slow burn.
- Review and revise objectives quarterly.
- Tie post-incident review actions back to the indicators.
Frequently asked questions
What is the difference between an SLI, an SLO and an SLA?
An indicator measures user-perceived behaviour, an objective is the internal target for that measurement, and an agreement is a commercial commitment with consequences. Internal objectives should always be stricter than external commitments.
What is an error budget?
The amount of unreliability permitted by an objective over a window. At ninety-nine point nine percent over thirty days it is roughly forty-three minutes, and teams may spend it on releases and migrations.
How should we alert on reliability?
Alert on burn rate rather than individual errors: a fast burn over a short window pages the on-call engineer, while a slow burn creates a ticket. This removes most noise while detecting real degradation sooner.
References
Engineer your next strategic platform
Estimate your project investment and delivery timeline instantly, or schedule an architectural discovery call with our engineering leadership.