Fiabilité dans Azure

Dans les environnements cloud, les défaillances sont inévitables. Des pannes matérielles, des défauts logiciels, des erreurs de configuration, des pics de trafic, des pannes de centre de données et même des pannes à l’échelle de la région peuvent se produire. La fiabilité est la capacité d’une charge de travail à répondre aux attentes de l’entreprise, même pendant les défaillances ou les interruptions. Avec l’architecture et les opérations appropriées, les défaillances n’ont pas besoin d’entraîner un temps d’arrêt.

Les temps d’arrêt non planifiés peuvent avoir un impact considérable. Il porte un coût financier et endommage la confiance des clients et des utilisateurs. Au-delà de ces impacts immédiats, la fiabilité médiocre affecte les obligations de conformité et le positionnement concurrentiel. Vos équipes passent plus de temps à la lutte contre les incendies et à moins de temps à livrer de la valeur. Il peut même déclencher des pénalités contractuelles au niveau du service.

Azure fournit des services d'infrastructure et managés résilients, mais la fiabilité de votre charge de travail dépend de la conception et des décisions opérationnelles que vous prenez : comment vous concevez votre architecture, configurez des services, gérez les dépendances, automatisez les réponses aux problèmes et testez les logiciels et processus. La conception précoce de la fiabilité vous permet de réduire les défaillances et de s’assurer que, lorsqu’elles se produisent, votre charge de travail se dégrade de manière prévisible et contrôlée qui s’aligne sur les priorités de l’entreprise.

Une charge de travail fiable a deux propriétés essentielles :

  • Elle est résiliente, ce qui signifie qu’elle peut absorber les défaillances et les changements dans l’environnement tout en continuant à fonctionner au niveau de service acceptable.
  • Il est également récupérable, ce qui signifie qu’en cas d’interruption, la charge de travail peut restaurer des opérations normales dans le temps défini et les limites de perte de données.

Vous avez besoin des deux propriétés pour répondre aux attentes de disponibilité réelles et maintenir la continuité de l’activité.

La fiabilité dans Azure fonctionne sur trois couches interconnectées :

  • Votre application : vos choix architecturaux, pratiques et processus, notamment la gestion des dépendances, les runbooks, l’automatisation et les tests
  • Fonctionnalités de fiabilité, notamment :
    • Services de charge de travail et configuration : comment configurer les services Azure qui exécutent votre charge de travail et les fonctionnalités de fiabilité que vous configurez dans ces services
    • Azure services de plateforme : Azure services qui prennent spécifiquement en charge la fiabilité de la charge de travail, comme l’équilibrage de charge, DNS, le routage du trafic et la supervision
  • Fondements de la fiabilité : résilience intégrée de Azure, comme les zones de disponibilité, les régions et les pratiques de déploiement sécurisées

Ces couches fonctionnent ensemble pour déterminer la fiabilité globale de la charge de travail. Les comprendre vous aide à faire la distinction entre ce que Azure fournit par défaut et ce que vous devez concevoir, configurer et utiliser.

Ce modèle vous aide à tirer parti de ce que Azure fournit tout en prenant la responsabilité de ce que vous ne pouvez concevoir. Cet article se concentre sur ce que Azure fournit sur ces couches. Pour obtenir des conseils complets sur la couche conception et opérations de la charge de travail (conception de solutions résilientes et de modèles architecturaux), consultez l’infrastructure Azure Well-Architected et en particulier le pilier de fiabilité.

Responsabilité partagée pour la fiabilité

La fiabilité dans Azure suit un modèle de responsabilité partagée. Microsoft fournit la plateforme résiliente via Azure. Vous concevez la charge de travail résiliente.

