SLA, SLO y SLI ¿Qué son y qué usar en cada situación?​

Un mundo de siglas

 

Vivimos sumergidos en un mundo de siglas que describen un sin fin de conceptos, desde países, monedas a enfermedades. Pero si hay un lugar donde nos encanta tener siglas y abreviaturas para todo es en el campo de la tecnología.

 

Hoy me gustaría explicaros brevemente un pequeño conjunto de ellas que son el día a día de todo perfil tecnológico y no tan tecnológico.

 

Hace años únicamente se escuchaba hablar de los SLA  (Service level agreements, acuerdos de nivel de servicios). ¿Quién no ha temblado cuando mensualmente revisaba con el cliente ese indicador? Este puede llegar a suponer una penalización económica para el proveedor de servicios. En los últimos años además se han ido incorporando un par de indicadores más: los SLOs (Service Level Objectives) y los SLIs (Service Level Indicators). Las diferencias entre estas siglas son pequeñas pero importantes y es conveniente no tener errores a las hora de elegirlas bien y comprometerse con estos indicadores.

 

 

A todos los que diseñamos sistemas informáticos, nos gusta que todo funcione sin inconvenientes, pero la realidad es muy distinta, existen innumerables situaciones en las que nuestro sistema deja de funcionar o no funciona como queremos en términos de velocidad y funcionalidad. Me gustaría decir que independiente de que el servicio sea gratis o de pago, el éxito de un proyecto no solo depende de que la página esté accesible cuando se necesite sino también de lo bien que funcione. ¿Imagináis que la página del buscador de google tardara más de 30 segundos en hacer una búsqueda? Yo al menos, si me encontrara en esa situación, no tardaría en buscar alternativas.

 

 

¿Qué significan estas tres siglas?

 

SLA

Hablemos de los SLA primero ya que es quizá el más conocido. Existen muchas definiciones, pero sencillamente es un acuerdo de servicios a prestar, normalmente escrito y firmado por dos partes contratantes, el cual si se incumple se incurre en penalizaciones (normalmente económicas). 

 

Por ejemplo, si hemos firmado con el cliente que vamos a mantener activa su página de ecommerce durante al menos el 99,99% del tiempo del mes, esto quiere decir que el máximo tiempo que la página puede estar inaccesible durante el mes será de 4 minutos y 19 segundos. Es decir, si necesitamos hacer algo en el sistema que genere indisponibilidad, no podemos  tardar más de ese tiempo.

 

 

SLO 

¿Qué entendemos por SLO? Service Level Objective: objetivo de nivel de servicios. Este indicador entra en juego para ayudar a medir la calidad del servicio indicando métricas sobre cómo funciona  nuestro sistema. En este punto incluimos métricas que nos permitan conocer en todo momento que el sistema funciona de acuerdo a unos niveles aceptables para el usuario. Pongamos un ejemplo.

 

Imaginemos que tenemos una aplicación web donde vendemos juguetes y poco a poco vamos viendo que durante los últimos 3 meses  perdemos clientes. Nuestro SLA indica que durante estos últimos 3 meses no hemos tenido indisponibilidades del sistema, mediante encuestas  vemos que el problema es que en los últimos meses ha habido un incremento en el tiempo que las paginas tardan en cargar y los clientes han decidido comprar en la competencia ya que es más rápido y tardan menos tiempo en hacerlo. Después de investigar descubrimos que uno de nuestros pases a producción incrementó el tiempo de latencia haciendo “lenta” la página. En este caso, si hubiéramos tenido un SLO que nos avisara cuando se incumplía el umbral aceptable de uso de la página, (aumento de latencia), rápidamente podríamos haber revertido el pase a producción y el impacto en nuestros clientes hubiera sido menor. 

 

¿Cuál es la diferencia entre un SLO y  un SLA? ¿Parecen lo mismo?  

 

Los SLA se utilizan externamente para definir un acuerdo entre el servicio de una empresa y sus clientes. Los SLO son objetivos que se miden internamente para determinar si el SLA se está cumpliendo o se incumplirá. Si se violan los términos de un SLO, los equipos deben responder y reaccionar rápidamente para evitar que se rompa el SLA.

 

 

¿Y los SLI? 

A continuación entra en juego el siguiente término: los SLIs (Service Level Indicator o Indicadores de nivel de servicio) el cual es la métrica utilizada para determinar si el SLO se está cumpliendo o no. Es el valor medido de la métrica descrita en el SLO en un momento dado. El SLI es el valor real medido en ese momento. Para seguir cumpliendo con el SLA, el valor del SLI siempre debe cumplir o superar el valor determinado por el SLO. 

 

Un buen plan de respuesta a incidentes es fundamental para resolver rápidamente cualquier momento de inactividad cuando se produzca.

 

SLIs, SLAs, SLOs: resumen visual  

Fuente: Atlassian

Conclusiones 

Aunque pueda sonar bien para un oído inexperto, un SLA del 99,99% sigue equivaliendo a 52 minutos y 36 segundos de tiempo de inactividad al año. Eso es casi una hora de tiempo de inactividad en la que los clientes se quedan de brazos cruzados o, peor aún, buscando otras opciones. En situaciones críticas de atención sanitaria, una pérdida de conectividad podría ser una cuestión de vida o muerte.

Aunque la creación de acuerdos de nivel de servicio y de objetivos estratégicos es importante para medir la salud del sistema, la realidad es que puede ser un reto hacer un seguimiento y aplicarlos ya que  normalmente estos acuerdos, generalmente redactados por personas que no están en las “trincheras” de la tecnología, a menudo hacen promesas que son difíciles de medir y cumplir para los equipos.

En resumen, los SLI demuestran el comportamiento real de los sistemas de software. Estas métricas informan de la creación de los SLA, que deben cumplirse para garantizar los acuerdos B2B. 

Por último, en una economía digital con expectativas digitales aceleradas, tiene sentido supervisar los SLO internos y mejorar las líneas de base con el tiempo.

Alberto Valencia, Arquitecto Cloud

En Cartagon llevamos más de 20 años ayudando a las empresas con sus necesidades tecnológicas y somos especialistas en servicios Cloud y DevOps. No dudes en contactar con nosotros para descubrir cómo podemos apoyarte. Contacta ahora.

Somos una empresa de consultoría de Servicios Cloud y Servicios Gestionados con más de 20 años de experiencia en el sector TI.