Info

SLOs are defined from the user’s perspective — they reflect what level of service the customer actually experiences and expects, not just what the system reports internally.

See also Site Reliability Engineering Book

SLO vs SLI vs SLA

flowchart LR

  SLI["SLI<br/><sub>Service Level Indicator</sub><br/>Metric you measure"]
  SLO["SLO<br/><sub>Service Level Objective</sub><br/>Target for the SLI"]
  SLA["SLA<br/><sub>Service Level Agreement</sub><br/>Contract based on the SLO"]

  SLI -->|feeds data into| SLO
  SLO -->|forms the basis of| SLA

  classDef metric fill:#eef7ff,stroke:#1475b2,stroke-width:1px;
  classDef objective fill:#eaffea,stroke:#2c8730,stroke-width:5px;
  classDef contract fill:#fff1e6,stroke:#c46b00,stroke-width:1px;

  class SLI metric;
  class SLO objective;
  class SLA contract;

A Service Level Objective (SLO) is a specific, measurable target for system performance or reliability — e.g., “99.8% availability over 30 days.”

A Service Level Indicator (SLI) is the actual metric used to measure the SLO - e.g., uptime percentage, request latency, error rate.

A Service Level Agreement (SLA) on the other hand is a formal agreement (often legally binding) between a provider and a customer that includes (usually financial) consequences if an SLA is not met.