Elige tus indicadores de nivel de servicio (SLI)

Last reviewed 2024-03-29 UTC

En este documento del framework de arquitectura de Google Cloud, se describe cómo elegir los indicadores de nivel de servicio (SLI) adecuados para tu servicio. Este documento se basa en los conceptos definidos en Componentes de los SLO.

Las métricas son necesarias para determinar si se cumplen tus objetivos de nivel de servicio (SLO). Debes definir esas métricas como SLI. Cada SLI es la medición de un aspecto específico del servicio, como el tiempo de respuesta, la disponibilidad o la tasa de éxito.

Los SLO incluyen uno o más SLI y, de manera ideal, se basan en recorridos críticos del usuario (CUJ). Los CUJ hacen referencia a un conjunto específico de interacciones o rutas de los usuarios que estos siguen para lograr su objetivo en un sitio web. Considera un cliente que compra en un servicio de comercio electrónico. El cliente accede, busca un producto, agrega el artículo a un carrito, navega a la página de confirmación de compra y finaliza la compra. Los CUJ identifican las diferentes formas de ayudar a los usuarios a completar tareas lo más rápido posible.

Cuando eliges los SLI, debes considerar las métricas que son adecuadas para tu servicio, los diversos tipos de métricas que puedes usar, la calidad de la métrica y la cantidad correcta de métricas necesarias.

Elige los SLI adecuados para tu tipo de servicio

Existen muchos tipos de servicios. En la siguiente tabla, se enumeran los tipos de servicios comunes y se proporcionan ejemplos de SLI para cada uno. Algunos SLI se aplican a varios tipos de servicios. Si un SLI aparece más de una vez en la tabla, solo la primera instancia de SLI proporciona una definición. Recuerda que los SLI a menudo se expresan por la cantidad de “nueves” en la métrica.

Tipo de servicio SLI típicos
Sistemas de servicio
  • Disponibilidad: el porcentaje del servicio que se puede usar. La disponibilidad se define como la fracción de solicitudes exitosas divididas por la cantidad total de solicitudes y se expresa como un porcentaje, como el 99.9%.
  • Latencia: la rapidez con la que se llega a un porcentaje determinado de solicitudes. Por ejemplo, el percentil 99 en 300 ms.
  • Calidad: la medida en la que el contenido de la respuesta a una solicitud difiere del contenido de respuesta ideal. Por ejemplo, una escala del 0% al 100%.
Sistemas de procesamiento de datos
  • Cobertura: la cantidad de datos que se procesaron, expresada como una fracción. Por ejemplo, 95%.
  • Precisión: la fracción de datos de salida que se consideran correctos. Por ejemplo, 99.99%.
  • Actualidad: la actualidad de los datos de origen o los datos de salida agregados. Por ejemplo, los datos se actualizaron hace 20 minutos.
  • Capacidad de procesamiento: la cantidad de datos procesados. Por ejemplo, 500 MiB por segundo o 1,000 solicitudes por segundo.
Sistemas de almacenamiento
  • Durabilidad: la probabilidad de que se acceda a los datos escritos en el sistema en el futuro Por ejemplo, 99.9999%.
  • Tiempo hasta el primer byte (TTFB): es el tiempo que se tarda en enviar y obtener el primer byte de una página.
  • Disponibilidad de BLOB: la proporción de solicitudes de los clientes que muestran una respuesta de error sin servidor a la cantidad total de solicitudes de los clientes.
  • Capacidad de procesamiento
  • Latencia
Sistemas de control de solicitudes
  • Disponibilidad
  • Latencia
  • Calidad
Sistemas de ejecución programada
  • Desviación: la proporción de ejecuciones que comienzan en un período aceptable en torno a la hora de inicio prevista.
  • Ejecución: el tiempo que tarda un trabajo en completarse. Para una ejecución determinada, un modo de falla común consiste en que la duración real supere la duración programada.

Evalúa diferentes tipos de métricas

