Evolución de las operaciones con observabilidad

Completado
Obtenga visibilidad del sistema, derive información y tome decisiones basadas en datos.

Cree una referencia cultural que mejore continuamente la calidad mediante la supervisión de la carga de trabajo y tomando en consideración todos los pilares del marco de buena arquitectura de Azure. Permita que el equipo y las partes interesadas tomen decisiones a corto y largo plazo en muchas facetas al proporcionarles los datos, estadísticas y tendencias necesarios. Obtenga información sobre sus datos e impulse las mejoras.

Las operaciones creadas con fines de observabilidad son clave para el mantenimiento proactivo de la aplicación, la calidad y la seguridad, la planificación de la capacidad y la administración de productos.

Un aspecto fundamental de la supervisión de aplicaciones es el uso del modelado de estado para ayudarle a anticipar problemas antes de que se conviertan en incidentes y afecten a la experiencia del cliente. La supervisión eficaz reduce los ciclos reactivos invertidos en la administración de incidentes.

Escenario de ejemplo

Contoso desarrolló una aplicación para uso interno denominada Contoso Real Estate. Esta aplicación web permite que los nuevos empleados o empleados existentes que están reubicándose puedan buscar y reservar viviendas a corto plazo para ayudarles con la mudanza. El departamento de RR. HH. de Contoso también usa la aplicación para ayudar con las reubicaciones.

La aplicación está en producción y se implementa completamente en Azure. Se basa en microservicios mediante Azure Container Apps y también usa Azure Functions, Azure Database for PostgreSQL, Azure Blob Storage y Azure Monitor.

Observar la carga de trabajo a través de la telemetría

Emita telemetría a partir del código de aplicación que correlaciona los puntos clave del flujo de ejecución y proporciona una vista de un extremo a otro en distintos niveles de granularidad.

Priorice las acciones en función del nivel de gravedad y comprenda el contexto según su detalle. Esta información es fundamental para solucionar problemas.

Desafío de Contoso

  • Los usuarios informan de que, después de una actualización reciente de la aplicación Contoso Real Estate, a veces ven una página en blanco o un mensaje de error genérico en la página de búsqueda de la aplicación web. Los errores parecen aleatorios y la funcionalidad de búsqueda suele funcionar si los usuarios simplemente actualizan la página o vuelven a enviar la búsqueda.
  • Al revisar los registros en el microservicio de búsqueda, el equipo observa un aumento de los errores debido a tiempos de espera que se conectan a Azure Database for PostgreSQL, pero actualmente no tienen forma de saber si un error que ve en los registros de microservicios de búsqueda corresponde a las páginas de error que ven los usuarios o no.

Aplicación del enfoque y los resultados

  • El equipo de desarrollo ha decidido expandir la información que registran desde la aplicación web y los microservicios principales para profundizar más en el problema. Para el escenario de búsqueda, se aseguran de capturar los términos de búsqueda junto con otros atributos de transacción disponibles, como time, client ip y username asociados a la búsqueda. Estos datos adicionales deben proporcionarles suficiente información para poder correlacionar transacciones entre niveles.
  • Este cambio permitió al equipo confirmar que los tiempos de espera de consulta de base de datos, que no se administraban correctamente en la última actualización de la aplicación, eran la causa principal de los errores que experimentaban los usuarios. Después de encontrar la causa principal, era sencillo que el equipo implementara una corrección.
  • El equipo está diseñando un nuevo enfoque, mediante OpenTelemetry, para implementar una solución de seguimiento distribuida más completa que abarque todos los niveles de solución.

Visualización de datos de supervisión en paneles

Agregue y visualice los datos en los paneles para presentar los datos de supervisión que se adaptan a las audiencias y mantiene el contexto empresarial en mente. Use paneles situacionales para exponer datos para impulsar la concienciación entre las partes interesadas. Use paneles operativos y libros con funcionalidades de exploración en profundidad para actividades de operador como la respuesta a incidentes. Actualice con frecuencia los paneles y proporcione datos pormenorizados.

Con las visualizaciones, puede analizar tendencias, realizar un seguimiento de los objetivos empresariales y administrar incidentes.

Los paneles que se adaptan al interés del cliente hacen que la interpretación sea relevante y acelere el tiempo de detección y acción.

