Cómo Azure utiliza AIOps para garantizar la confiabilidad y seguridad de sus servicios en la nube

Los servicios en la nube cambian constantemente, ya sea agregando nuevas características o corrigiendo errores y vulnerabilidades de seguridad; esa es una de las grandes ventajas en comparación con el software local. Sin embargo, cada cambio también es una oportunidad para introducir errores y regresiones que son las principales causas de problemas de confiabilidad y tiempo de inactividad en la nube. En un intento por evitar problemas como ese, Azure utiliza un proceso seguro de implementación que despliega actualizaciones en fases, ejecutándolas en infraestructuras de anillos cada vez más grandes y utilizando monitoreo continuo impulsado por IA para detectar cualquier problema que se haya pasado por alto durante el desarrollo y las pruebas.

Cuando Microsoft lanzó su servicio Chaos Studio para probar cómo funcionan las cargas de trabajo con fallas inesperadas el año pasado, el CTO de Azure, Mark Russinovich, explicó el proceso seguro de implementación. "Pasamos por un clúster de canary como parte de nuestra implementación segura, que es una región interna de Azure donde tenemos pruebas sintéticas y tenemos cargas de trabajo internas que prueban los servicios antes de ser lanzados. Este es el primer entorno de producción al que llega el código de la actualización del nuevo servicio, por lo que queremos asegurarnos de poder validar y tener una buena idea de su calidad antes de implementarlo y que realmente llegue a los clientes".

Después de la región canary, el código se implementa en una región piloto, luego en una región con uso ligero, luego en una región con uso más intensivo, y luego progresivamente en todas las regiones de Azure (que se agrupan en pares geográficamente, de modo que las actualizaciones llegan primero a una región de cada par y luego a la otra). Durante todo ese proceso de implementación, explicó, "tenemos AIOps monitoreando todo para buscar regresiones".

Las AIOps, técnicas que utilizan big data, aprendizaje automático y visualización para automatizar las operaciones de TI, pueden detectar problemas que los desarrolladores no pueden encontrar depurando su código porque podrían ser causados por dependencias o interacciones que solo se presentan cuando el código está en vivo y se utiliza en conjunto con otros servicios de Azure.

Un despliegue defectuoso puede hacer que las máquinas virtuales se bloqueen, las ralentiza, las haga tardar más en aprovisionarse o detenga su comunicación, o puede afectar a los agentes de monitoreo, almacenamiento, telemetría o operaciones en el plano de control; pero esos problemas también podrían ser causados por una falla de hardware, problemas temporales de red o tiempos de espera en las API de servicio que no se solucionarían deshaciendo la última implementación. Se realizan cientos de implementaciones al día en Azure, y la mayoría de las implementaciones se dirigen a cientos o miles de clústeres, todos los cuales deben monitorearse, y una implementación puede llevar mucho tiempo (entre diez minutos y 18 horas). Con miles de componentes en funcionamiento en más de 200 centros de datos y más de 60 regiones, donde los problemas como una fuga de memoria podrían no aparecer durante varios días, o podrían manifestarse como problemas muy sutiles en muchos clústeres que se suman a un problema significativo en toda una región, es difícil para los operadores humanos determinar exactamente qué cambios causaron un problema específico, especialmente si son causados por interacciones con otro componente o servicio.

El sistema AIOps que utiliza Microsoft, llamado Gandalf, "observa la implementación y las señales de salud en la nueva versión y su tiempo de ejecución largo y encuentra correlaciones, aunque no sean obvias", según Microsoft. Gandalf analiza datos de rendimiento (incluido el uso de CPU y memoria), señales de falla (como bloqueos del sistema operativo, fallas en los nodos y reinicios de máquinas virtuales, así como fallas en las llamadas API en el plano de control) y toma información de otros servicios de Azure que rastrean fallas para detectar problemas y vincularlos a implementaciones específicas.

Cómo funciona el protocolo FTP y cómo resolver problemas relacionados con él

Sabe cuándo ocurre una implementación y analiza cuántos nodos, clústeres y clientes se verían afectados por una falla, para recomendar si el nuevo código es seguro para implementarlo en Azure o si debería bloquearse porque causa problemas en la región canary que se traducirían en problemas significativos en producción.

Gandalf captura información de fallas una hora antes y después de cada implementación como datos continuos en Azure Data Explorer (también conocido como Kusto), que está diseñado para análisis rápido: por lo general, Gandalf tarda unos cinco minutos en tomar una decisión sobre una implementación. También realiza un seguimiento del comportamiento del sistema durante 30 días después de la implementación para detectar problemas a largo plazo (esas decisiones toman alrededor de tres horas).

