Short answer. An SLI is a measured signal of how your service behaves (for example, the share of successful requests). An SLO is the internal target for that signal, such as 99.9% over 30 days. An SLA is the external contract with a customer where the SLO is legally committed and tied to penalties. You measure SLIs, set SLOs as goals, and promise SLAs to customers.
Three terms in one sentence
The easiest way to keep them straight:
The SLI measures. The SLO sets the target. The SLA promises the customer and pays out money when broken.
- SLI (Service Level Indicator) — the actual metric: availability, share of fast responses, error rate.
- SLO (Service Level Objective) — the target value of an SLI over a window: "99.9% successful requests over 30 days".
- SLA (Service Level Agreement) — the contract with a customer that fixes the SLO and defines penalties (refunds, service credits).
What an SLI is and the common types
An SLI is always a ratio of "good events" to "total events". The most common types are:
- Availability — the share of successful requests or uptime minutes.
- Latency — the share of requests faster than a threshold, for example < 300 ms.
- Error rate — the percentage of 5xx responses out of all responses.
- Freshness — the share of data updated on time.
The availability formula
Availability is computed by request or by time:
Availability (by request) = successful requests / total requests × 100%
Availability (by time) = (period − downtime) / period × 100%
Example over 30 days (43,200 minutes):
downtime = 43 minutes
Availability = (43200 − 43) / 43200 × 100% = 99.900%
The nines table: how much downtime each SLO allows
"Nines" are a handy shorthand for availability. Here is the downtime each level permits over different periods:
| SLO | Downtime per month | Downtime per year |
|---|---|---|
| 99% (two nines) | ~7 h 18 min | ~3.65 days |
| 99.9% (three nines) | ~43 min 49 s | ~8 h 46 min |
| 99.95% | ~21 min 54 s | ~4 h 23 min |
| 99.99% (four nines) | ~4 min 23 s | ~52 min 36 s |
| 99.999% (five nines) | ~26 s | ~5 min 15 s |
How the error budget connects
A 99.9% SLO means the service may be down 0.1% of the time — that slice is the error budget. The math is simple:
Error budget = (1 − SLO) × period
SLO = 99.9%, period = 30 days (43,200 minutes):
Budget = 0.001 × 43200 = 43.2 minutes of downtime per month
If 30 minutes of downtime already happened this month:
remaining = 43.2 − 30 = 13.2 minutes of budget left
When the budget runs out, the team freezes risky releases and prioritises reliability. More on this in our error budget guide.
How to set sensible SLOs
- Start by measuring your current SLI over 30 days — that is your baseline.
- Set the SLO slightly above the current level, not "five nines for show".
- Each extra nine costs multiples more — decide whether the business needs it.
- An SLA is always looser than the SLO: the internal goal is stricter than the external promise to leave headroom.
How enterno.io helps you measure SLIs
enterno.io is external (synthetic) monitoring: it probes your service from the outside and collects availability as an SLI. The free plan gives 10 monitors at a 5-minute interval; paid plans check every minute or every 30 seconds for a sharper picture. It supports HTTP, SSL, Ping and DNS checks, alerts via Telegram, Slack, email, webhook, PagerDuty and Jira, plus multi-region checks from Russia, Europe and the US.
On a public status page you show customers your real availability, while monitors accumulate history for SLO calculations. For background jobs there is heartbeat monitoring.
FAQ
What is the main difference between an SLO and an SLA?
An SLO is the team's internal target and can change without legal review. An SLA is an external contract whose breach triggers compensation. An SLA is always built on top of a stricter SLO.
Which SLO should I start with?
For most web services 99.9% is a reasonable starting point: about 43 minutes of downtime per month, achievable without excessive cost.
Can I have an SLO without an SLA?
Yes, and that is normal. Internal teams often run on SLOs alone and add SLAs only when paying customers with contractual obligations appear.
How often should I revisit SLOs?
Quarterly. If the error budget is never spent, you can tighten the SLO; if it is regularly exceeded, invest in reliability or relax the goal.
Ready to measure your availability? Create monitors at enterno.io/monitors and start collecting SLIs today — the free plan needs no card.