Middle
What is SLO (Service Level Objective)?
sobes.tech AI
Answer from AI
SLO — these are quantitative goals for service reliability, expressed as percentages over a specific period of time. They are based on SLA (Service Level Agreement) metrics but represent internal goals that the development team primarily strives for to improve service quality, not for legal obligations to users.
Examples of SLO:
- Availability: 99.9% successful HTTP requests over the last 30 days.
- Latency: 95% of HTTP requests should be completed in less than 100 ms over the last 5 minutes.
- Throughput: At least 1000 messages processed per second over the last hour.
Key components of SLO:
- Metrics: Measurable indicators (e.g., response time, error percentage).
- Target: The target value for the metric (e.g., < 100 ms, 99.9%).
- Time Window: The period over which the goal is achieved (e.g., over 30 days, over 5 minutes).
SLO helps to:
- Set clear expectations for service reliability.
- Focus the team's efforts on the most critical aspects of service operation.
- Determine when to invest in reliability rather than new features (and vice versa), using the concept of "Error Budget." Budget is the difference between 100% and SLO. For example, for an SLO of 99.9%, the error budget is 0.1%. If the service exceeds this budget, the team should halt the development of new features and focus on increasing reliability.
Unlike SLA, violation of SLO does not necessarily lead to legal consequences but serves as a signal to improve the service and review priorities.