REL 10: Comment utilisez-vous l'isolation des pannes pour protéger votre charge de travail ?

Les limites isolées pour les défaillances limitent l'effet d'une défaillance au sein d'une charge de travail à un nombre limité de composants. Les composants en dehors de la limite ne sont pas affectés par la défaillance. En utilisant plusieurs limites isolées par défaut, vous pouvez limiter l'impact sur votre charge de travail.

Ressources

AWS re:Invent 2018: Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)
Shuffle-sharding: AWS re:Invent 2019: Introducing The Amazon Builders’ Library (DOP328)
AWS re:Invent 2018: How AWS Minimizes the Blast Radius of Failures (ARC338)
AWS re:Invent 2019: Innovation and operation of the AWS global network infrastructure (NET339)
What is AWS Outposts?
Global Tables: Multi-Region Replication with DynamoDB
AWS Local Zones FAQ
AWS Global Infrastructure
The Amazon Builders' Library: Workload isolation using shuffle-sharding

Bonnes pratiques:

Plan d'amélioration

Déploiement de la charge de travail sur plusieurs emplacements

  • Utilisation de plusieurs zones de disponibilité et régions AWS: Distribuez les données et les ressources de charge de travail sur plusieurs zones de disponibilité ou, si nécessaire, entre régions AWS. Ces emplacements peuvent être aussi variés que nécessaire.
  • Choisissez une stratégie à plusieurs régions si votre charge de travail doit être déployée dans plusieurs régions.: La plupart des besoins de fiabilité peuvent être satisfaits au sein d'une même région AWS à l'aide d'une stratégie à plusieurs zones de disponibilité. Utilisez une stratégie sur plusieurs régions si nécessaire pour répondre aux besoins de votre entreprise.
    AWS re:Invent 2018: Architecture Patterns for Multi-Region Active-Active Applications (ARC209-R2)
  • Évaluation d'AWS Outposts en fonction de votre charge de travail: Si votre charge de travail nécessite une faible latence de connexion à votre centre de données sur site ou si elle a des exigences locales en matière de traitement des données, Exécutez l'infrastructure et les services AWS sur site à l'aide d'AWS Outposts
    What is AWS Outposts?
  • Déterminez si les zones locales AWS vous aident à fournir un service à vos utilisateurs: o Si vous avez des exigences de faible latence, vérifiez si les zones locales AWS sont situées près de vos utilisateurs. Si oui, utilisez-les pour déployer des charges de travail plus près de ces utilisateurs.
    AWS Local Zones FAQ
  • Automatisation de la récupération pour les composants limités à un seul emplacement

  • Implémentation de l'autorégénération: Dans la mesure du possible, déployez vos instances ou vos conteneurs en utilisant la mise à l'échelle automatique. Si vous ne pouvez pas utiliser la mise à l'échelle automatique, utilisez la récupération automatique pour les instances EC2 ou mettez en place un mécanisme d'autoréparation basé sur Amazon EC2 ou des événements de cycle de vie de conteneur ECS.
  • Utilisez la récupération automatique des instances EC2 pour les charges de travail nécessitant un seul ID d'instance, une seule adresse IP privée, une seule adresse IP Elastic, et des métadonnées d'instance.
    Recover your instance.
  • Utilisez les événements du cycle de vie de l'instance EC2 ou les événements ECS pour automatiser l'autoréparation lorsque la mise à l'échelle automatique ou la récupération de votre instance EC2 ne peuvent pas être utilisées.
    EC2 Auto Scaling lifecycle hooks
    Amazon ECS events
  • Utilisation des architectures cloisonnées

  • Utilisation des architectures cloisonnées: À l'instar des cloisons d'un navire, ce modèle garantit qu'une défaillance reste limitée à un petit sous-ensemble de requêtes/utilisateurs afin que le nombre de requêtes compromises soit limité et que la plupart continuent sans erreur. Les cloisons des données sont généralement appelées partitions, tandis que les cloisons des services sont appelées cellules.
    Shuffle-sharding: AWS re:Invent 2019: Introducing The Amazon Builders’ Library (DOP328)
    AWS re:Invent 2018: How AWS Minimizes the Blast Radius of Failures (ARC338)
  • Évaluation de l'architecture basée sur les cellules pour votre charge de travail: Dans une architecture basée sur les cellules, chaque cellule est une instance complète et indépendante du service et a une taille maximale fixe. Les charges de travail augmentent en même temps que la charge par l'ajout de cellules. Une clé de partition est utilisée sur le trafic entrant pour déterminer la cellule qui traitera la requête. Toute défaillance est contenue dans la seule cellule dans laquelle elle se produit, de sorte que le nombre de requêtes compromises soit limité et que les autres puissent continuer sans erreur. Il est important de choisir la bonne clé de partition afin de minimiser les interactions entre cellules et d'éviter d'avoir à utiliser des services de mappage complexes pour chaque requête. Les services qui nécessitent un mappage complexe ne font finalement que déplacer le problème vers les services de mappage, tandis que les services qui nécessitent des interactions entre cellules réduisent l'indépendance des cellules (et, par conséquent, les améliorations de disponibilité présumées qui en découlent).