The Hierarchy
SLI (indicator): the MEASUREMENT
"fraction of GET /feed requests serving < 300ms"
SLO (objective): the TARGET on an SLI
"99.5% of GET /feed requests < 300ms, over 28 days"
SLA (agreement): the CONTRACT with consequences
"if feed availability drops below 99.5%, credits issued"
SLI ──target──► SLO ──penalties/business terms──► SLA
you control: SLIs and SLOs.
lawyers control: SLAs. engineers should influence both.
Choosing Good SLOs
principle 1: MEASURE WHAT USERS EXPERIENCE
✗ "CPU below 70%" ← internal; users don't feel CPU
✗ "99.9% uptime" ← up for whom? doing what?
✓ "99% of searches return results in <500ms" ← felt quality
principle 2: LEAVE ERROR MARGIN FOR INNOVATION
target = user-happiness-threshold minus buffer:
users happy at 99.9%? set SLO 99.5%.
the gap is your error budget — fuel for velocity.
principle 3: FEW AND SHARP
3-5 SLOs per service max:
availability (success rate), latency p99,
freshness (data age), correctness/critical-check
twenty vague SLOs govern nothing.
The Error Budget Connection
SLO defines the budget:
99.5% over 28d → 0.5% of requests may fail
at 1M req/day → 50M × .005 = 250k failures/month allowed
budget states drive behavior:
budget remaining ██████░░ → ship features aggressively
budget burning ███░░░░░ → stabilize; risky changes pause
budget spent ░░░░░░░░ → reliability work ONLY;
releases freeze until recovered
this converts reliability from vibes-vs-pressure arguments
into a shared number both product and engineering obey.
Operating SLOs
| Activity | Cadence |
|---|---|
| Burn-rate alerts (fast+slow windows) | real-time |
| Budget review in planning | per sprint |
| SLO review: still the right targets? | quarterly |
| SLA negotiation with legal/business | per contract cycle |
burn-rate alerting (multiwindow):
fast burn: 2%/5min of budget → page NOW
slow burn: 5%/6h → ticket today
avoids pager-fatigue of naive threshold alerts.
Interview Framing
“What are the SLOs for your design?” scored answer: 3–4 concrete user-facing SLIs with numbers, error-budget math shown, degradation behavior tied to budget state (“feed degrades to cached when budget half-spent”), distinction from SLA mentioned once. Designs with declared SLOs read as operated systems rather than science projects — declare them.
Premium Content
Unlock Service Level Objectives and all premium lessons with a subscription.
All premium lessons
Ad-free experience
Priority support
From ₹199.99/year — See plans