SLO, SLI y SLA: la diferencia

SLI, SLO y SLA son tres conceptos de SRE relacionados que describen la fiabilidad de un servicio en cifras. En resumen: el SLI es lo que mides, el SLO es el objetivo que fijas, el SLA es lo que prometes al cliente por contrato.

Definiciones

  • SLI (Service Level Indicator) — un indicador de calidad medible. Ejemplos: proporción de peticiones exitosas, proporción de peticiones más rápidas que 300 ms, uptime.
  • SLO (Service Level Objective) — un objetivo interno para un SLI. Por ejemplo: «el 99,9% de las peticiones tienen éxito en 30 días».
  • SLA (Service Level Agreement) — una promesa externa al cliente con consecuencias (créditos, compensación) si se incumple. Suele ser más laxo que el SLO.

Error budget (presupuesto de errores)

Si SLO = 99,9%, entonces el 0,1% es el presupuesto de errores admisible. En 30 días son unos 43 minutos de indisponibilidad. Mientras no se agote el presupuesto puedes desplegar más rápido; cuando se acaba, el foco pasa a la estabilización.

Ejemplo de SLI en PromQL

sum(rate(http_requests_total{code!~"5.."}[28d]))
/
sum(rate(http_requests_total[28d]))

Es la proporción de respuestas no-5xx en una ventana de 28 días — un candidato a SLI de disponibilidad.

Cómo calcularlo en Unimoni

Un SLI es una expresión PromQL ordinaria, el objetivo SLO se fija como un umbral en una regla de alerta, y el uptime y la disponibilidad por periodo los calculan la monitorización de Uptime y la página de estado pública.