Passer la navigation

Progression de l’analyse de la disponibilité des machines virtuelles Azure avec Project Flash

Publié le 14 février, 2022

Chief Technology Officer and Technical Fellow, Microsoft Azure

« Alors que nous entamons la quatrième année civile de la série de billets de blog Advancing Reliability, l’une de nos principales priorités est de permettre aux organisations d’exécuter leurs charges de travail de manière fiable sur Azure. Pour y parvenir quotidiennement, nous investissons en continu dans l’enrichissement de la plateforme Azure. Votre capacité à surveiller la disponibilité des machines virtuelles de façon fiable et complète est primordiale pour garantir la disponibilité et la résilience de vos applications. Pour la publication d’aujourd’hui, j’ai demandé au responsable de programme Pujitha Desiraju de notre équipe d’ingénierie Azure Core Platform de parler des dernières améliorations en matière d’observabilité de la surveillance de la disponibilité des machines virtuelles, ainsi que des investissements planifiés pour offrir la meilleure expérience de surveillance », Mark Russinovich, Directeur technique, Azure


 

Ce billet a été co-écrit par Gaurav Jagtiani, Principal Software Engineering Manager.

Flash est le nom que nous avons donné au projet en interne. Il s’agit d’un ensemble d’efforts de l’équipe Azure Engineering dont le but est de faire évoluer l’écosystème de surveillance de la disponibilité des machines virtuelles Azure pour la transformer en solution centralisée, holistique et intelligible sur laquelle les clients peuvent s’appuyer pour leurs besoins d’observation spécifiques. Aujourd’hui, nous sommes ravis d’annoncer la fin des deux premières grandes étapes du projet : la préversion des données de disponibilité des machines virtuelles dans Azure Resource Graph et la préversion privée d’une métrique de disponibilité des machines virtuelles dans Azure Monitor.

Qu’est-ce que Projet Flash ?

Project Flash tire son nom de notre engagement à créer des méthodes fiables et rapides pour surveiller la disponibilité des machines virtuelles de manière aussi complète que possible, ce qui est un prérequis essentiel pour des performances d’application efficaces. C’est notre mission de nous assurer que vous pouvez :

  • Consommer des données précises et actionnables sur les interruptions de la disponibilité des machines virtuelles (par exemple, redémarrages de machines virtuelles, blocage de l’application en raison des mises à jour du pilote réseau et mises à jour du système d’exploitation hôte de 30 secondes), ainsi que des détails précis sur les défaillances (par exemple, initié par la plateforme ou l’utilisateur, redémarrage ou blocage, planification ou non).
  • Analyser les tendances en termes de disponibilité des machines virtuelles et générer les alertes associées pour le débogage rapide et la création de rapports mensuels.
  • Surveiller régulièrement les données à grande échelle et créer des tableaux de bord personnalisés pour connaître les états de disponibilité les plus récents de toutes les ressources.
  • Recevoir des analyses de la cause racine automatisées détaillant les machines virtuelles affectées, la cause et la durée du temps d’arrêt, les correctifs qui en résultent, etc. Tout cela a pour but de permettre des investigations ciblées et des analyses a posteriori.
  • Recevoir des notifications instantanées sur les modifications critiques apportées à la disponibilité des machines virtuelles pour déclencher rapidement des actions correctives et empêcher l’impact sur l’utilisateur final.
  • Adapter et automatiser dynamiquement les stratégies de récupération de plateforme, en fonction des besoins de charge de travail et de basculement en constante évolution.

Avec ces objectifs à l’esprit, nous avons divisé notre stratégie d’exécution en deux phases : une phase à court terme pour répondre aux besoins actuels critiques et une phase à long terme pour offrir la meilleure expérience de surveillance de la disponibilité des machines virtuelles. Cette approche en deux phases nous permet de combler les lacunes en continu, d’effectuer des itérations sur la qualité du service et de tirer des enseignements de vos commentaires à chaque étape.

Annonce de nouvelles options de surveillance

Pour la première phase, nous fournissons différentes options pour permettre un accès pratique aux données de disponibilité des machines virtuelles afin de répondre à un éventail de besoins d’observation. Nous avons l’intention de préserver la cohérence des données avec des normes de qualité rigoureuses similaires sur l’ensemble des fonctionnalités et solutions existantes, comme Resource Health ou le journal d’activité, afin de fournir une vue cohérente, peu importe la solution que vous choisissez.

Présentation de l’analyse à grande échelle de la disponibilité des machines virtuelles