Desafío de Contoso

  • El equipo de carga de trabajo agrega datos de telemetría de todos los niveles de solución a una única área de trabajo de Log Analytics, a la que pueden acceder los equipos de operación y desarrollo y otras partes interesadas del proyecto. Sin embargo, la interacción con los datos es difícil y compleja, lo que es frustrante para los miembros del equipo que necesitan distinguir el ruido en segundo plano de los datos accionables.

Aplicación del enfoque y los resultados

  • El equipo se embarca en un esfuerzo por agregar y visualizar datos mediante paneles. Cada panel se adaptará a un público específico:
    • Los paneles de las partes interesadas de la solución estarán más orientados al negocio, presentando una visión general de nivel superior de la salud general de la solución, junto con indicadores empresariales como el número de usuarios servidos, búsquedas y reservas realizadas.
    • Los paneles operativos y los libros tendrán datos más detallados y granulares para el equipo de operaciones. Estos paneles tendrán funcionalidades de exploración en profundidad que permiten a los usuarios explorar los datos en distintos niveles de granularidad. Los usuarios podrán usar estos paneles y libros para realizar la solución de problemas y otras tareas de respuesta a incidentes.
  • Los paneles permitirán a los usuarios analizar tendencias, realizar un seguimiento de los objetivos empresariales y administrar incidentes de forma más eficaz. Los datos presentados en cada panel serán más relevantes para su público previsto y serán impulsados por sus intereses y necesidades.

Diseño de una estrategia de alertas sólida

Haga que las alertas sean accionables mediante la notificación a los roles responsable con descripciones estandarizadas y niveles de gravedad. Proporcione información que se intercala de varios orígenes y realice un seguimiento de las desviaciones de los objetivos empresariales.

Desencadene alertas solo para incidentes que requieren acción y se esfuerzan por alertas proactivas y que desencadenan alertas que inician acciones antes de que un estado degradado se convierta en un error. Un buen sistema de alertas identifica las acciones y la gravedad y proporciona datos suficientes para impulsar la claridad y el propósito. Los operadores pueden iniciarse en la corrección sin demora.

Desafío de Contoso

  • Azure Monitor se usa para enviar alertas al equipo de operaciones cuando algo va mal. Sin embargo, el equipo recibe actualmente demasiadas alertas que son irrelevantes, poco claras o redundantes. Esto provoca fatiga de alertas y afecta a la productividad del equipo y provoca que algunas alertas importantes pasen desapercibidas.
  • También se han producido algunas situaciones de interrupciones que podrían haberse evitado o minimizado si se envió una alerta anticipando un error. Si el equipo hubiera alertado mejor sobre la degradación antes de que se produjeran las interrupciones, estas situaciones podrían haberse evitado. Por ejemplo, ha habido ocasiones en las que las ralentizaciones en el tiempo de procesamiento de consultas de base de datos han provocado interrupciones. Al solucionar las interrupciones, el equipo observa que el rendimiento del procesamiento de consultas disminuye lentamente con el tiempo, empeorando cada vez más hasta que se produce una interrupción completa.

Aplicación del enfoque y los resultados

  • El equipo de la operación comienza una iniciativa para limpiar todas las alertas de prioridad baja que provocan fatiga de alertas. Solo las alertas críticas y accionables pueden permanecer activas. Además, el equipo revisa (y mejora según sea necesario) las alertas que permanecerán activas para asegurarse de que contienen suficiente contexto para permitirles tomar las medidas correctivas necesarias.
  • También aprovechan la oportunidad de definir nuevas alertas proactivas y accionables que les permitirán tomar medidas antes de que se produzca un error. Por ejemplo, generan una nueva alerta para notificar a los DBA tan pronto como aparezca una ralentización coherente en el rendimiento de las consultas de base de datos.
  • Como paso siguiente, el equipo está buscando automatizar las respuestas a alertas comunes, como la situación con el rendimiento de las consultas de base de datos.

Comprobación de conocimientos

1.

¿Cómo pudo Contoso identificar la causa principal del problema que involucraba páginas en blanco y errores genéricos que experimentaron algunos usuarios?

2.

¿Cuál de las siguientes es una buena manera de diseñar paneles de supervisión?

3.

Verdadero o falso: las alertas deben ser principalmente informativas.