sitereliabilityengineering/concepts devops/observability

Google SRE - Defining slo: service level objective meaning

Core Idea

SLI is the measurement, SLO is the target you set for it, SLA is the customer-facing contract with penalties, and the error budget is whatever unreliability the SLO still allows.

  • SLI: raw metrics like latency, uptime, and error rate. SLO: the internal target, e.g. 99.9% availability in a month.
  • Error budget = 100% − SLO, so a 99.9% SLO spends about 43.2 minutes of downtime per month.
  • SLA: the formal agreement with the customer, with service credits or compensation when the target is missed.
  • Analogy: SLI is the speedometer, SLO is your 60 mph trip goal, SLA is the refund you owe the passenger if you arrive late.

SLO, SLA, and SLI are important concepts in Service Level Management. They help define, measure, and manage the performance of services to ensure customer satisfaction and operational excellence.

1. SLI (Service Level Indicator)

Definition:
SLIs are the specific metrics or measurements that quantify the performance of a service. They act as the raw data points used to evaluate how well a service is performing.

Examples:

  • Latency (e.g., 95% of requests respond within 200ms).
  • Uptime (e.g., the service is available 99.9% of the time).
  • Error rate (e.g., 0.1% error rate for API requests).

Purpose:
SLIs provide the actual measurements or indicators of a service’s health.

2. SLO (Service Level Objective)

Definition:
SLOs are the specific, measurable goals or targets for an SLI. They represent the desired performance level that a service aims to achieve consistently.

Examples:

  • “99.95% availability for the API in a given month.”
  • “95% of requests complete in under 500ms over the last 30 days.”

Purpose:
SLOs serve as benchmarks to determine whether the service is meeting expectations. They are often internally focused and used by engineering teams.

3. Error Budget

Error budget is the allowed margin of error within an SLO.
It answers: “How much unreliability can we tolerate?”

**Error Budget** = 100% - SLO

If your SLO is 99.9% uptime, then the error budget is 0.1% downtime, or roughly 43.2 minutes per month.

4. SLA (Service Level Agreement)

Definition:
SLAs are formal agreements between a service provider and its customers. They specify the commitments made about service performance and usually include penalties or compensations if the agreed-upon objectives (SLOs) are not met.

Examples:

  • “If uptime falls below 99.9% in a month, the customer will receive a 10% service credit.”
  • “If the service response time exceeds 500ms for 1% of requests in a quarter, the customer gets additional support hours.”

Purpose:
SLAs define the terms and consequences for service performance, making them contractual and customer-facing.

Relationship Between SLI, SLO, and SLA

  1. SLI: The metric or raw data point (e.g., uptime, latency, error rate).
  2. SLO: The target or objective for the SLI (e.g., 99.9% uptime over a month).
  3. SLA: The agreement based on the SLO, defining penalties and commitments to customers.

Key Analogy

  • SLI: Like your speedometer showing your car’s speed.
  • SLO: Your personal goal of maintaining an average speed of 60 mph during a trip.
  • SLA: A deal with a passenger—if you arrive late because you drove below 60 mph, you’ll refund part of the ticket cost.