SLO
Service Level Objective. A target value for a service level metric that defines the expected reliability of a service.
Detailed Explanation
An SLO is a target reliability level for a service. For example: "99.9% of requests will complete in under 200ms over a 30-day window." SLOs are derived from SLIs (Service Level Indicators—the actual measurements) and drive engineering decisions through error budgets.
SLOs should be: achievable (not aspirational), meaningful (aligned with user expectations), and measurable (based on SLIs). Setting SLOs too high wastes engineering effort on diminishing returns. Setting them too low disappoints users. Common SLOs: 99.9% availability (three nines), 99.99% (four nines), and response time targets.
Why It Matters
SLOs quantify reliability expectations and drive engineering priorities through error budgets. They prevent both over-investing and under-investing in reliability.
Real-World Example
A team sets an SLO of 99.95% availability for their API. They measure SLIs (uptime, latency, error rate) and track whether they are meeting the SLO. If the error budget is consumed, they shift focus from features to reliability.
When to Use
For every production service. SLOs provide a clear, measurable target for reliability and help teams make informed decisions about tradeoffs.
Advantages
- Quantifies reliability expectations
- Drives engineering priorities via error budgets
- Prevents over-investing in reliability
- Provides data for capacity planning
- Aligns engineering with business goals
Disadvantages
- Requires accurate SLI measurement
- Setting the right SLO is challenging
- Can be gamed if metrics are poorly chosen
- Requires organizational buy-in
- Regular review needed as system evolves
Related Terms
Frequently Asked Questions
What is the difference between SLO and SLA?
SLO is an internal target (99.9% uptime). SLA is a contractual commitment to customers (with financial consequences for missing it). SLOs are typically stricter than SLAs to provide a buffer.
How do I choose an SLO?
Start by measuring current performance (SLIs), understand user expectations, and set an SLO that is achievable but meaningful. A common starting point: 99.9% availability and 200ms p95 latency.
What is a burn rate?
The burn rate measures how fast you are consuming your error budget. A burn rate of 1x means you are consuming budget at the expected rate. A burn rate of 10x means you will exhaust the budget in 1/10th of the time.
Can I have multiple SLOs per service?
Yes. Common SLOs: availability (uptime), latency (response time), throughput (requests/second), and error rate (percentage of failed requests). Each has its own SLI and error budget.
How do I track SLO compliance?
Use monitoring tools (Prometheus, Datadog) to measure SLIs. Calculate SLO compliance over rolling windows (28 days, 90 days). Dashboard error budget consumption. Alert when burn rate is too high.