Fiabilité

Le pilier Fiabilité comprend la fiabilité est la capacité d'une charge de travail à exécuter la fonction prévue correctement et systématiquement au moment attendu. elle renvoie aussi à la capacité d'exploiter et de tester la charge de travail tout au long de son cycle de vie.

Le pilier fiabilité fournit une vue d'ensemble des principes de conception, des bonnes pratiques et des questions. Vous pouvez trouver des directives normatives sur l'implémentation dans le livre blanc Pilier Fiabilité.

Principes de conception

Il existe five principes de conception pour le pilier fiabilité dans le cloud :

Définition

Il existe four domaines de bonnes pratiques pour le pilier fiabilité dans le cloud :

Pour la fiabilité, vous devez commencer par les bases, c'est-à-dire un environnement où les quotas de service et la topologie réseau s'adaptent à la charge de travail. L'architecture de la charge de travail du système distribué doit être conçue pour prévenir et atténuer les défaillances. La charge de travail doit gérer les modifications au niveau de la demande ou des exigences. Elle doit être conçue pour détecter les défaillances et se réparer automatiquement.

Bonnes pratiques

Bases

Les exigences de base sont celles dont le champ d'application s'étend au-delà d'une seule charge de travail ou d'un seul projet. Avant de concevoir l'architecture d'un système, les exigences de base qui influent sur la fiabilité doivent être mises en place. Par exemple, vous devez avoir une bande passante réseau suffisante pour votre centre de données.

Avec AWS, la plupart de ces exigences en matière de fondation sont déjà intégrées ou sont susceptibles d'être satisfaites en fonction des besoins. Le cloud est conçu pour être presque illimité. Il est donc de la responsabilité d'AWS de satisfaire l'exigence d'une capacité suffisante de mise en réseau et de calcul, ce qui vous laisse la liberté de modifier la taille des ressources et les allocations à la demande.

Les questions suivantes sont axées sur ces quelques considérations relatives au pilier fiabilité.

REL 1: Comment gérez-vous les quotas et les contraintes de service ?
REL 2: Comment planifiez-vous la topologie de votre réseau ?

Pour les architectures de charge de travail basées sur le cloud, il existe des quotas de service (également appelés Service Limits). Ces quotas visent à empêcher la mise en service accidentelle de plus de ressources que nécessaire et à limiter les taux de requêtes sur les opérations d'API pour protéger les services contre les abus. Les charges de travail existent souvent dans plusieurs environnements. Vous devez surveiller et gérer ces quotas pour tous les environnements de charge de travail. Il s'agit notamment de plusieurs environnements cloud (accessibles publiquement et privés) et peuvent inclure votre infrastructure de centre de données existante. Les plans doivent tenir compte de facteurs liés au réseau : connectivité intrasystème et intersystème, gestion des adresses IP publiques, gestion des adresses IP privées et résolution des noms de domaine.

Architecture de charge de travail

Une charge de travail fiable commence par des décisions de conception initiales pour le logiciel et l'infrastructure. Vos choix d'architecture ont un impact sur votre comportement de charge de travail sur les cinq piliers Well-Architected. Pour des raisons de fiabilité, vous devez suivre des modèles spécifiques.

Avec AWS, les développeurs de charges de travail ont le choix de langues et de technologies à utiliser. Les kits SDK AWS éliminent la complexité du codage en fournissant des API propres au langage pour les services AWS. Ces kits SDK, ainsi que le choix des langages, permettent aux développeurs de mettre en œuvre les bonnes pratiques de fiabilité répertoriées ici. Les développeurs peuvent également découvrir comment Amazon crée et exploite des logiciels dans la bibliothèque Amazon Builders' Library.

Les questions suivantes sont axées sur ces quelques considérations relatives au pilier fiabilité.

REL 3: Comment concevez-vous l'architecture de service de votre charge de travail ?
REL 4: Comment concevez-vous des interactions dans un système distribué pour éviter les défaillances ?
REL 5: Comment concevez-vous des interactions dans un système distribué pour atténuer ou résister aux défaillances ?

Les systèmes distribués s'appuient sur des réseaux de communication pour interconnecter des composants tels que des serveurs ou des services. Votre charge de travail doit fonctionner de manière fiable malgré la perte de données ou la latence dans ces réseaux. Les composants du système distribué doivent fonctionner d'une manière qui n'a pas d'impact négatif sur les autres composants ou la charge de travail.

Gestion des modifications

