SLA / SLO / SLI

Infraestructura Y Gobernanza Jan 6, 2025 JSON

Definición

Cuando pides pizza a domicilio, probablemente hay una promesa como “entrega en 30 minutos o gratis.” Eso es esencialmente un SLA - un acuerdo sobre lo que puedes esperar y qué pasa si no se cumple. En el mundo del software, tenemos tres conceptos relacionados que trabajan juntos para definir, medir y hacer cumplir la confiabilidad del servicio.

SLI (Service Level Indicator) es la medición real - cuántas entregas tardaron más de 30 minutos la semana pasada. Es el número crudo de tu sistema de monitoreo. SLO (Service Level Objective) es tu objetivo interno - “el 99.9% de las entregas deberían ser bajo 30 minutos.” Es más estricto que lo que prometiste a los clientes porque te da margen de maniobra. SLA (Service Level Agreement) es el contrato legal - “garantizamos 95% bajo 30 minutos o te reembolsamos.” Es la versión publicada externamente con consecuencias por incumplimiento.

Piénsalo como capas de protección. Tu SLO es más estricto que tu SLA, así que si empiezas a fallar tu SLO, tienes advertencia anticipada antes de romper la promesa al cliente. Es la diferencia entre notar internamente “estamos en 99.7%, debajo de nuestro objetivo del 99.9%” versus tener que dar créditos a los clientes porque rompiste la garantía del 99%.

Ejemplo

SLA de Servicios Cloud de AWS: AWS promete 99.99% de disponibilidad para muchos servicios. Si se caen más allá de eso, te dan créditos de servicio. Internamente, apuntan a aún mayor disponibilidad (su SLO) para que raramente tengan que pagar esos créditos.

Garantías de Entrega de Comida: Las apps de delivery podrían garantizar entrega en 45 minutos (SLA). Internamente apuntan a 35 minutos (SLO). Rastrean los tiempos reales de entrega (SLI). Si el SLI muestra que los promedios suben a 38 minutos, saben que están en riesgo antes de romper la promesa de 45 minutos.

Tiempos de Respuesta de API de Stripe: Stripe podría tener un SLO interno de respuestas de API bajo 100ms para el 99.9% de las peticiones. Públicamente, su SLA podría prometer 500ms. Monitorean el tiempo de respuesta real (SLI) constantemente. Si el SLI muestra que el p95 sube a 150ms, investigan aunque los clientes todavía no se vean afectados.

SLAs de Plataforma de Email: Un servicio de email podría prometer 99.9% de disponibilidad en su SLA. Internamente establecen un SLO de 99.95%. Su SLI (medición real) muestra 99.97% el último mes. Están cómodos - superando tanto el objetivo interno como la promesa al cliente.

Analogía

La Garantía del Repartidor de Pizza: El SLA es “30 minutos o gratis” - el compromiso publicado con consecuencias. El SLO interno es “apuntar a 25 minutos” - dándonos margen. El SLI es el tiempo real que cada entrega tarda, rastreado por el GPS del conductor. El gerente de la tienda monitorea los SLIs para asegurar que estén cumpliendo los SLOs para que nunca tengan que pagar por los SLAs rotos.

Las Calificaciones Escolares: Piensa en el SLI como tu puntuación bruta del examen (87 de 100). El SLO es como tu objetivo personal (“quiero sacar al menos 90”). El SLA es como una beca que requiere mantener promedio de 80 - si caes por debajo, pierdes la financiación. Apuntas más alto que el mínimo requerido para darte margen de seguridad.

Los Objetivos de Fitness: Tu rastreador de fitness muestra que caminaste 8,000 pasos hoy (SLI - medición real). Tu objetivo personal es 10,000 pasos diarios (SLO - lo que estás tratando de lograr). Tu médico dijo que necesitas al menos 7,000 pasos para beneficios de salud (SLA - requisito mínimo con consecuencias). Cuando ves que tu SLI está por debajo del SLO pero por encima del SLA, sabes que necesitas más esfuerzo pero no estás en territorio peligroso.

Las Garantías de Vuelos: El SLA de una aerolínea podría prometer compensación si tu vuelo se retrasa más de 3 horas. Internamente apuntan a retrasos bajo 30 minutos (SLO). Rastrean los tiempos reales de salida (SLI). Cuando el clima amenaza los horarios, trabajan duro para mantener los SLIs saludables, sabiendo que tienen margen antes de que apliquen las garantías del SLA.

Code Example


{
  "service": "API de Pagos",
  "sli": {
    "availability": {
      "current": 99.97,
      "measurement": "30 días"
    },
    "latency_p95": 145
  },
  "slo": {
    "availability": 99.95,
    "latency_p95_ms": 200
  },
  "sla": {
    "availability": 99.9,
    "consequences": {
      "99.0-99.9": "10% crédito",
      "below-95.0": "50% crédito"
    }
  },
  "status": "SALUDABLE - SLI supera SLO y SLA"
}