Diagramme montrant les couches de fiabilité dans Azure.

  • Microsoft possède les bases de la plateforme et les services de fiabilité de plateforme. Cette propriété inclut l’infrastructure résiliente (redondance physique, isolation des pannes et réparation), les zones de disponibilité, la distribution régionale, les pratiques de déploiement sécurisées et les services de niveau plateforme, tels que l’équilibrage de charge, le routage du trafic et la surveillance. Microsoft est responsable de la fiabilité de la plateforme Azure et de la fiabilité des services tels que définis par le contrat SLA publié de chaque service et la documentation, telles que leur guide de fiabilité.

  • Vous êtes propriétaire de la conception et des opérations de charge de travail. Vous êtes responsable de la traduction des fonctionnalités de Azure en comportement de charge de travail fiable par le biais de décisions d'architecture, de choix de configuration, de pratiques opérationnelles et de tests.

    Azure ne pouvez pas connaître vos objectifs de disponibilité, compromis acceptables, contexte métier ou exigences spécifiques à l'application. Seuls vous pouvez définir ces exigences et concevoir en conséquence. Azure fournit des fonctionnalités, tandis que vous les sélectionnez et les configurez. Par exemple, vous configurez le comportement de basculement pour les services tels que les bases de données et vous définissez des sondes d’intégrité de l’équilibreur de charge qui représentent avec précision l’intégrité de l’application afin que les décisions de routage du trafic soient correctes, même pendant les défaillances.

    Important

    La plateforme fournit des blocs de construction, et non des garanties de bout en bout. Vos choix de conception et d’exploitation déterminent si ces fonctionnalités se traduisent par une charge de travail fiable. Pour obtenir une répartition complète du modèle de responsabilité partagée, consultez La responsabilité partagée dans le cloud.

Les contrats de niveau de service (SLA) définissent les engagements et attentes de fiabilité entre les services Azure. Comprendre les contrats SLA est essentiel lors de l’évaluation des services et de la conception pour des cibles de disponibilité spécifiques. Azure services publient des engagements sla qui peuvent varier selon le niveau de configuration et de redondance. D’autres services que vous utilisez à partir d’autres fournisseurs peuvent également publier des contrats SLA. Pour obtenir des conseils complets sur le fonctionnement des contrats SLA et le rapport avec les attentes de disponibilité de votre charge de travail, consultez les contrats de niveau de service.

Bases résilientes dans Azure

Azure est conçu avec plusieurs couches de résilience intégrées à la plateforme elle-même. Ces bases fournissent les fonctionnalités de base sur lesquelles les charges de travail fiables sont générées :

  • Résilience de l’infrastructure physique : Azure centres de données sont conçus avec une infrastructure redondante telle que l’alimentation, le refroidissement et la connectivité réseau. Le contrôleur de structure Azure isole et gère automatiquement les défaillances matérielles. Il détecte les erreurs et orchestre la migration de la charge de travail vers du matériel sain sans intervention du client.

  • Régions : Azure opère dans plus de 70 régions dans le monde entier. Cette distribution géographique permet aux charges de travail de résister aux interruptions et pannes à l’échelle de la région par le biais de fonctionnalités de basculement planifiées, tout en suivant vos besoins en matière de résidence des données. Pour plus d’informations, consultez Azure vue d’ensemble des régions.

  • Zones de disponibilité : De nombreuses régions Azure incluent des centres de données physiquement distincts au sein de la même région. Ces zones de disponibilité sont connectées par des réseaux à haute vitesse et à faible latence. Chaque zone dispose d’une alimentation indépendante, de refroidissement et de mise en réseau pour se protéger contre les défaillances au niveau du centre de données tout en conservant des fonctionnalités de réplication synchrones pour de nombreux services Azure. Pour plus d’informations, consultez Que sont les zones de disponibilité ?

  • Déploiements sécurisés : Azure implémente des processus de déploiement contrôlés et décalés pour les mises à jour de plateforme et les modifications de service afin de réduire le risque d’interruption de service généralisée. La plateforme déploie progressivement les mises à jour, telles que dans les domaines d’erreur, les zones de disponibilité et les régions, avec des fonctionnalités de restauration automatisées lorsqu’elle détecte des problèmes. Cette approche garantit que les modifications de plateforme n’introduisent pas de risques de fiabilité pour les charges de travail des clients.

