Explain the difference between an SLI, an SLO and an SLA, with an example.
What the interviewer wants to hear
- SLI is a measured indicator of service health
- SLO is a target for an SLI over a time window
- SLA is an external contract with consequences
- SLOs are usually stricter than SLAs
- Gives a concrete example such as availability or latency
Model answer
An SLI, or service level indicator, is a measurement of how the service behaves for users, for example the ratio of successful HTTP requests to total requests, or the fraction of requests faster than 300 ms. An SLO, or service level objective, is the target we set for that SLI over a window, such as 99.9% of requests succeeding over 30 days. An SLA, or service level agreement, is a contract with customers that includes consequences like refunds if we miss it, for example 99.5% monthly availability. We keep the SLO stricter than the SLA so we notice and fix problems before we break a contract. The SLO also defines the error budget, which is the amount of unreliability we can accept.
Can you answer it under time pressure?
Take a timed easy round and get scored on every answer.
More easy Site Reliability Engineer questions
- What is an error budget and how does a team use it?
- What are the four golden signals, and why are they useful for monitoring?
- You are on call and get paged for a high error rate. What are your first steps?
- What is toil, and how would you reduce it on your team?
- What is the difference between monitoring and observability, and what are metrics, logs and traces each good for?
- Why do SRE teams manage infrastructure with code tools such as Terraform instead of clicking in a cloud console?
- Explain blue-green and canary deployments. When would you choose each?
- You are asked to build the main Grafana dashboard for a web API. What would you put on it, and how would you lay it out?
- What makes an on-call rotation healthy and sustainable for the engineers on it?