Revisemos nuestros acuerdos de nivel de servicio para DevOps

Recordemos que un acuerdo de nivel de servicio (ANS o SLA por sus siglas en idioma inglés) es un contrato claro y entendible mediante el cual el proveedor está comprometido a entregar al cliente un determinado producto o servicio que satisface un propósito y con una determinada garantía de uso (rendimiento, por ejemplo).

Un SLA deviene de un requisito de nivel de servicio (SLR) establecido por el cliente, basado en los objetivos del negocio.

SLA, SLO, SLI

Los componentes regulares de un SLA son los siguientes:

  • Título del nivel de servicio
  • Definición de la métrica de nivel de servicio
  • Cálculo de la medida (la fórmula matemática utilizada para calcular el rendimiento)
  • Tipo de medida (basado en unidades o en eventos)
  • Fuente de medición (las herramientas utilizadas para monitorear o medir)
  • Período de medición (el período de tiempo durante el cual se mide el rendimiento)
  • Activadores predeterminados (la métrica medible que deben cumplir los proveedores de servicios para evitar el crédito de nivel de servicio; por ejemplo, el tiempo de resolución para incidentes de alta gravedad es de dos horas)
  • Crédito de nivel de servicio (cantidad financiera asociada con una métrica de rendimiento, a la que el cliente tiene derecho si no se alcanza el nivel de servicio)

Los puntos anteriores son importantes y de consideración. Un SLA debería existir por cada servicio entregado, como lo manda todo buen catálogo de servicios.

Pero también es importante establecer el objetivo de nivel de servicio (SLO). Según Gartner, “dentro de los acuerdos de nivel de servicio (SLA), los SLO son los objetivos que deben alcanzarse, para cada actividad, función y proceso del servicio, para brindar la mejor oportunidad para el éxito del receptor del servicio”.

Por ejemplo, gestionar la protección de datos con objetivos de nivel de servicio (SLO) permite que el proceso de protección se centre más en las necesidades de las aplicaciones que en las necesidades del proceso de protección. La clave es documentar qué herramientas utilizar y cuándo.

Las métricas de rendimiento individuales (indicadores de nivel de servicio, o SLI) constituyen el objetivo de nivel de servicio.

La relación para DevOps

Indicadores. De esto es lo que nos preocupamos regularmente en Operaciones. Por ejemplo, la latencia de peticiones de acceso a una determinada página en los pasados 5 minutos debe ser menor a 300 milisegundos. Consideremos no sólo el acceso (networking), sino cuánto se accede (datos) y a través de qué se accede (software aplicativo).

Alcanzar los objetivos de estos SLI permite alcanzar los SLO del producto o servicio. Por ejemplo, esperamos que este SLI tenga una tasa de éxito del 99.9% durante el último año.

Alcanzar los objetivos de los SLO establecidos permite el cumplimiento contractual del SLA que proveedor y cliente han firmado. Por ejemplo, se exigirá un crédito de nivel de servicio si esta tasa de éxito del SLI es menor al 99.5% durante el último año.

Algunos factores a considerar

Se requiere entonces determinar entre las partes involucradas para alcanzar los SLI el nivel de eficiencia que se requiere, cuánta eficiencia es transferible, y los riesgos involucrados.

Para esto es necesario considerar, en todo el ciclo de vida del sistema sujeto de un determinado nivel de servicio, al menos lo siguiente: mejores prácticas, marcos de trabajo, estándares internacionales, la estabilidad (consistente), la confiabilidad (continua), la ingeniería (desde el diseño), codificación de aplicaciones, las herramientas (necesarias, apropiadas, suficientes, compatibles, sujetas de integración), el monitoreo y control, y el escalamiento (capacidad, demanda).

No olvidemos que, para alcanzar el éxito, entre otros factores es necesario establecer el nivel de automatización requerido, mecanismos de medición apropiados, contar con información documentada mantenida (procesos y procedimientos optimizados y vigentes), una cultura de colaboración (la que es mandatoria).

Pensamientos finales

Vemos que los indicadores de nivel de servicio impulsan los objetivos de nivel de servicio que informan los acuerdos de nivel de servicio y que el logro de objetivos requiere de una amplia colaboración entre todos los actores.

Reconozcamos que este tema de SLI, SLO, SLA en DevOps es una práctica interdisciplinaria y desafiante.

Seamos proactivos y empecemos por reducir el esfuerzo sin valor y toda otra forma de desperdicio en nuestras tareas diarias. Hagámoslo rápido y avancemos, demos sostenibilidad a lo avanzado, y continuemos mejorando.

¿Me comentas?