Ejemplo SLA SLO SLI - LeoXDXp/SyadminLab GitHub Wiki
Caso de Ejemplo
Existe un servicio, llamado Extractor, el cual es accedido por usuarios para generar boletines de peligrosidad ante tsunamis, así como revisar boletines previamente emitidos. Este servicio cuenta con varias URLs, las que pueden ser accedidas por los usuarios, o por otros servicios mediante la API que ofrece.
El servicio extractor tiene al menos 2 URLs que son accedidas por servicios críticos, lo que convierte a estas 2 URLs en elementos que deben estar siempre disponibles. Se identifica al servicio Extractor como crítico.
Los servicios críticos que consultan a Extractor son el frontend para análisis de peligrosidad de un tsunami, llamado SSD, y el servicio TTT, el cual calcula los tiempos de arribo de un tsunami. Estos servicios cuentan con restricciones de desempeño debido a su importancia para decretar evacuaciones en casos de catástrofe, definidas en un SLA.
SLI
Es una métrica o medida para definir la calidad de un servicio. Para el caso del servicio Extractor:
- Se mide la cantidad de respuestas HTTP cuyo código sea del tipo 500.
- El código 500 refleja una falla en la lógica del sistema, es decir, un bug de impacto mayor que imposibilita el flujo normal de operaciones.
- Adicionalmente, a las 2 URLs accedidas por los servicios críticos SSD y TTT, se les mide el tiempo de respuesta, dado que deben devolver entre decenas a miles de registros, por consulta.
SLO
Es la meta u objetivo a cumplir con respecto a los SLIs.
- Para el SLI 1, errores HTTP 500, el objetivo es que el número de errores de este tipo no represente más del 1% de los código HTTP resultantes de las llamadas hechas a Extractor, durante 1 día.
- Para el SLI 2, se espera que las 2 URLs críticas (/api/decision/ y /api/fp/) no tengan un tiempo de respuesta mayor a 5 milisegundos, en ningún caso.
SLA
Es un compromiso legal con el cliente/usuario final, en el que se dispone de penalizaciones, por lo general monetarias, al incumplir alguno de los compromisos pactados. No necesariamente puede indicar de forma clara el equivalente técnico con un SLO o la forma que se medirá mediante un SLI. En el caso de ejemplo, el SLA indica:
- Un sistema definido como crítico debe tener las suficientes redundancias para que las intermitencias del sistema web no representen más de un 3% del uso total del sistema. El no cumplimiento de este punto implica una multa de 10 UF por día de incumplimiento.
- Una penalización monetaria de 0.5UF por cada llamada a las URLs críticas que tome más de 8 milisegundos (penalización por problemas de desempeño).