What is the difference between SLI, SLO and SLA?
An SLI is a measured number like request success rate. An SLO is the internal target for that number, such as 99.9%. An SLA is the contract with customers that promises a level and usually names a penalty if missed.
Explain it simply
Use a cricket analogy. The SLI is your actual strike rate this season, a measurement. The SLO is the strike rate you set as your own goal, say 130. The SLA is the contract clause: "if strike rate falls below 120, the franchise cuts your fee".
- SLI (indicator): what you measure, such as the fraction of requests answered successfully in under 300 ms.
- SLO (objective): the target for that indicator over a period, such as 99.9% over 30 days.
- SLA (agreement): the external promise with consequences, such as service credits.
Teams set the SLO stricter than the SLA so they get warned before they break the contract. The gap between 100% and the SLO is the error budget: the amount of failure you can afford. If the budget is spent, slow down releases and fix reliability.
Example
Over 30 days a payments API served 1,000,000 requests.
Failed requests: 700
SLI = 999,300 / 1,000,000 = 99.93% success
SLO = 99.9% -> met (budget allowed 1,000 failures, used 700)
SLA = 99.5% -> met with marginWhat to say in the interview
"SLI is the measurement, SLO is our internal goal for it, and SLA is the customer contract with penalties. I keep the SLO tighter than the SLA and use the error budget to decide between shipping features and fixing reliability."