SLOs (Service Level Objectives)

Definition

A Service Level Objective (SLO) is a measurable target for how a service should perform, usually expressed as a percentage or numerical value.

Think of it as the goal for service reliability, performance, or availability that a team commits to.

It sits within the hierarchy:


Examples of SLOs

  1. Availability:
    • “Service will be available 99.9% of the time per calendar month.”
    • SLI = uptime percentage.
  2. Latency:
    • “95% of requests complete within 300ms.”
    • SLI = response time distribution.
  3. Error Rate:
    • “Fewer than 0.1% of HTTP requests return 5xx errors in a 30-day window.”
    • SLI = error rate.
  4. Throughput:
    • “System can handle at least 5,000 requests per second during peak load.”
    • SLI = request rate.

Why SLOs Matter

  • Customer trust: Define reliability in measurable terms.
  • Engineering focus: Prevent “chasing 100%” (which is costly and unrealistic).
  • Balance: Encourage a trade-off between speed of innovation and reliability.
  • Error budget:
    • If SLO is 99.9% availability, then the “error budget” is 0.1% downtime allowed.
    • Helps decide when to prioritize reliability vs. new features.

Example in Practice

Suppose your SLA with a client requires 99.5% uptime.

  • Your internal SLO: 99.9% uptime (to have margin above SLA).
  • Your SLI: Actual measured uptime over the last 30 days.

If uptime drops to 99.6%:

  • SLA is safe (above 99.5%).
  • But your SLO is breached (below 99.9%).
  • That breach signals reliability risk before SLA penalties occur.

Key takeaway:
SLOs are measurable internal goals for service performance (availability, latency, errors, throughput). They link real measurements (SLIs) to customer commitments (SLAs) and guide engineering trade-offs using error budgets.

Similar Posts

Leave a Reply