System Design · Architecture under constraints

What are SLIs, SLOs and SLAs, and how do error budgets work?

Easyslisloerror budgetUpdated Oct 2026
Quiz this track

Short answer

An SLI is a measured indicator, an SLO is an internal target for that indicator, and an SLA is an external contract with consequences. The error budget is the allowed shortfall from the SLO.

These terms are often conflated. An SLI is a number you measure, such as the fraction of requests served successfully in under 300 milliseconds. An SLO is the target you choose for that SLI over a window, such as 99.9 percent over 28 days. An SLA is a legal or commercial agreement with a customer, usually looser than the SLO and carrying credits or penalties.

Choosing a good SLI

  • Measure what users experience, ideally at the edge or client
  • Define the population precisely: which requests, regions and time window
  • Use a ratio of good events to valid events rather than an average latency
  • Keep the number of SLIs small and tied to a user journey
  • Include freshness or correctness where staleness is the real failure

An error budget is one minus the SLO. At 99.9 percent over 28 days, the budget is about 40 minutes of full unavailability, or an equivalent number of failed requests. It turns reliability into a shared resource: the team can spend it on risky launches, and when it is exhausted, feature work pauses in favor of reliability.

Alert on burn rate, not on a single threshold. A fast burn over a short window catches a severe outage, while a slow burn over days catches a gradual leak. Multi-window alerts reduce noise. A 2 percent budget burn in one hour is much more urgent than the same burn spread over a month.

An SLO of 100 percent is not a goal; it is a guarantee of infinite cost and no safe deploys. Pick a target the product can afford, measure it honestly, and make the consequences of missing it explicit before an incident.

Follow-ups you should expect

Interviewers use these to check whether the first answer was understanding or memorisation.

  1. 1Why should an SLO be stricter than an SLA?
  2. 2How do you compute an error budget for a request-based SLI?
  3. 3What is a multi-window burn-rate alert?
  4. 4What do you do when the error budget is exhausted?

Say it in the interview

An SLI is the measurement, an SLO is the internal target, and an SLA is the external contract with penalties. The error budget is the gap between the SLO and perfect reliability, and it makes the trade-off between shipping and stability explicit. I alert on burn rate across multiple windows so a fast outage pages while a slow leak still gets noticed. An SLO of 100 percent is not realistic and would prevent any change.

Use this as a model, not a script. Saying it in your own words is what makes it survive follow-up pressure.

Related questions

Reading is step one

Now say it out loud.

Understanding an answer and delivering it under pressure are different skills. Rehearse this topic in a live System Design mock interview and get scored feedback on depth, clarity and confidence.