SLA vs SLO vs SLI: what is the difference?
Three acronyms that decide what "reliable" means in writing. Here they are, with the arithmetic.
In short
An SLI (service level indicator) measures how a service performs, such as the share of requests that succeed. An SLO (service level objective) is the target for that measure, such as 99.9% over 30 days. An SLA (service level agreement) is a contract promising a level of service to customers, with consequences if missed.
Also called: Service level agreement, Service level objective, Service level indicator, Error budget
Why it matters when your prototype goes to production
Once customers pay, "it is usually up" stops being an answer. They will ask what you promise, and you should know what you measure before you promise anything. The order matters: pick the indicators, set objectives a little stricter than any agreement, and only then sign an SLA.
What the nines mean
| Availability | Allowed downtime in a 30-day month | Per year |
|---|---|---|
| 99% | 7 hours 12 minutes | About 3.7 days |
| 99.9% | 43 minutes 12 seconds | About 8.8 hours |
| 99.95% | 21 minutes 36 seconds | About 4.4 hours |
| 99.99% | 4 minutes 19 seconds | About 53 minutes |
Error budgets
The gap between 100% and your SLO is your error budget, the unreliability you can afford. Google's SRE book describes it as the budget of how much unreliability is remaining. While budget remains, ship; when it runs out, slow releases and fix reliability first.
Common questions
What does 99.9% uptime mean?
That the service may be unavailable for about 43 minutes in a 30-day month, or about 8.8 hours in a year.
Should a startup offer an SLA?
Only for what you measure and can meet. Start with internal SLOs; offer an SLA when customers need one and your data shows you can keep it.
Related terms
Read next
Sources
More on this: Production architecture & security · All glossary terms
Built something in Lovable you want people to rely on?
We are the engineers who take it the rest of the way — secured, tested, released and supported.