Service Level Terminology
SLI
Service Level Indicator
Un SLI es un indicador de nivel de servicio, una medida cuantitativa cuidadosamente definida de algún aspecto del nivel de servicio que se proporciona.
- La mayoría de los servicios consideran la latencia de la solicitud(request latency) (cuánto tiempo se tarda en devolver una respuesta a una solicitud) como un SLI clave.
- Otros SLI comunes incluyen la tasa de error(error rate), a menudo expresada como una fracción de todas las solicitudes recibidas.
- Por ultimo el rendimiento del sistema(system throughput), tambien es un SLI común, generalmente medido en solicitudes por segundo.
- Otro tipo de SLI importante para las SRE es la disponibilidad(availability), o la fracción del tiempo que se puede utilizar un servicio.
SLO
Service Level Objective
Un Objetivo de nivel de servicio es un valor objetivo o rango de valores para un nivel de servicio medido por un SLI. El objectivo al que apuntamos es al SLO, mientras que la metrica o indicador es SLI.
- La elección y publicación de SLO para los usuarios establece expectativas sobre el rendimiento de un servicio. Esta estrategia puede reducir las quejas infundadas a los propietarios del servicio sobre, por ejemplo, la lentitud del servicio.
- Sin un SLO explícito, los usuarios a menudo desarrollan sus propias creencias sobre el desempeño deseado, que pueden no estar relacionadas con las creencias de las personas que diseñan y operan el servicio.
SLA
Service level agreements
Un Acuerdo a nivel de servicio es un contrato explícito o implícito con sus usuarios que incluye las consecuencias de cumplir (o no cumplir) los SLO que contienen.
Las consecuencias se reconocen más fácilmente cuando son financieras (un reembolso o una multa), pero pueden adoptar otras formas.
Una manera fácil de distinguir entre un SLO y un SLA es preguntarse “¿qué sucede si no se cumplen los SLO?”: Si no hay una consecuencia explícita, es casi seguro que esté mirando un SLO.
Por lo general, los y las SRE no se involucra en la construcción de SLA, porque los SLA están estrechamente vinculados a las decisiones comerciales y de productos.
Sin embargo, SRE se involucra para ayudar a evitar desencadenar las consecuencias de los SLO omitidos. También pueden ayudar a definir los SLI: obviamente, debe haber una forma objetiva de medir los SLO en el acuerdo, o surgirán desacuerdos.
Error Budget
El Porcentaje de error aceptable es la diferencia entre el 100% y nuestro objetivo (SLO) que tenemos como oportunidad para hacer cambios/mejoras/mantenimiento.
El Porcentaje de error aceptable nos permite
- Aumentar la velocidad de desarrollo.
- Incrementar mejoras.
- Inovar en nuestros productos.
Beneficios del porcentaje de error aceptable
-
Incentivos comunes para desarrolladores y SREs: Encuentra el balance adecuado entre innovación y reliability.
-
Los equipos de desarrollo pueden gestionar el riesgo por su cuenta: Ellos deciden cómo utilizar el porcentaje de error aceptable.
-
Los objetivos de reliability poco realistas no son atractivos: Estos objetivos disminuyen la velocidad de la innovación.
-
Responsabilidad compartida por uptime del sistema: Los fallos de la infraestructura utilizan el porcentaje de error aceptable de los desarrolladores.
Consecuencias del porcentaje de error aceptable
✅ Cuando hay porcentaje de error aceptable: Priorizar la velocidad
● Lanzamiento de nuevas funciones.
● Cambios previstos en el sistema.
● Fallos inevitables en el hardware, las redes, etc.
● Experimentos arriesgados.
❌ Cuando se agota el porcentaje de error aceptable: Priorizar la estabilidad
● Ralentizar o detener los lanzamientos de nuevas funciones.
● Priorizar items del postmortem.
● Automatizar los procesos de implementación.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?