Microsoft Open Source Lumos, una biblioteca de Python para el monitoreo automático de métricas de aplicaciones web


Microsoft lanzó recientemente Lumos como una versión de código abierto, una biblioteca de Python para detectar y diagnosticar automáticamente regresiones métricas en aplicaciones de escala web. En un artículo técnico, los investigadores de la compañía afirman que Lumos se ha utilizado en millones de sesiones en los equipos de desarrollo de los equipos de Skype y Microsoft para permitir a los ingenieros detectar cientos de cambios en las métricas y rechazar miles de falsas alarmas que han sido detectadas por detectores de anomalías.

En línea La salud de los servicios generalmente se controla mediante el seguimiento de KPI (Indicadores clave de rendimiento) durante un largo período de tiempo. La regresión en estos casos requiere un seguimiento porque puede indicar problemas importantes que agregan costos y la posibilidad de pérdida de usuarios. Sin embargo, rastrear la causa raíz de cualquier regresión de KPI lleva mucho tiempo porque la investigación de una sola anomalía puede llevar días o semanas.

Lumos es un método novedoso que incluye detectores de anomalías específicas de dominio existentes, pero afirma que la tasa de alerta de falsos positivos se redujo en más del 90%. El proceso de determinar si un cambio se debe a un cambio de población o una actualización del producto se elimina porque se proporciona una lista priorizada de variables clave para explicar los cambios en el valor de la métrica. La biblioteca también tiene el propósito más amplio de comprender la diferencia en una métrica entre dos cuerpos, incluida la distorsión, al comparar un registro de control y tratamiento sin dejar de ser independiente del componente de serie temporal.

"[Lumos] ofrece a los propietarios de productos información importante sobre los cambios demográficos en su aplicación y … muestra oportunidades para que los propietarios de servicios mejoren su sistema de ingeniería", escriben los coautores del artículo. "[Lumos enables engineers] pasar menos tiempo diagnosticando regresiones métricas … y más tiempo creando funciones emocionantes".

VB Transform 2020 Online – 15.-17. Julio. Únase a los principales líderes de IA: regístrese para la transmisión en vivo gratuita.

Lumos utiliza los principios de las pruebas A / B para comparar pares de conjuntos de datos. Cada registro es un registro tabular en el que las filas corresponden a muestras y los valores de columna contienen métricas de interés, p. B. Las variables que representan el KPI, describen la población (por ejemplo, plataforma, tipo de dispositivo, tipo de red y país) y proporcionan hipótesis para el diagnóstico de regresiones métricas. Un archivo de configuración asociado especifica hiperparámetros (variables) para ejecutar el flujo de trabajo y especifica qué columnas en los registros de datos corresponden a las columnas métricas, invariantes e hipótesis.

Lumos primero comprueba si la regresión en la métrica entre conjuntos de datos es estadísticamente importante. Luego se realiza una comprobación de sesgo de población y normalización de distorsión para tener en cuenta los cambios de población entre los dos conjuntos de datos. Si la métrica no muestra una regresión estadísticamente significativa después de normalizar los datos, la regresión en la métrica se puede explicar cambiando la población. Sin embargo, si el delta es estadísticamente significativo en la métrica, las características se clasifican según su contribución al delta en la métrica objetivo.

Los investigadores de Microsoft dicen que Lumos sirve como la herramienta principal para el monitoreo de escenarios de cientos de métricas relacionadas con la métrica, confiabilidad de llamadas, reuniones y servicios de red telefónica pública (PSTN) en Microsoft. Se ejecuta en Azure Databricks, el servicio de análisis de big data basado en Apache Spark de la compañía. Se configuran varios trabajos en función de la prioridad, la complejidad y el tipo de métrica. Y los trabajos se ejecutan de forma asíncrona, de modo que siempre que se detecta una anomalía, se activa el flujo de trabajo de Lumos y se activa una advertencia de evento (ticket) si la biblioteca determina que es un problema legítimo.

“Supervisamos 15 métricas primarias basadas en dimensiones clave como plataforma, cliente, tipo de reunión [join, dial out, and create call]lo que resultó en miles de series de tiempo agregadas que rastreamos para una sola métrica. Tenemos millones de tramos de llamadas al día, y cada tramo genera cientos de campos de telemetría que sirven como entrada para Lumos ”, escriben los coautores, quienes afirman que Lumos ahorró del 65% al ​​95% del tiempo de desarrollo del equipo. “Un incidente que Lumos pudo detectar fue un error en el código que afectó el uso compartido de pantalla basado en video. Dos equipos diferentes han lanzado actualizaciones y aquellos que están en conflicto entre sí. Se produjeron errores cuando los usuarios intentaron usar la función de compartir pantalla. "

Los investigadores de Microsoft advierten que no se garantiza que Lumos intercepte todas las regresiones en los servicios y no puede proporcionar ningún conocimiento sin datos suficientemente grandes. Para abordar esto, planean enfocarse en expandir el soporte para métricas continuas, realizar la clasificación de características usando características de múltiples variantes e introducir la agrupación de características para abordar el problema de la multicolinealidad en la clasificación de características.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *