G
GuideDevOps
Lesson 5 of 15

SLO Engineering

Part of the Site Reliability Engineering tutorial series.

Overview

SLO Engineering is the practice of defining meaningful targets for system performance, not just monitoring "uptime." It bridges the gap between technical metrics (latency, error rates) and user happiness.

Designing Good SLOs

  1. Identify the User Journey: What do users actually care about? (e.g., successful login, fast search results).
  2. Select the SLI: Define the indicator that measures success (e.g., HTTP 200 responses).
  3. Set the Target: Define the SLO threshold based on historical data.

Example: Designing a Search Latency SLO

Goal: 99% of search requests finish in under 200ms.

# SLI: Requests < 200ms
sum(rate(search_latency_seconds_bucket{le="0.2"}[5m])) 
/ 
sum(rate(search_latency_seconds_count[5m]))

Result: The ratio shows the current success rate against the 99% target. If the result is 0.985, you are violating your 99% SLO.

Current Success Rate: 98.5%
Target: 99.0%
Status: SLO Violation