Aujourd’hui, nous sommes ravis de finaliser notre première grande étape de Project Flash, avec la préversion des états de disponibilité des machines virtuelles dans Azure Resource Graph pour la consommation programmatique à grande échelle.

Azure Resource Graph est un service Azure qui est largement adopté pour sa capacité d’interroger efficacement plusieurs abonnements, en tout temps et à de faibles latences. Nous générons actuellement les états de disponibilité des machines virtuelles (disponible, non disponible et inconnu) dans la table Resource Health dans Azure Resource Graph. Vous pouvez ainsi effectuer des requêtes complexes KQL (Kusto Query Language) dans plusieurs jeux de données volumineux à la fois. Cette fonctionnalité est pratique pour le suivi des modifications historiques de la disponibilité des machines virtuelles, pour la création de tableaux de bord personnalisés et pour effectuer des investigations détaillées sur de nombreuses propriétés de ressource réparties sur plusieurs tables.

Fenêtre Explorateur Azure Resource Graph avec des requêtes et des résultats, pour illustrer l’extraction de données à partir de la table HealthResources.

Figure 1 : Fenêtre Explorateur Azure Resource Graph avec des requêtes et des résultats, pour illustrer l’extraction de données à partir de la table HealthResources.

Nous envisageons d’ajouter les détails des échecs et les scénarios de machines virtuelles détériorés à la table des ressources d’intégrité dans Azure Resource Graph plus tard cette année. Ces détails vous permettront de vous assurer que vous êtes correctement informé de la cause et de l’impact des défaillances, de sorte que vous pouvez basculer, redémarrer ou prendre les mesures d’atténuation appropriées pour empêcher l’impact sur l’utilisateur final.

Accédez à l’Explorateur Azure Resource Graph sur le Portail Azure pour commencer à utiliser les requêtes KQL publiées pour la table des ressources d’intégrité.

Présentation des métriques de disponibilité des machines virtuelles dans Azure Monitor

Nous sommes également heureux d’annoncer la préversion privée d’une métrique de disponibilité des machines virtuelles prête à l’emploi dans Azure Monitor, qui offre une expérience organisée de surveillance et d’alerte sur les métriques.

Les métriques dans Azure Monitor sont idéales pour la surveillance et l’analyse des représentations des séries chronologiques de disponibilité des machines virtuelles pour un débogage rapide et facile, la réception d’alertes étendues sur les tendances inquiétantes, l’interception d’indicateurs précoces d’une disponibilité détériorée, la mise en corrélation avec d’autres métriques de plateforme et bien plus encore.

La métrique vous permet de suivre la pulsation de vos machines virtuelles. Tant que le comportement est attendu, la métrique affiche la valeur 1. En réponse aux interruptions de disponibilité des machines virtuelles, la métrique affiche 0 pendant la durée de l’impact. En cas de panne de l’infrastructure Azure, nous émettrons des valeurs null représentées sous la forme d’une ligne en pointillés sur le portail.

Capture d’écran des métriques de disponibilité des machines virtuelles comme indiqué sur Metrics Explorer dans le Portail Azure, avec des baisses occasionnelles pour refléter les interruptions de disponibilité des machines virtuelles.

Figure 2 : Capture d’écran des métriques de disponibilité des machines virtuelles comme indiqué sur Metrics Explorer dans le Portail Azure, avec des baisses occasionnelles pour refléter les interruptions de disponibilité des machines virtuelles.

Nous avons publié la préversion privée de la métrique comme phase 1 de notre plan de lancement et nous recueillons actuellement des commentaires client pour améliorer davantage notre offre. Nous envisageons d’ajouter des détails sur les échecs tels que les dimensions de métriques et les journaux de plateforme l’année prochaine, afin de vous permettre de générer des alertes précises sur les scénarios de défaillance ayant un impact.

Bientôt disponible

Les deux options de surveillance présentées ci-dessus ne sont que le début du projet Flash. Nous continuerons à étayer nos solutions existantes en améliorant la qualité des données et l’attribution des échecs. En parallèle, nous concevons deux nouvelles offres de surveillance pour répondre à vos besoins en matière de latence et d’atténuation, tout en investissant massivement dans la plateforme sous-jacente afin de rendre la détection des erreurs plus résistante et plus complète.

Azure Event Grid pour des notifications instantanées

