Recommandations pour la conception de la redondance

S’applique à cette recommandation de liste de contrôle de fiabilité d’Azure Well-Architected Framework :

RE :05 Ajoutez la redondance à différents niveaux, notamment pour les flux critiques. Appliquez la redondance aux niveaux de calcul, de données, de réseau et d’autres niveaux d’infrastructure conformément aux cibles de fiabilité identifiées.

Guides connexes : conception | multirégion hautement disponible à l’aide de zones de disponibilité et de régions

Ce guide décrit les recommandations relatives à l’ajout de redondance tout au long des flux critiques sur différentes couches de charge de travail, ce qui optimise la résilience. Répondez aux exigences de vos cibles de fiabilité définies en appliquant les niveaux de redondance appropriés à vos niveaux de calcul, de données, de mise en réseau et d’autres niveaux d’infrastructure. Appliquez cette redondance pour donner à votre charge de travail une base solide et fiable pour vous appuyer. Lorsque vous générez votre charge de travail sans redondance d’infrastructure, il existe un risque élevé de temps d’arrêt étendu en raison de défaillances potentielles.

Définitions

Terme Définition
Redondance Implémentation de plusieurs instances identiques d’un composant de charge de travail.
Persistance polyglotte Concept d’utilisation de technologies de stockage différentes par la même application ou solution pour tirer parti des meilleures fonctionnalités de chaque composant.
Cohérence des données La mesure de la synchronisation ou de l’expiration de la synchronisation d’un jeu de données donné se trouve dans plusieurs magasins.
Partitionnement Processus de division physique des données en magasins de données distincts.
Shard Stratégie de partitionnement de base de données horizontale qui prend en charge plusieurs instances de stockage avec un schéma commun. Les données ne sont pas répliquées dans toutes les instances.

Stratégies de conception

Dans le contexte de la fiabilité, utilisez la redondance pour contenir des problèmes qui affectent une seule ressource et assurez-vous que ces problèmes n’affectent pas la fiabilité de l’ensemble du système. Utilisez les informations que vous avez identifiées sur vos flux critiques et cibles de fiabilité pour prendre des décisions éclairées requises pour la redondance de chaque flux.

Par exemple, vous pouvez avoir plusieurs nœuds de serveur web en cours d’exécution à la fois. La criticité du flux qu’ils prennent en charge peut nécessiter que tous les réplicas soient prêts à accepter le trafic s’il existe un problème qui affecte l’ensemble du pool, par exemple une panne régionale. Sinon, étant donné que les problèmes à grande échelle sont rares et qu’il est coûteux de déployer un ensemble entier de réplicas, vous pouvez déployer un nombre limité de réplicas afin que le flux fonctionne dans un état détérioré jusqu’à ce que vous résolvez le problème.

Lorsque vous concevez une redondance dans le contexte de l’efficacité des performances, distribuez la charge sur plusieurs nœuds redondants pour vous assurer que chaque nœud fonctionne de manière optimale. Dans le contexte de la fiabilité, créez une capacité de rechange pour absorber les défaillances ou les dysfonctionnements qui affectent un ou plusieurs nœuds. Assurez-vous que la capacité de rechange peut absorber les défaillances pendant toute la durée nécessaire à la récupération des nœuds affectés. Avec cette distinction à l’esprit, les deux stratégies doivent travailler ensemble. Si vous répartissez le trafic sur deux nœuds pour les performances et qu’ils s’exécutent à 60 % d’utilisation et qu’un nœud échoue, votre nœud restant risque de devenir submergé, car il ne peut pas fonctionner à 120 %. Répartissez la charge avec un autre nœud pour vous assurer que vos cibles de performances et de fiabilité sont respectées.

Compromis :

  • Une redondance accrue de la charge de travail équivaut à plus de coûts. Envisagez soigneusement d’ajouter la redondance et de passer régulièrement en revue votre architecture pour vous assurer que vous gérez les coûts, en particulier lorsque vous utilisez le surprovisionnement. Lorsque vous utilisez le surprovisionnement comme stratégie de résilience, équilibrez-le avec une stratégie de mise à l’échelle bien définie pour réduire les inefficacités des coûts.
  • Il peut y avoir des compromis sur les performances lorsque vous créez un degré élevé de redondance. Par exemple, les ressources réparties entre des zones de disponibilité ou des régions peuvent affecter les performances, car vous devez envoyer du trafic via des connexions à latence élevée entre des ressources redondantes, telles que des serveurs web ou des instances de base de données.
  • Différents flux au sein de la même charge de travail peuvent avoir des exigences de fiabilité différentes. Les conceptions de redondance spécifiques aux flux peuvent potentiellement introduire une complexité dans la conception globale.