Azure fournit automatiquement ces bases de niveau plateforme. Ils forment la couche de base sur laquelle vous générez des charges de travail fiables. Toutefois, vous devez toujours configurer vos services correctement et combiner ces fonctionnalités de manière à répondre à vos besoins métier spécifiques.

Azure services qui prennent en charge votre fiabilité

Azure fournit des fonctionnalités de plateforme qui traduisent des concepts de fiabilité en blocs de construction actionnables pour votre architecture. Ces fonctionnalités fonctionnent ensemble pour permettre des architectures résilientes, et de nombreux services Azure incluent des implémentations intégrées de ces modèles :

Capability Description
Optimisation de la fiabilité optimisée pour l’IA Utilise des fonctionnalités basées sur l’IA pour évaluer et améliorer la fiabilité. Ces fonctionnalités analysent les modèles de charge de travail, identifient les risques potentiels et fournissent des recommandations qui aident les équipes à passer de la résolution des problèmes réactifs à la gestion proactive de la fiabilité. Ces fonctionnalités surfacent les signaux de fiabilité et les traduisent en recommandations actionnables qui aident les équipes à hiérarchiser et améliorer la fiabilité au fil du temps.

Azure fournit plusieurs services de fiabilité pilotés par l’IA, notamment :
- fonctionnalités de résilience Azure
- Fonctionnalités de résilience dans les agents (préversion) dans Azure Copilot
- agent SRE Azure

Ces services analysent les modèles de charge de travail et suggèrent des améliorations pour optimiser votre posture de fiabilité à travers le tableau.
Équilibrage de charge et gestion de la charge de la gestion de la charge et gestion du trafic Active la fiabilité en acheminant automatiquement le trafic entre les instances redondantes et la gestion du basculement. Cette fonctionnalité est essentielle pour maintenir la disponibilité du service lorsque des composants individuels échouent.

Azure fournit un équilibrage de charge à plusieurs couches, notamment :
- Azure Load Balancer pour la distribution du trafic TCP/UDP de couche 4
- Azure Application Gateway pour le routage HTTP de couche 7 avec des vérifications d’intégrité prenant en charge les applications
- Azure Front Door pour l’équilibrage de charge HTTP global avec basculement rapide
- Azure Traffic Manager pour la distribution de point de terminaison global basée sur DNS

Si vous avez besoin d’aide pour déterminer l’équilibreur de charge à utiliser pour votre scénario, consultez les options d’équilibrage de charge.
Sauvegarde et protection des données Protège contre la perte et la corruption des données et active la récupération après un problème.

Azure offre plusieurs fonctionnalités de sauvegarde et de récupération, notamment :
- Sauvegarde Azure pour la sauvegarde centralisée avec une rétention configurable pour les machines virtuelles, les conteneurs d’objets blob, les fichiers et certaines bases de données
- Fonctionnalités de sauvegarde et de restauration natives dans de nombreux services Azure, y compris la plupart des services de base de données
- Bicep et d’autres infrastructures en tant qu’outils de code pour la sauvegarde de la configuration, la protection contre la dérive et la récréation rapide de l’environnement

Passez en revue le guide de fiabilité de chaque Azure service pour comprendre les approches de sauvegarde que le service prend en charge.
Réplication géographique et basculement géographique et basculement Active la récupération à partir d’échecs régionaux via la réplication des données inter-régions et les fonctionnalités de basculement automatisé.

Azure Site Recovery orchestre la récupération d’urgence pour les charges de travail de machine virtuelle avec la réplication automatisée et le séquencement de basculement. De nombreux services Azure fournissent également des fonctionnalités de géoréplication intégrées, notamment :
- Azure Cosmos DB avec des fonctionnalités natives de réplication et de basculement des données interrégions
- Gestion des API Azure avec des fonctionnalités de basculement interrégion natives

La fiabilité du service décrit en détail toutes les options de géoréplication disponibles pour chaque service.
Surveillance et observabilité de la surveillance et de l’observabilité Fournit une visibilité complète de la posture de fiabilité et permet une réponse proactive aux problèmes.