Si vous exécutez avec succès des applications critiques, vous devez être conscient de tout événement affectant la disponibilité des machines virtuelles, afin que des actions correctives puissent être déclenchées instantanément afin d’éviter tout impact sur l’utilisateur final. Pour vous soutenir dans vos opérations quotidiennes, nous envisageons de concevoir un mécanisme de notification qui tire parti de la technologie à faible latence d’Azure Event Grid. Cela vous permettra de vous abonner simplement à une rubrique système Event Grid et de router les événements délimités via des gestionnaires d’événements à tous les outils en aval, instantanément.

Automatisation et personnalisation des stratégies de récupération de plateforme

En prenant en compte les nombreux investissements en cours pour améliorer l’expérience de surveillance de la disponibilité des machines virtuelles, Project Flash vous offre davantage de possibilités en vous fournissant des boutons permettant de personnaliser les stratégies de récupération déclenchées par la plateforme, en réponse aux interruptions de la disponibilité des machines virtuelles.

L’un des boutons que nous concevons est la possibilité de refuser la réparation de service pour les machines virtuelles à instance unique, en réponse à un ensemble spécifique d’interruptions de disponibilité non anticipées. Ce bouton sera disponible via le portail ou au moment du déploiement de la machine virtuelle et peut être mis à jour de manière dynamique. Notez que l’utilisation de cette fonctionnalité rendra les contrats SLA de disponibilité de machines virtuelles Azure habituels inefficaces.

À l’avenir, nous explorerons l’introduction des boutons pour refuser également d’autres stratégies de récupération applicables (par exemple, migration dynamique ou Tardigrade), afin de garantir que vous pouvez facilement vous adapter en fonction de vos besoins en matière d’atténuation en perpétuelle évolution.

Investissements continus de qualité de plateforme

Alors que la première phase soit conçue pour répondre à vos besoins actuels en matière d’observabilité, nous nous restons concentrés sur notre objectif à long terme de fournir une expérience d’observation de classe mondiale autour de la disponibilité des machines virtuelles. Nous sommes très enthousiastes pour tous les enrichissements de données et avancées technologiques qui contribueront à cette expérience. Voici donc un aperçu de notre feuille de route des investissements planifiés :

  1. Attribution  et détection des erreurs : Nous développons en permanence notre infrastructure sous-jacente pour détecter les défaillances de manière précise et instantanée, afin que nous puissions réduire les rapports d’état d’intégrité inconnus ou manquants, émettre des détails d’échec actionnables et gérer les personnalisations de la récupération de la plateforme. Cela reste la première zone d’investissement sur laquelle nous continuons à travailler lors de chaque cycle.
  2. Automatisation de l’analyse de la cause racine : Nous envisageons d’implémenter des mécanismes de suivi faciles pour chaque temps d’arrêt de machine virtuelle unique, ainsi que la construction et l’émission automatiques d’instructions d’analyse de la cause racine de temps d’arrêt détaillées pour réduire le suivi manuel de votre côté.
  3. Intégration AIOps : Nous cherchons à tirer parti des énormes progrès réalisés dans l’approche AIOps par Microsoft, pour permettre l’analyse intelligente et la détection d’anomalies et le diagnostic pour la multitude de points de données sur la disponibilité des machines virtuelles.
  4. Expérience utilisateur centralisée et cohérente : Nous reconnaissons qu’une conséquence de notre approche à court terme est que dans nos différents services, nous disposons de plusieurs outils de surveillance, d’alerte et de récupération, ce qui peut créer une expérience confuse et disparate pour vous. Il s’agit d’un problème que nous envisageons de résoudre avec notre dernière phase. Notre objectif final est de fournir aux utilisateurs finaux un accès aux représentations distinctes et nécessaires de la disponibilité des machines virtuelles, consolidées dans Azure Monitor et classées en fonction des modèles d’utilisation courants pour la détectabilité, la facilité d’utilisation et l’intégration intuitive.

En savoir plus

Cette liste n’est certainement pas exhaustive, car nous avons planifié plusieurs enrichissements dans le cadre de notre stratégie à long terme. Pour rappel, notre intention avec Project Flash est de rendre la surveillance de la disponibilité des machines virtuelles extrêmement intuitive, complète et transparente afin que vous soyez toujours prêt et informé de toute modification de l’intégrité de vos charges de travail, afin de préserver vos propres contrats SLA et vos promesses commerciales.

Nous continuerons à partager les mises à jour sur Project Flash par le biais de billets de blog comme celui-ci, pour vous assurer de rester à jour sur la dernière version. Restez connecté !