Conception d’architecture redondante

Envisagez deux approches lorsque vous concevez une architecture redondante : active-active ou active-passive. Choisissez votre approche en fonction de la criticité du flux utilisateur et du flux système pris en charge par les composants d’infrastructure. En termes de fiabilité, une conception active-active multirégion vous permet d’atteindre le niveau de fiabilité le plus élevé possible, mais il est beaucoup plus coûteux qu’une conception active-passive. Décider des régions géographiques appropriées devient le choix essentiel suivant. Vous pouvez également utiliser ces approches de conception pour une seule région à l’aide de zones de disponibilité. Pour plus d’informations, consultez Recommandations pour la conception multirégion hautement disponible.

Tampons de déploiement et unités de mise à l’échelle

Que vous déployiez dans un modèle actif-actif ou actif-passif, suivez le modèle de conception Empreintes de déploiement pour vous assurer que vous déployez votre charge de travail de manière reproductible et évolutive. Les Empreintes de déploiement sont les regroupements de ressources nécessaires pour fournir votre charge de travail à un sous-ensemble donné de vos clients. Par exemple, le sous-ensemble peut être un sous-ensemble régional ou un sous-ensemble ayant toutes les exigences de confidentialité des données que votre charge de travail. Considérez chaque tampon comme une unité d’échelle que vous pouvez dupliquer pour mettre à l’échelle votre charge de travail horizontalement ou pour effectuer des déploiements bleu-vert. Concevez votre charge de travail avec des tampons de déploiement pour optimiser votre implémentation active-active ou active-passive pour la résilience et la charge de gestion. La planification du scale-out multirégion est également importante pour surmonter les contraintes potentielles de capacité des ressources temporaires dans une région.

Zones de disponibilité dans les régions Azure

Que vous déployiez une conception active-active ou passive active, tirez parti des zones de disponibilité dans les régions actives pour optimiser entièrement votre résilience. De nombreuses régions Azure fournissent plusieurs zones de disponibilité, qui sont séparées par des groupes de centres de données au sein d’une région. Selon le service Azure, vous pouvez tirer parti des zones de disponibilité en déployant des éléments de votre charge de travail de manière redondante entre des zones ou en épinglant des éléments vers des zones spécifiques. Pour plus d’informations, consultez Recommandations relatives à l’utilisation des zones de disponibilité et des régions.

Implémenter la redondance de zone pour les ressources de calcul

  • Choisissez le service de calcul approprié pour votre charge de travail. Selon le type de charge de travail que vous concevez, plusieurs options peuvent être disponibles. Recherchez les services disponibles et comprenez quels types de charges de travail fonctionnent le mieux sur un service de calcul donné. Par exemple, les charges de travail SAP sont généralement les mieux adaptées aux services de calcul IaaS (Infrastructure as a Service). Pour une application conteneurisée, déterminez les fonctionnalités spécifiques dont vous avez besoin pour déterminer s’il faut utiliser Azure Kubernetes Service (AKS) ou une solution PaaS (Platform as a Service). Votre plateforme cloud gère entièrement un service PaaS.

  • Utilisez les options de calcul PaaS si vos besoins l’autorisent. Azure gère entièrement les services PaaS, ce qui réduit votre charge de gestion et un degré de redondance documenté est intégré.

  • Utilisez des groupes de machines virtuelles identiques Azure si vous devez déployer des machines virtuelles. Avec les groupes de machines virtuelles identiques, vous pouvez répartir automatiquement votre calcul uniformément entre les zones de disponibilité.

  • Conservez votre couche de calcul propre à n’importe quel état , car des nœuds individuels qui servent des requêtes peuvent être supprimés, défectueux ou remplacés à tout moment.

  • Utilisez les services redondants interzone si possible pour offrir une résilience plus élevée sans augmenter votre charge opérationnelle.

  • Surprovisionnez les ressources critiques pour atténuer les défaillances des instances redondantes, même avant le début des opérations de mise à l’échelle automatique, de sorte que le système continue à fonctionner après une défaillance du composant. Calculez l’effet acceptable d’une erreur lorsque vous incorporez le surprovisionnement dans votre conception de redondance. Comme pour votre processus de prise de décision de redondance, vos objectifs de fiabilité et vos décisions de compromis financiers déterminent la mesure dans laquelle vous ajoutez une capacité de rechange avec surprovisionnement. Le surprovisionnement fait spécifiquement référence au scale-out, ce qui signifie l’ajout d’instances supplémentaires d’un type de ressource de calcul donné, plutôt que d’augmenter les fonctionnalités de calcul d’une seule instance. Par exemple, si vous remplacez une machine virtuelle d’une référence SKU de niveau inférieur par une référence SKU de niveau supérieur.

  • Déployez manuellement des services IaaS ou via l’automatisation dans chaque zone de disponibilité ou région dans laquelle vous envisagez d’implémenter votre solution. Certains services PaaS ont des fonctionnalités intégrées qui sont automatiquement répliquées entre les zones de disponibilité et les régions.