Les modifications apportées à votre charge de travail ou à son environnement doivent être anticipées et prises en compte pour assurer un fonctionnement fiable de la charge de travail. Les modifications incluent celles imposées à votre charge de travail telles que les pics de demande, ainsi que celles de l'intérieur comme les déploiements de fonctions et les correctifs de sécurité.

Avec AWS, vous pouvez surveiller le comportement d'une charge de travail et automatiser la réponse problèmes liés aux KPI. Par exemple, votre charge de travail peut ajouter des serveurs supplémentaires à mesure que des utilisateurs supplémentaires s'y ajoutent. Vous pouvez contrôler les personnes qui ont l'autorisation d'apporter des modifications à la charge de travail et auditer l'historique de ces modifications.

Les questions suivantes sont axées sur ces quelques considérations relatives au pilier fiabilité.

REL 6: Comment surveillez-vous les ressources de charge de travail ?
REL 7: Comment concevez-vous votre charge de travail pour s'adapter aux changements de demande ?
REL 8: Comment implémenter les modifications ?

Lorsque vous concevez l'architecture d'une charge de travail de manière à ajouter ou supprimer automatiquement des ressources en réponse à l'évolution de la demande, cela accroît la fiabilité et garantit que la réussite commerciale ne devient pas un poids. Une fois la surveillance en place, votre équipe est automatiquement avertie lorsque les KPI cessent de correspondre aux valeurs attendues. La journalisation automatique des modifications apportées à votre environnement vous permet d'auditer et d'identifier rapidement les actions susceptibles d'avoir un impact sur la fiabilité. Les contrôles de la gestion des modifications permettent de s'assurer que vous appliquez les règles offrant la fiabilité dont vous avez besoin.

Gestion des pannes

Les pannes sont à prévoir dans un système présentant un niveau de complexité raisonnable. Il y a fiabilité lorsque la charge de travail a connaissance des défaillances au fur et à mesure qu'elles se produisent et que des mesures sont prises pour éviter l'impact sur la disponibilité. Les charges de travail doivent être en mesure de résister aux défaillances et de résoudre automatiquement les problèmes.

Avec AWS, vous pouvez tirer profit de l'automatisation pour réagir aux données de surveillance. Par exemple, lorsqu'une métrique particulière franchit un seuil, vous pouvez déclencher une action automatique pour corriger le problème. De même, plutôt que de tenter de diagnostiquer et de corriger une ressource défaillante qui fait partie de votre environnement de production, vous pouvez la remplacer par une nouvelle ressource et exécuter l'analyse de cette ressource hors production. Comme le Cloud vous permet de maintenir les versions temporaires d'un système complet à bas coût, vous pouvez utiliser les tests automatiques pour vérifier les processus complets de récupération.

Les questions suivantes sont axées sur ces quelques considérations relatives au pilier fiabilité.

REL 9: Comment sauvegarder des données ?
REL 10: Comment utilisez-vous l'isolation des pannes pour protéger votre charge de travail ?
REL 11: Comment concevez-vous votre charge de travail pour la rendre résistante aux défaillances de composants ?
REL 12: Comment tester la fiabilité ?
REL 13: Comment planifier la reprise après sinistre (DR) ?

Sauvegardez régulièrement vos données et testez vos fichiers de sauvegarde pour vous assurer de pouvoir récupérer aussi bien après des erreurs logiques que des erreurs physiques. La clé de la gestion des pannes réside dans des tests réguliers et automatiques des charges de travail afin de créer des pannes, et dans l'observation de la façon dont ces charges reprennent. Effectuez ces opérations régulièrement et assurez-vous que de tels tests sont également déclenchés après des modifications significatives de la charge de travail. Suivez activement les KPI comme l'objectif de délai de reprise (RTO) et l'objectif de point de reprise (RPO) pour évaluer la résilience d'une charge de travail (notamment au cours de scénarios de test de panne). Le suivi des KPI vous aidera à identifier et à atténuer les points de défaillance uniques. L'objectif est de tester intégralement vos processus de reprise de charge de travail de telle sorte que vous soyez assuré de récupérer l'ensemble de vos données et de continuer à servir vos clients, même en présence de problèmes persistants. Vos processus de reprise doivent être aussi bien maîtrisés que vos processus de production habituels.

Ressources

Consultez les ressources suivantes pour en savoir plus sur nos bonnes pratiques relatives au pilier Fiabilité.

Reliability Pillar: AWS Well-Architected
AWS Well-Architected Reliability Labs
The Amazon Builders' Library: How Amazon builds and operates software
AWS Documentation
AWS Global Infrastructure
AWS Auto Scaling: How Scaling Plans Work
Implementing Microservices on AWS
What Is AWS Backup?