Es imposible administrar un servicio
correctamente, y mucho menos bien, sin
comprender qué comportamientos realmente
importan para ese servicio y cómo medir y
evaluar esos comportamientos.
1) INDICADORES
SLI - Service Level Indicator
Medida cuantitativa cuidadosamente definida de
algún aspecto del nivel de servicio que se
proporciona
Comunes: Latencia, tasa de error,
throughput, disponibilidad
Desde la perspectiva de Sysadmin refleja unicamente la salubridad
del sistema, desde la perspectiva SRE estár enfocado en la
satisfacción del cliente.
2) OBJETIVOS
SLO - Service Level Objetive
Valor objetivo para el nivel de servicio medido con el SLI
Si bien el objetivo debe estar relacionado con la
expectativa del cliente, este debe ser coherente
con la línea base asociada al servicio (ej: no
comprometerse a que un Renault 4 alcance 200Km/h)
3) ACUERDOS
SLA - Service Level Agreements
Consecuencia de no cumplir el SLO
Generalmente penalidad monetaria asociada a la
facturación del servicio, créditos en Cloud, en otros
casos puede ser reputacional (Google Search)
Que no exista SLA, no significa que no
sea importante definir losindicadores y
objetivos del servicio
Si no hay consecuencia... solo es un SLO
4) COMO DEFINIR QUE MEDICIONES (INDICADORES)
SON IMPORTANTES PARA NUESTRO SERVICIO
LO PRIMERO ES ENTENDER QUE
ESPERA EL USUARIO FINAL DE
NUESTRO SISTEMA
Definir muchos indicadores
reducirá la posibilidad de manejo
de los mismo
Es vital seleccionar unos pocos indicadores
que me permitan conocer el estado del
servicio y garantizar una experiencia
satisfactoria para el cliente final
Categorias generales SLI
User-facig service system
Storage system
Big data system
Recolectar Indicadores
Herramientas de monitoreo (ej: Borgmon, Prometheus, analisis
periódico de logs, etc..)
Algunos indicadores deberán ser instrumentados del lado de cliente,
no es suficiente solo el lado server
Cuidado con la agregación de
data recolectada
Evualuar el uso de métodos estadísticos para
evitar la distorsión de la información
Estandarizar indicadores
Annotations:
Intervalos de agregación: "Promedio durante 1 minuto"
Regiones de agregación: "Todas las tareas en un clúster"
Frecuencia con la que se realizan las mediciones: "Cada 10 segundos"
Qué solicitudes se incluyen: "HTTP GET desde monitoreo de black-box"
Cómo se adquieren los datos: "A través de nuestro monitoreo, medido en el servidor"
Latencia de acceso a datos: "Tiempo hasta el último byte"
La medición debe ser lo mas cercana a la experiencia del
usuario, pero muchas veces se debe medir el indicador de
una forma indirecta ya que no se tiene acceso al punto de
control ideal
5) COMO DEFINO QUE OBJETIVOS SON
APROPIADOS PARA MI SERVICIO
No debemos enfocarnos en que podemos medir, lo relevante para el
servicio es aquello que es importante para el usuario final
DEFINICIÓN DE LOS OBJETIVOS
Deben ser completamente explicitos
sobre como se deben medir y en que
condiciones son validos
No se deben pensar para ser cumplidos al 100% permanente, pues puede
generar contensión en los ciclos de innovación e implementación y/o
implicar soluciones demaciado costosas o mejoras que no sean percibidas por el usuario
Es preferible y necesario establer un Presupuesto de Errores que le
brinde maniobrabilidad a la operación y al desarrollo
An error budget is just an SLO for
meeting other SLOs
CLAVES
No defina un objetivo basado en el desempeño actua
Annotations:
Puede llevar a escenario de mejoras solo con esfuerzos significativos
Mantengalo simple
Evite los absolutos (siempre, nunca, infinitamente)
Tan pocos SLO como sea posible
La perfección puede esperar
Annotations:
Se pueden refinas las definiciones de SLO a medida que conoce el comportamiento del servicio y el entorno