Implémenter la redondance de zone pour les ressources de données

  • Déterminez si la réplication des données synchrones ou asynchrones est nécessaire pour les fonctionnalités de votre charge de travail. Pour vous aider à effectuer cette détermination, consultez Recommandations relatives à l’utilisation de zones de disponibilité et de régions.

  • Tenez compte du taux de croissance de vos données. Pour la planification de la capacité, planifiez la croissance des données, la rétention des données et l’archivage pour vous assurer que vos exigences de fiabilité sont remplies à mesure que la quantité de données de votre solution augmente.  

  • Distribuez les données géographiquement, comme pris en charge par votre service, pour réduire l’effet des défaillances localisées géographiquement.

  • Répliquez des données entre les régions géographiques pour assurer la résilience aux pannes régionales et aux défaillances catastrophiques.

  • Automatisez le basculement après un échec d’instance de base de données. Vous pouvez configurer le basculement automatisé dans plusieurs services de données PaaS Azure. Le basculement automatisé n’est pas nécessaire pour les magasins de données qui prennent en charge les écritures multirégions, comme Azure Cosmos DB. Pour en savoir plus, consultez Recommandations pour la conception d’une stratégie de récupération d’urgence.

  • Utilisez le meilleur magasin de données pour vos données. Adoptez la persistance polyglotte ou les solutions qui utilisent un mélange de technologies de magasin de données. Les données incluent plus que les données d’application persistantes. Elles incluent également les journaux des applications, les événements, les messages et les caches.

  • Prenez en compte les exigences de cohérence des données et utilisez la cohérence éventuelle lorsque les exigences l’autorisent. Lorsque les données sont distribuées, utilisez une coordination appropriée pour appliquer des garanties de cohérence fortes. La coordination peut réduire votre débit et rendre vos systèmes étroitement couplés, ce qui peut les rendre plus fragiles. Par exemple, si une opération met à jour deux bases de données, au lieu de la placer dans une seule étendue de transaction, il est préférable si le système peut prendre en charge la cohérence éventuelle.

  • Partitionner les données pour la disponibilité. Le partitionnement de base de données améliore l’extensibilité et peut également améliorer la disponibilité. Si une partition tombe en panne, les autres partitions sont toujours accessibles. Une défaillance d’une partition n’interrompt qu’un sous-ensemble des transactions totales.

  • Si le partitionnement n’est pas une option, vous pouvez utiliser le modèle de séparation des responsabilités de commande et de requête (CQRS) pour séparer vos modèles de données en lecture-écriture et en lecture seule. Ajoutez des instances de base de données en lecture seule redondantes pour renforcer la résilience.  

  • Comprendre les fonctionnalités intégrées de réplication et de redondance des services de plateforme avec état que vous utilisez. Pour obtenir des fonctionnalités de redondance spécifiques des services de données avec état, consultez les liens connexes.