Azure fournit plusieurs services d’observabilité, notamment :
- Azure Monitor et Application Insights pour la surveillance, les alertes et le suivi des dépendances en temps réel
- Modèles d’intégrité dans Azure Monitor pour surveiller l’intégrité d’une charge de travail entière
- Azure Service Health des alertes personnalisées et des conseils pour les problèmes de service Azure susceptibles d’affecter vos charges de travail

Ensemble, ces fonctionnalités vous aident à comprendre si vous répondez aux exigences de fiabilité et répondez rapidement lorsque des problèmes se produisent.
Test de fiabilité et test de fiabilité de validation et validation Permet de vérifier que les charges de travail se comportent comme prévu dans des conditions d’échec et permettent de s’assurer que votre solution répond aux exigences de fiabilité avant que les problèmes n’affectent les utilisateurs.

Azure fournit des services de test de fiabilité, notamment :
- Azure Chaos Studio pour les expériences d’injection de panne contrôlées afin de valider le comportement d’auto-guérison et la résilience aux défaillances réelles
- Test d’applications Azure pour les tests de performances et fonctionnels pour comprendre comment les applications se comportent, y compris sous contrainte

Activer la fiabilité dans les services Azure

La plateforme fournit des fonctionnalités de fiabilité de couche de service via des dizaines de services Azure, chacune avec des points forts et des cas d’usage spécifiques. Le guide de fiabilité de chaque service fournit des détails sur la façon dont le service peut rester disponible dans différents scénarios, par exemple :

  • Erreurs temporaires, qui sont des défaillances intermittentes courtes. Les guides de service fournissent des recommandations pour les meilleures pratiques pour réduire leur impact, telles que les nouvelles tentatives et l’utilisation de kits SDK fournis par Microsoft.
  • Échecs de zone de disponibilité, afin que le service puisse rediriger automatiquement les demandes pour maintenir la haute disponibilité.
  • Échecs à l’échelle de la région, de sorte que le service peut basculer vers une région secondaire et continuer à fonctionner pendant une interruption de région.

Pour afficher les guides de fiabilité de nombreux services Azure, consultez les guides de fiabilité par service.

Conception de charges de travail fiables

La fiabilité émerge d’un cycle continu de définition de cibles, de conception de défaillances et de récupération rapide, de tests d’hypothèses et d’amélioration grâce à l’apprentissage opérationnel. Utilisez les guides de fiabilité Azure Well-Architected Framework et de service pour comprendre ce que chaque service fournit par défaut et ce qui nécessite une configuration explicite. Pour une approche structurée de l’implémentation de la fiabilité, consultez le modèle de maturité de fiabilité Azure Well-Architected Framework.

À mesure que vous concevez, connectez les concepts fondamentaux aux concepts techniques. Les concepts fondamentaux tels que la continuité d’activité et la responsabilité partagée définissent les résultats que vous devez obtenir. Les concepts techniques tels que la redondance, la réplication, la sauvegarde, le basculement et la restauration automatique définissent la façon dont vous implémentez ces résultats dans votre architecture et vos opérations. Les contrats de niveau de service vous aident à comprendre les garanties que vous recevez de vos fournisseurs de services.

Souveraineté et résidence des données

Lorsque vous concevez une fiabilité, incluez les exigences de souveraineté et de résidence des données au début, car elles affectent la sélection de région, la stratégie de réplication et les chemins de basculement. Une architecture résiliente peut malgré tout ne pas satisfaire aux exigences de conformité si le basculement ou le déplacement des données franchit des périmètres soumis à des restrictions. Pour plus d’informations, consultez Fiabilité et souveraineté.

La fiabilité dans Azure est obtenue en combinant des bases de plateforme résilientes avec une conception et des opérations de charge de travail réfléchies. En comprenant ce que Azure fournit et où vous devez prendre des décisions de conception et de configuration, vous pouvez créer des systèmes qui continuent de répondre aux attentes de l’entreprise, même en présence d’échecs.