How do SLA, SLO and SLI relate to each other?
An SLI is a metric you measure, an SLO is the internal target you set for that metric, and an SLA is the contractual promise to a customer — indicator, objective, agreement, from the inside out.
* One availability line: measured SLI, chosen SLO, promised SLA — and the gap between the last two is your warning time. *
| Term | What it is | Its role in monitoring |
|---|---|---|
| SLI (Service Level Indicator) | The actually measured metric | The objective basis for judging SLO and SLA |
| SLO (Service Level Objective) | Internal reliability target | Operationalises the SLA and steers engineering teams |
| SLA (Service Level Agreement) | Contractual obligation towards customers | Proving compliance, avoiding contractual penalties |
Concretely, for the same service: the SLI is "99.93% of requests succeeded last month" — a number your monitoring computes. The SLO is "at least 99.95% must succeed" — a target you chose. The SLA is "we owe the customer a credit below 99.9%" — a clause in a contract.
The ordering is the point: set the SLO stricter than the SLA. The gap between them is your warning margin — the time in which you are failing your own target but not yet breaching a contract. A team whose SLO equals its SLA finds out it has a problem at the same moment the lawyers do.
Typical formulations: availability of 99.9% uptime per month; latency where 95% of requests finish under 200 ms; an error rate below 0.1% of failed transactions.
Go deeper:
Google SRE Book — Service Level Objectives — the chapter that made this vocabulary standard, including how to choose targets and error budgets.
Google Cloud — SRE fundamentals: SLAs vs SLOs vs SLIs — the short version with worked examples.
Service-level objective — Wikipedia — definitions and how SLOs sit inside an SLA.