Definition:
SLI, SLO, and SLA are three related concepts used in Site Reliability Engineering (SRE) to define, measure, and commit to the reliability and performance of a service.
| Term | Full Name | One-Line Definition |
|---|---|---|
| SLI | Service Level Indicator | The metric you measure |
| SLO | Service Level Objective | The target you set for that metric |
| SLA | Service Level Agreement | The contract you sign with consequences |
Think of it as: SLI is what you measure, SLO is what you aim for, SLA is what you promise (with penalties if broken).
Simple Analogy π Imagine a taxi service:
SLI = the actual time it takes for a cab to arrive (measured in minutes) SLO = internal goal: βcabs should arrive within 10 minutes 95% of the timeβ SLA = the contract with customers: βif your cab takes more than 15 minutes, you get a refundβ
Visual Relationship
What you What you What you
MEASURE TARGET PROMISE
β β β
βΌ βΌ βΌ
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β SLI βββββΆβ SLO βββββΆβ SLA β
β (metric) β β (goal) β β (contract) β
βββββββββββββββ βββββββββββββββ βββββββββββββββ
βOur uptime βWe aim for βWe guarantee is 99.97%β 99.9% upβ 99.5% or refundβ SLO is always stricter than SLA β you aim higher internally so you have a buffer before breaching the customer contract.
Example:
Imagine you run a payment processing API like Stripe.
SLI 1 β Availability:
"% of API requests that return HTTP 200"
β Currently: 99.95%
SLI 2 β Latency:
"p99 response time of /charge endpoint"
β Currently: 210ms
SLI 3 β Error Rate:
"% of payment requests returning 5xx errors"
β Currently: 0.04%
SLO 1 β Availability:
"99.9% of requests must succeed per 30-day window"
Error budget = 43.2 minutes downtime allowed/month
SLO 2 β Latency:
"p99 latency must stay under 300ms"
SLO 3 β Error Rate:
"Error rate must stay below 0.1%"
SLA (published to customers):
"We guarantee 99.5% monthly uptime.
If we fall below:
β 99.5%: 10% account credit
β 99.0%: 25% account credit
β 98.0%: 50% account credit
Measured monthly. Credits applied automatically."
The buffer in practice:
Internal SLO target β 99.9% (what the team aims for)
SLA guarantee β 99.5% (what customers are promised)
Buffer β 0.4% (room to fix issues before SLA breaches)
The gap between SLO and SLA is intentional β it gives the team breathing room before a real contractual breach occurs. π‘οΈ