Además de elegir el SLI adecuado para tu servicio, debes decidir el tipo de métrica que usarás en el SLI. Los SLI enumerados en la sección anterior suelen ser de uno de los siguientes tipos:

  • Contador: este tipo de métrica puede aumentar, pero no disminuir. Por ejemplo, la cantidad de errores que se generaron hasta un punto de medición determinado.
  • Indicador: este tipo de métrica puede aumentar o disminuir. Por ejemplo, el valor real de una parte medible del sistema (como la longitud de la cola).
  • Distribución (histograma): la cantidad de eventos que residen en un segmento de medición determinado durante un período determinado. Por ejemplo, mides cuántas solicitudes tardan de 0 a 10 ms en completarse, cuántas tardan de 11 a 30 ms y cuántas tardan de 31 a 100 ms. El resultado es un recuento de cada bucket, como [0-10: 50], [11-30: 220] y [31-100: 1103].

Para obtener más información sobre estos tipos, consulta la documentación del proyecto de Prometheus y los tipos de valores y clases de métricas en Cloud Monitoring.

Considera la calidad de la métrica

No todas las métricas son útiles. Además de ser una proporción entre los eventos correctos y el total de eventos, debes determinar si una métrica es un SLI adecuado para tus necesidades. Para ayudarte a tomar esa determinación, considera las siguientes características de una buena métrica:

  • Las métricas se relacionan directamente con la satisfacción del usuario. Los usuarios no están satisfechos cuando un servicio no se comporta como se espera, como cuando el servicio es lento, impreciso o falla por completo. Para validar cualquier SLO basado en estas métricas, compara el SLI con otros indicadores de satisfacción del usuario. En esta comparación, se incluyen datos como la cantidad de tickets de reclamos de los clientes, el volumen de llamadas de asistencia y la opinión en las redes sociales. (Para obtener más información, consulta Mejora continua de los objetivos de SLO).

    Si tu métrica no se alinea con estos otros indicadores de satisfacción del usuario, es posible que no sea un SLI adecuado.

  • El deterioro de la métrica se correlaciona con las interrupciones. Cualquier métrica que informe buenos resultados del servicio durante una interrupción es claramente una métrica incorrecta para un SLI. Por el contrario, una métrica que no se ve bien durante el funcionamiento normal también resulta problemático.

  • La métrica brinda una buena proporción de la relación señal/ruido. Descarta cualquier métrica que genere una gran cantidad de falsos negativos o falsos positivos.

  • La métrica escala de forma monótona y lineal con la satisfacción del cliente. En pocas palabras, a medida que la métrica mejora, la satisfacción del cliente también lo hace.

Selecciona la cantidad correcta de métricas

Un solo servicio puede tener varios SLI, en especial si el servicio realiza diferentes tipos de trabajo o entrega a diferentes tipos de usuarios. Es mejor elegir las métricas adecuadas para cada tipo.

Por el contrario, algunos servicios realizan tipos de trabajos similares, que se pueden comparar directamente. Por ejemplo, usuarios que ven diferentes páginas en tu sitio (como la página principal, las subcategorías y la lista de las 10 principales). En lugar de desarrollar un SLI diferente para cada una de estas acciones, combínalos en una sola categoría de SLI, como servicios de navegación.

Las expectativas de tus usuarios no cambian mucho entre las acciones de una categoría similar. Su satisfacción se puede cuantificar a través de la respuesta a esta pregunta: “¿Visualicé una página completa de elementos rápidamente?”.

Usa la menor cantidad de SLI posible para representar con precisión las tolerancias del servicio. Como guía general, debes tener entre dos y seis SLI. Con muy pocos SLI, puedes perder indicadores valiosos. Si hay muchos SLI, tu equipo de asistencia al cliente tendrá demasiados datos con pocos beneficios adicionales. Los SLI deben simplificar la comprensión del estado de la producción y proporcionar una sensación de cobertura, no abrumarte (ni decepcionarte).

Próximos pasos