What Are SLIs, SLOs, and SLAs?
Understand the difference between SLIs, SLOs, and SLAs with clear examples, and how they drive reliability decisions in DevOps.
Expected Interview Answer
An SLI (Service Level Indicator) is a measured metric of user-facing performance like request success rate, an SLO (Service Level Objective) is the internal target for that SLI such as 99.9% success over 30 days, and an SLA (Service Level Agreement) is the external, often contractual, promise made to customers that typically includes financial penalties if breached.
The SLI is a real, continuously measured number pulled from telemetry — for example, the percentage of HTTP requests completing in under 300ms. The SLO is a deliberately chosen target for that SLI, set slightly stricter than the SLA to leave a safety margin, and it drives internal decisions like how much error budget remains for risky releases this quarter. The SLA is the outward-facing commitment, usually looser than the SLO, and breaching it typically triggers service credits or contractual penalties, which is why teams never want to operate right at the SLA line. In practice, an SLI might read 99.95% availability, the SLO target could be 99.9%, and the SLA promised to the customer could be 99.5% — giving the team room to detect and fix degradation internally before it ever becomes a customer-visible, contractually significant breach.
- Gives engineering teams a data-driven way to balance reliability against feature velocity
- SLOs create a shared, objective language between engineering and product
- SLAs formalize customer trust with measurable, enforceable commitments
- The safety margin between SLO and SLA absorbs normal operational noise
AI Mentor Explanation
The SLI is like a bowler’s actual measured economy rate this season, a real number pulled from the scorecards. The SLO is the internal target the coaching staff sets for that bowler, say under 4 runs an over, used to decide selection and workload. The SLA is the public promise made to sponsors about the team’s overall performance standard, which carries financial consequences if badly missed. Coaches always set the internal SLO stricter than the public SLA so there is room to course-correct before sponsors ever notice a problem.
Step-by-Step Explanation
Step 1
Define the SLI
Choose a real, measurable indicator tied directly to user experience, such as request success rate or latency.
Step 2
Set the SLO
Pick an internal target for that SLI, stricter than any external commitment, over a defined rolling window.
Step 3
Track the error budget
The gap between 100% and the SLO becomes the allowed budget for risk, incidents, and releases.
Step 4
Honor the SLA
Ensure the looser, contractual SLA is never breached by keeping operations well within the stricter internal SLO.
What Interviewer Expects
- Clear distinction between measured (SLI), targeted (SLO), and contractual (SLA)
- Understanding that SLOs should be stricter than SLAs to leave a safety margin
- Awareness of how SLOs connect to error budgets and release decisions
- Ability to give a concrete numeric example distinguishing all three
Common Mistakes
- Using SLI, SLO, and SLA interchangeably
- Setting the internal SLO equal to or looser than the external SLA
- Choosing an SLI that does not reflect real user experience
- Forgetting that SLA breaches usually carry financial consequences
Best Answer (HR Friendly)
“An SLI is the actual number we measure, like our real success rate. An SLO is the internal goal we set for that number, a bit stricter than what we promise customers. An SLA is the external, often contractual, promise to customers that usually comes with penalties if we miss it. Keeping our internal SLO tighter than the SLA gives us room to catch and fix problems before they ever become a customer-facing, contractual issue.”
Code Example
slo:
name: checkout-availability
sli:
metric: successful_requests / total_requests
target: 0.999 # internal SLO, stricter than the SLA
window: 30d
external_sla: 0.995 # contractual promise to customers
error_budget_minutes: 43.2Follow-up Questions
- Why should the internal SLO always be stricter than the external SLA?
- How do you choose a good SLI for a new service?
- What happens operationally when an error budget is fully consumed?
- How would you communicate an SLO breach to a non-technical stakeholder?
MCQ Practice
1. What is an SLI?
The SLI is the actual measured indicator, such as request success rate, pulled directly from telemetry.
2. Why is an SLO typically set stricter than the corresponding SLA?
A stricter internal SLO gives the team room to detect and fix degradation before it becomes a contractual SLA breach.
3. What typically happens when an SLA is breached?
SLAs are often contractual, so breaching them typically triggers service credits or financial penalties.
Flash Cards
What is an SLI? — A measured indicator of real user-facing performance, like success rate.
What is an SLO? — The internal target set for an SLI, stricter than any external SLA.
What is an SLA? — The external, often contractual, promise made to customers with penalties if breached.
Why keep SLO stricter than SLA? — To leave a safety margin so problems are fixed before a costly contract breach.