Implémenter la redondance de zone pour les ressources réseau

  • Choisissez une topologie de réseau fiable et évolutive. Utilisez un modèle hub-and-spoke ou un modèle Azure Virtual WAN pour vous aider à organiser votre infrastructure cloud dans des modèles logiques qui facilitent la création et la mise à l’échelle de votre conception de redondance.

  • Sélectionnez le service réseau approprié pour équilibrer et rediriger les demandes dans ou entre les régions. Utilisez des services d’équilibrage de charge globaux ou redondants interzone, le cas échéant, pour répondre à vos objectifs de fiabilité.

  • Vérifiez que vous avez alloué suffisamment d’espace d’adressage IP dans vos réseaux virtuels et sous-réseaux pour prendre en compte l’utilisation planifiée, y compris les exigences de scale-out.

  • Vérifiez que l’application peut être mise à l’échelle dans les limites de port de la plateforme d’hébergement d’application choisie. Si une application lance plusieurs connexions TCP ou UDP sortantes, elle peut épuiser tous les ports disponibles et entraîner des performances d’application médiocres.

  • Choisissez des références SKU et configurez des services réseau qui peuvent répondre à vos besoins en bande passante et en disponibilité. Le débit d’une passerelle VPN varie en fonction de leur référence SKU. La prise en charge de la redondance de zone n’est disponible que pour certaines références SKU de l’équilibreur de charge.

  • Assurez-vous que votre conception pour la gestion du DNS est basée sur la résilience et prend en charge l’infrastructure redondante.

Facilitation Azure

La plateforme Azure vous aide à optimiser la résilience de votre charge de travail et à ajouter une redondance en :

  • Fournir une redondance intégrée avec de nombreuses solutions PaaS et SaaS (Software as a Service), dont certaines sont configurables.

  • Vous permettant de concevoir et d’implémenter la redondance intra-région à l’aide de zones de disponibilité et de redondance interrégion.

  • Offre des services d’équilibrage de charge prenant en charge les réplicas tels qu’Azure Application Gateway, Azure Front Door et Azure Load Balancer.

  • Offre des solutions de géoréplication facilement implémentées comme la géoréplication active pour Azure SQL Database. Implémentez la distribution mondiale et la réplication transparente à l’aide d’Azure Cosmos DB. Azure Cosmos DB offre deux options pour gérer les écritures en conflit. Choisissez la meilleure option pour votre charge de travail.

  • Offre des fonctionnalités de restauration ponctuelle dans le temps pour de nombreux services de données PaaS.

  • Atténuation de l’épuisement des ports via azure NAT Gateway ou Pare-feu Azure.

Facilitation Azure spécifique à DNS

  • Pour les scénarios de résolution de noms internes, utilisez des zones privées Azure DNS, qui ont une redondance de zone intégrée et une géoredondance. Pour plus d’informations, consultez résilience de zone privée Azure DNS.

  • Pour les scénarios de résolution de noms externes, utilisez des zones publiques Azure DNS, qui ont une redondance de zone intégrée et une géoredondance.

  • Les services AZURE DNS publics et privés sont des services globaux résilients aux pannes régionales, car les données de zone sont disponibles globalement.

  • Pour les scénarios de résolution de noms hybrides entre les environnements locaux et cloud, utilisez Azure DNS Private Resolver. Ce service prend en charge la redondance de zone si votre charge de travail se trouve dans une région qui prend en charge les zones de disponibilité. Une panne à l’échelle de la zone ne nécessite aucune action pendant la récupération de zone. Le service se guérit automatiquement et rééquilibrée pour tirer parti de la zone saine. Pour plus d’informations, consultez Résilience dans azure DNS Private Resolver.

  • Pour éliminer un point de défaillance unique et obtenir une résolution de noms hybride plus résiliente entre les régions, déployez deux ou plusieurs résolveurs privés Azure DNS dans différentes régions. Le basculement DNS, dans un scénario de transfert conditionnel, est obtenu en affectant un programme de résolution en tant que serveur DNS principal. Attribuez l’autre programme de résolution dans une autre région en tant que serveur DNS secondaire. Pour plus d’informations, consultez Configurer le basculement DNS à l’aide de programmes de résolution privés.

Exemple

Pour obtenir un exemple de déploiement redondant multirégion, consultez l’application web redondante interzone hautement disponible de référence.

Le diagramme suivant montre un autre exemple :

Diagramme montrant l’architecture de l’implémentation de référence.

Pour en savoir plus sur la redondance, consultez les ressources suivantes :

Liste de contrôle de fiabilité

Reportez-vous à l’ensemble complet de recommandations.