No es la única técnica que utiliza Microsoft para hacer que Azure sea más resistente. "Gandalf detendría una fuga de memoria causada por una nueva versión regresiva. Mientras tanto, tenemos un mecanismo de resiliencia para mitigar automáticamente los nodos ya implementados con problemas de fuga, como reiniciar el nodo si no hay cargas de trabajo de clientes o migrar en vivo las máquinas virtuales en ejecución si el nodo no está vacío", dijo Microsoft.

"AIOps es bueno para detectar patrones que ocurren naturalmente y hacer correlaciones basadas en datos históricos, así como en el entrenamiento", dijo Microsoft. Los problemas que encuentra son con la carga de implementación nueva, pero hay otros problemas como los errores de día cero que Azure utiliza otras técnicas como las pruebas de caos para encontrar. "Los errores de día cero podrían ser activados por cargas de trabajo que ocurren raramente, manifestándose tanto en versiones anteriores como en nuevas versiones y ocurren al azar, o no tienen una correlación fuerte con la nueva implementación. Las pruebas de caos pueden capturar dichos errores al introducir fallas al azar y probar que el sistema se mantiene como se espera".

Gandalf ha estado en funcionamiento durante casi cuatro años, inicialmente para algunos componentes clave de la infraestructura de Azure, deteniendo implementaciones que de otro modo habrían causado fallas críticas. Ahora abarca más componentes de Azure, incluido el parcheo en caliente de hosts de Azure; "Estamos creando soluciones de monitoreo integrales para la salud de los recursos del host de Azure y bloqueando las implementaciones que causan fugas de recursos del host, como memoria y espacio en disco", dijo Microsoft.

"Estamos construyendo inteligencia para evaluar la calidad de las nuevas versiones de los componentes de la infraestructura de Azure utilizando AIOps antes de implementar un componente en producción. La idea principal es construir un entorno de preproducción que pueda ejecutar pruebas A/B para cargas de trabajo representativas de los clientes. Este entorno de preproducción también tiene una buena representación de la configuración de un entorno de producción (hardware, SKU de VM, etc.). Este sistema obtiene comentarios de Gandalf, por lo que se evitarán problemas similares capturados en el entorno de producción cuando se implemente", agregó.

Microsoft lanza servicio gratuito de almacenamiento en la nube para usuarios de Windows

Gandalf ahora analiza más señales. "Hemos comenzado a explorar ideas de correlacionar señales en todo el conjunto de Azure, desde los centros de datos (como temperatura, humedad), hardware, entorno de host, hasta la experiencia del cliente". Y está mejorando en la correlación de fallas. "Estamos trabajando para dar mayor peso a las fallas que afectan a clientes críticos o servicios de alto costo", dijo un portavoz.

También se está aplicando a cambios en la configuración de Azure, así como los componentes que conforman el servicio. "Además de la seguridad en la implementación de la carga útil, estamos construyendo inteligencia para garantizar que cualquier cambio (configuración) en producción sea seguro".

AIOps para empresas

Gandalf es parte de cómo Microsoft protege Azure y, al igual que otras herramientas internas como la ingeniería del caos, la compañía está considerando empaquetar algunas de estas técnicas de implementación de AIOps como un servicio para proteger las cargas de trabajo de los clientes.

Microsoft Defender for Cloud (anteriormente conocido como Azure Security Center) y Sentinel cloud SIEM ya utilizan técnicas similares de aprendizaje automático para la seguridad, señaló Russinovich. "AIOps opera allí efectivamente para analizar los datos y determinar si hay un incidente. La forma en que hemos usado AIOps para analizar la telemetría dentro de Azure y comprender si hay una regresión o un incidente en el hardware o software en algún lugar, se muestra en los servicios que admiten los datos de monitoreo que tenemos, como Azure Monitor", sugirió.

Microsoft ya tiene clientes de Azure que operan a la misma escala que sus propios servicios internos, y las grandes organizaciones ya están utilizando herramientas de AIOps para administrar su propia infraestructura, por lo que tiene sentido brindarles estas herramientas para que funcionen de manera confiable a escala en la nube.

Cómo evitar que el archivo de registro de transacciones en SQL Server crezca demasiado grande

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Nube, allí encontraras muchos artículos similares a Cómo Azure utiliza AIOps para garantizar la confiabilidad y seguridad de sus servicios en la nube , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.