What is the difference between SLOs and SLAs?
SLOs, SLAs, and SLIs form a hierarchy for defining, measuring, and committing to reliability. Understanding how they relate is central to site reliability engineering.
An **SLI (Service Level Indicator)** is the raw measurement — the actual metric that tells you how the system is behaving. Examples: request success rate (successful requests / total requests), request latency at the 99th percentile, data freshness, availability uptime. An SLI must be precisely defined: which requests count as 'successful'? 5xx errors only, or also timeouts? This precision matters because SLOs are built on SLIs.
An **SLO (Service Level Objective)** is an internal target: a threshold on an SLI that the engineering team commits to meeting. For example: "99.9% of HTTP requests will succeed over a 30-day rolling window" or "p99 latency will be below 200ms." SLOs are owned by engineering. They are not disclosed to customers — they are the operational targets that, if met, give confidence the SLA will not be breached. SLOs should be set *tighter* than SLAs to leave a safety margin.
An **SLA (Service Level Agreement)** is a contract between a service provider and a customer. It typically specifies both the reliability commitment (often weaker than the internal SLO — e.g., 99.5% uptime) and the consequences of breach (service credits, refunds, contract penalties). SLAs are negotiated by business and legal teams, not engineering alone. Breaching an SLA has financial and reputational consequences.
The critical operational concept built on SLOs is the **error budget**: if the SLO is 99.9% availability, the error budget is 0.1% of request failures — equivalent to ~43 minutes of downtime per 30-day window. The error budget is consumed by outages, slow deployments, and risky changes. When the error budget is depleted, engineering must stop feature work and focus on reliability improvements. When the budget is healthy, engineering can move faster and take more risk. This creates an objective, data-driven framework for balancing reliability investment against feature velocity.
A common failure mode is setting SLOs aspirationally rather than empirically — start by measuring your current SLI baseline and set the initial SLO slightly below it, then tighten as reliability improves.
| Aspect | SLI | SLO | SLA |
|---|---|---|---|
| Definition | The raw measurement/metric | Internal reliability target | External contractual commitment |
| Audience | Engineering | Engineering / product | Customers / legal |
| Example | 99.95% requests succeeded | Target: 99.9% success | Commit: 99.5% uptime |
| Breach consequence | N/A (it's a fact) | Error budget depleted; slow down changes | Financial penalty, service credits |
| Who sets it | Engineering | Engineering / SRE | Business, legal, customer |
| Typical tightness | Measured reality | Tighter than SLA | Looser than SLO (safety margin) |
Correctly distinguishes internal target (SLO) from contractual commitment (SLA) and identifies SLI as the measurement. May not explain error budgets or the safety-margin relationship.
Defines all three precisely, explains the error budget concept and how it operationalizes SLOs for decision-making, describes the SLO-tighter-than-SLA safety margin, and can discuss how to set SLOs empirically rather than aspirationally.
Reading the answer is step one. Explaining it unprompted — under interview pressure — is what actually matters. Get AI-graded feedback on your answer with follow-up probes on your weak points.
Get Graded — Free Assessment