Inicio
Temas
Objetivo de nivel de servicio
Un objetivo de nivel de servicio (SLO) es un objetivo de rendimiento acordado para un servicio particular durante un tiempo. Los SLO definen el estado esperado de los servicios y ayudan a los stakeholders a gestionar la salud de servicios específicos, así como a optimizar las decisiones equilibrando la innovación y la confiabilidad.1
Los SLO se miden mediante indicadores de nivel de servicio (SLI), que son métricas cuantitativas de algún aspecto del servicio. Los SLO forman parte de un acuerdo más amplio entre los proveedores de servicios y los clientes (acuerdos de nivel de servicio [SLA]) que describen el nivel de servicio que un cliente puede esperar de los proveedores y establecen sanciones si no se cumplen los objetivos.
Para garantizar que los niveles de servicio sean coherentes con los requisitos del negocio, así como con los deseos del cliente, los equipos de ingeniería de confiabilidad del sitio (SRE), DevOps, TI y otros equipos relevantes deben conocer los recorridos críticos del usuario para cada aplicación: las interacciones que permiten a los usuarios finales alcanzar su resultado deseado.
La aceptación interna es crucial para el éxito de los SLO (y, por lo tanto, los SLA) y múltiples stakeholders deben participar en la determinación de los SLO, incluidos los gerentes de producto, y los equipos de DevOps y de gestión de problemas, así como los ingenieros de infraestructura. Los clientes externos se incorporan a la discusión a través de grupos focales, estudios, quejas de clientes y redes sociales.
La lógica clave de los SLO es que la confiabilidad del servicio conduce a la felicidad del usuario, lo que brinda una mayor oportunidad de negocio. Establecer objetivos de confiabilidad medibles ayuda a una organización a equilibrar una experiencia de usuario agradable y eficiente con un costo razonable: no alterar el presupuesto de TI con niveles de servicio más allá de lo que se necesita o espera.
Los SLO son necesarios porque definen los objetivos de calidad de servicio (QoS) y confiabilidad en términos concretos, medibles y objetivos. No pretenden definir el mejor nivel de rendimiento, sino una gama de estándares de rendimiento mejores y menos aceptables.1
El objetivo de los SLO se resume muy bien en '97 Things Every Cloud Engineer Should Know' (el enlace se encuentra fuera de ibm.com) de O`Reilly Media: “¿Cómo puede facilitar a la administración el entendimiento de las compensaciones entre confiabilidad, velocidad de innovación y costo? Los SLO son la respuesta. Los SLO crean pautas claras de confiabilidad que equilibran las compensaciones entre los costos de la nube, la velocidad del cambio y los riesgos externos”.
Este libro electrónico tiene como objetivo derribar los mitos de la observabilidad y mostrar su función en el mundo digital.
Los SLO son uno de varios términos interrelacionados que intervienen en el seguimiento y la evaluación del rendimiento del servicio:
Un SLI es una medida cuantitativa de algún aspecto de un servicio. Las SLI proporcionan los números reales, las barras de medición para el rendimiento del sistema, como tasas de error, rendimiento de lotes o latencia de solicitudes. Normalmente, las mediciones se agregan y se presentan como tasa, media o percentil.
Los SLO son los valores objetivo para aquellas mediciones (como garantizar que el tiempo de respuesta se mantenga por debajo de los 200 milisegundos, por ejemplo) que deben cumplir para mantener los acuerdos de nivel de servicio (SLA). Estos valores generalmente se expresan como un porcentaje durante un tiempo.
Los SLA son los contratos entre proveedores y clientes, compuestos por SLO individuales, que garantizan un cierto nivel para actividades de servicio, funciones o procesos. También establecen las sanciones si no se cumple el acuerdo.
Una cotización de errores es un aspecto de los SLO que define la cantidad aceptable de fallas antes de que se rompa un contrato. Una cotización de errores permite incorporar el tiempo de inactividad planeado o no planeado del servicio que es inevitable en la práctica. La incorporación del tiempo de inactividad permite a sus equipos de desarrollo tomar decisiones informadas sobre nuevos desarrollos, operaciones y actualizaciones o arreglos de software instalado.
La confiabilidad y la capacidad de respuesta a menudo se miden en “nueves en el camino hacia el 100%”: 90%, 99%, 99.9%, etc. Por ejemplo, un objetivo para la disponibilidad de la CPU podría verse así:
Nivel de confiabilidad | Periodo de falta de confiabilidad permitido | ||
|
|
| |
por año | Por trimestre | Cada 30 días | |
90% | 36.5 días | 9 días | 3 días |
95% | 18.25 días | 4.5 días | 1.5 días |
99% | 3.65 días | 21.6 horas | 7.2 horas |
99.5% | 1.83 días | 10.8 horas | 3.6 horas |
99.9% | 8.76 horas | 2.16 horas | 43.2 minutos |
99.95% | 4.38 horas | 1.08 horas | 21.6 minutos |
99.99% | 52.6 minutos | 12.96 minutos | 4.32 minutos |
99.999% | 5.26 minutos | 1 minuto y 30 segundos | 26.9 segundos |
|
|
|
Cada punto decimal más cercano a 100 suele implicar un mayor costo y complejidad para lograrlo. Los clientes, internos y externos, pueden requerir un cierto nivel de capacidad de respuesta, luego del cual ya no pueden detectar una diferencia. Establecer un SLO es en parte ciencia y en parte arte, ya que logra un equilibrio entre la perfección estadística y objetivos rentables y realistas.
Es posible que el equipo de desarrollo quiera ofrecer nuevas características, mientras que el equipo de operaciones busca ofrecer estabilidad y calidad, introduciendo cambios de forma controlada. Debido a que la compañía proporciona productos o servicios a clientes internos y externos, es importante medir cualquier nivel de servicio desde el punto de vista de esos clientes.
Los SLO ayudan a unir a las organizaciones en torno a la confiabilidad. En última instancia, las partes interesadas deben acordar un SLO medible para el cliente que sea un equilibrio efectivo entre la velocidad y la calidad del servicio.
En un nivel básico, los objetivos de nivel de servicio son importantes porque garantizan la confiabilidad del servicio y que se cumplan los acuerdos de nivel de servicio. Si cumple con los SLA, sus clientes están contentos y eso es bueno para el negocio.
Los SLO no solo son valiosos para los clientes externos, sino que también ofrecen información valiosa para los clientes internos. Los SLO ayudan a varios equipos a medir el rendimiento de los servicios y aplicaciones y a determinar las formas en que podrían mejorar. Entre otros beneficios, los SLO ayudan a las organizaciones a:
Los problemas de confiabilidad pueden costarle dinero a su compañía. Cuando los SLO se configuran correctamente, puede ver y descubrir brechas en la observabilidad. Su configuración de SLO puede ser el único lugar donde puede centralizar la información de múltiples herramientas de monitoreo empleadas en su organización. Una mejor observabilidad lo ayuda a ofrecer mejores productos, reducir la rotación de clientes y operar de manera más eficiente.
Los SLO y SLI proporcionan insight sobre el rendimiento de los servicios y aplicaciones, y ofrecen a los equipos una medida precisa del tiempo de inactividad y otros problemas potenciales. Esta información es útil para DevOps, TI y otros equipos que buscan lograr un equilibrio entre innovación y confiabilidad a medida que actualizan los productos existentes y lanzan nuevas características.
Un SLO bien considerado que mide el estado de sus microservicios, tal como lo experimentan sus clientes, proporciona información invaluable sobre el rendimiento del producto y la experiencia del usuario.
Tanto el establecimiento como el seguimiento de los SLO ayudan a unir a los equipos de toda la organización en torno a una comprensión de un servicio y las expectativas asociadas. Los SLO bien pensados ayudan a fomentar una cultura de comunicación, donde todos los stakeholders opinan sobre lo que sus unidades esperan de un servicio y comprenden su papel para garantizar que se cumplan los SLA.
Además, la creación de informes y automatizaciones con SLO puede ayudar a cada afiliado a su equipo a responder preguntas sobre incidentes con mayor rapidez. Los SLO son importantes para sus equipos de DevOps, infraestructura y SRE, pero también pueden ayudar a transformar casi todos los aspectos de su compañía. Los datos recopilados a través de la observabilidad se pueden convertir en información accesible, contextual y procesable. Estos insights proporcionan la visibilidad que sus equipos necesitan para tomar decisiones oportunas y rentables.
Con objetivos claramente definidos, las organizaciones pueden recurrir a la automatización para monitorear y medir los SLI. Este enfoque puede ayudar a garantizar que se cumplan los objetivos, con el fin de ir más allá del monitoreo y automatizar completamente los procesos de extremo a extremo.
Un sistema de monitoreo automatizado puede ayudar a detectar problemas potenciales a medida que se desarrollan, antes de que el rendimiento del servicio realmente no alcance los objetivos establecidos en los SLO o incumpla con los SLA. Una vez que se establecen los procesos que cumplen con los SLO, se puede implementar la automatización para garantizar un rendimiento constante, por ejemplo, mediante el uso de una plataforma que automatice la asignación de recursos en función de la demanda de la carga de trabajo.
Los SLO proporcionan a los equipos de DevOps la previsión para identificar posibles problemas antes de que ocurran. Esta previsión evita tiempos de inactividad inaceptables u otros eventos que podrían afectar negativamente al usuario final o costar dinero a la compañía.
Los SLA suelen emplear porcentajes mensuales de tiempo de inactividad o disponibilidad para calcular la facturación. La duración del tiempo de inactividad es el periodo en el que un sistema no puede realizar su función principal. Las fallas de comunicación, por ejemplo, pueden causar tiempo de inactividad de la red. El estándar de disponibilidad en la industria sigue siendo alto, al igual que el costo del tiempo de inactividad, que aumenta constantemente. Además del impacto financiero, los SLO incumplidos también pueden provocar la insatisfacción del cliente.
Muchas organizaciones operan con base en un proceso reactivo de gestión de incidentes. Pero cuando espera a que ocurra un incidente, lleva más tiempo mitigar y resolver los problemas dentro de su sistema, lo que aumenta el tiempo medio de reparación (MTTR)1. Los SLO establecidos correctamente ayudan a mejorar la observabilidad y permiten a las organizaciones ser más proactivas en la gestión de incidentes.
Las alertas irrelevantes no solo aumentan los costos operativos, sino que también pueden generar altas tasas de agotamiento cuando los ingenieros pierden tiempo y productividad respondiendo alertas inexistentes. Uno de los mayores desafíos en las alertas es simplemente encontrar el equilibrio adecuado entre demasiadas y muy pocas alertas.
Una alerta relevante sería aquella que notifica a un ingeniero cuando la degradación probablemente hará que se pierda un objetivo de confiabilidad: una alerta basada en síntomas. Por ejemplo, es un problema real cuando la latencia de respuesta de un servicio en la última hora podría causar que el SLO de latencia no cumpla con la semana.
Si le pregunta a la gente de negocios cuál debería ser su objetivo de tiempo de actividad del sistema, muchos podrían decir que les gustaría intentar alcanzar el 100%. Eso es muy aspiracional, pero también muy costoso y podría consumir la mayor parte de su cotización de TI antes que nada. Los SLO no están diseñados para asumir, sino para encontrar y cumplir con las expectativas de los clientes para que puedan mantenerlos contentos y hacer que regresen. La confiabilidad es un medio, no un fin.
El hecho de que una métrica de rendimiento se pueda medir no significa que sea importante para la felicidad de su cliente o sus resultados finales. Priorice. Concentrarse en aquellas métricas que más se acerquen a una experiencia positiva del cliente.
En Fundamentos de la gestión del nivel de servicio (el enlace se encuentra fuera de ibm.com), Rick Sturm y Wayne Morris presentan esta lista de verificación para establecer SLO realistas:
Los SLO deben ser:
· Alcanzables
· Repetibles
· Medibles
· Comprensibles
· Significativos
· Controlables
· Asequibles
· Mutuamente aceptables
Tenga en cuenta que su lista comienza con "alcanzable". "Apuntar a la luna" es muy costoso y puede ofrecer más tiempo de actividad del que esperan sus clientes. Estas son algunas de las mejores prácticas importantes que pueden ayudarlo a alcanzar sus objetivos de SLO:
Defina SLO que respalden el SLA o el objetivo empresarial. ¿Son 20 SLO realmente cuatro veces mejores que cinco SLO? ¿O esto simplemente crearía más trabajo para su equipo de TI y confundiría al cliente, sin ningún beneficio significativo? No sienta que tiene que calificar todo lo que se puede medir.
Establezca objetivos de SLO realistas en lugar de prometer demasiado y luego no cumplir, ya que podría resultar costoso en sanciones y tal vez incluso hacer que la compañía pierda algún cliente. Ser realista con las partes interesadas internas y con los clientes permite que todos puedan tomar decisiones informadas. Los objetivos de SLO demasiado altos solo costarán más a largo plazo.
Al acordar expectativas realistas por adelantado, evita confusiones y conflictos en el futuro entre los equipos internos y con el cliente.
Las hojas de recopilación de métricas manuales pueden ralentizar la corrección y es posible que no permitan el análisis de la causa principal. Recopile los SLI relevantes para evaluar los SLO automáticamente y cree alertas automáticas antes de que se infrinja un SLO. Incluya el contexto que su personal necesita y las dependencias para abordar un problema antes de que se convierta en un problema importante.
IBM Instana democratiza la observabilidad al proporcionar una solución que cualquier persona que trabaja en DevOps, SRE, plataforma, ITOps y desarrollo puede usar para obtener los datos que desea con el contexto que necesita. Diseñada específicamente para la nube nativa pero independiente de la tecnología, la plataforma proporciona datos de alta fidelidad (con desglose de 1 segundo y rastreo de extremo a extremo) de forma automática y continua con el contexto de dependencias lógicas y físicas en dispositivos móviles, web, aplicaciones e infraestructura.
La plataforma de optimización de costos de nube híbrida IBM Turbonomic le permite automatizar continuamente las acciones críticas en tiempo real que brindan de manera proactiva el uso más eficiente de los recursos de computación, almacenamiento y red a sus aplicaciones en cada capa de la pila.
Aprenda cómo con Instana puede crear y gestionar sus objetivos de nivel de servicio para analizar las metas de calidad del servicio y confiabilidad en términos concretos, medibles y objetivos.
Explore cómo la observabilidad empresarial puede ayudarlo a saber cómo funciona todo, en todas partes y a la vez.
Automatice las tareas de operaciones de TI, acelere la entrega de software y minimice el riesgo de TI con la ingeniería de confiabilidad del sitio.
1"Objetivos de nivel de servicio", IBM, 6 de septiembre de 2023.