Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Augmenter la résilience et améliorer l'expérience client en utilisant l'ingénierie du chaos sur AWS
Laurent Domb, technologue en chef, finances fédérales, Amazon Web Services
Avril 2025 (historique du document)
L'ingénierie du chaos est la discipline qui consiste à expérimenter sur une application afin de renforcer la confiance dans la capacité de votre organisation et de votre application à résister à des conditions de production turbulentes. Il s'agit d'une approche proactive de la résilience, dont le but est de vérifier si votre application et votre organisation sont en mesure d'absorber les défaillances du service, de s'y adapter et, finalement, de s'en remettre en place en introduisant des défaillances contrôlées chez les personnes, les processus et les technologies. L'objectif est également d'identifier et d'éliminer les faiblesses avant qu'elles ne provoquent des interruptions ou d'autres perturbations de la production.
Chez Amazon, nous sommes conscients que les défaillances sont inévitables dans les systèmes distribués, à tel point que le fonctionnement malgré la présence de défaillances est un mode de fonctionnement normal. Les interactions entre les services étant vouées à l'échec, vous devez comprendre comment vos services réagissent en fonction des différents modes de défaillance et créer des services résistants aux principales vulnérabilités telles que les défaillances de dépendance, les tempêtes de nouvelles tentatives, les zones de disponibilité altérées et l'épuisement des ressources de l'hôte.
Prenons l'exemple d'une nouvelle tentative de tempête. Une défaillance localisée chez un client peut avoir un impact significatif sur plusieurs services. C'est ce que l'on appelle communément l'effet papillon. Une tempête de nouvelles tentatives est une manifestation de l'effet papillon : une dépendance défaillante incite les clients, et les clients de ces clients, à retenter l'opération qui a échoué, ce qui entraîne une croissance exponentielle du trafic. Les services sont surchargés car ils doivent répondre au trafic normal en plus de réessayer le trafic tout en gérant une dégradation des performances.
L'ingénierie du chaos est apparue en réponse à la complexité croissante des systèmes distribués. Il s'agit d'une approche multidisciplinaire qui combine les principes de la théorie du chaos, de la pensée systémique et de l'ingénierie pour concevoir et gérer des systèmes complexes résilients aux événements et aux comportements inattendus. À la base, l'ingénierie du chaos vise à comprendre et à gérer le comportement de systèmes complexes dans des conditions d'incertitude et d'imprévisibilité. Il reconnaît que les approches traditionnelles de l'ingénierie, qui reposent sur la prévision et le contrôle des résultats, sont souvent insuffisantes pour faire face à la nature complexe et dynamique des systèmes distribués. À mesure que ces systèmes se développent, ils dépassent souvent le champ de compréhension de chaque individu.
L'ingénierie du chaos fournit des concepts, des techniques et des outils permettant d'injecter intentionnellement des défaillances dans les systèmes afin de découvrir les faiblesses avant qu'elles ne se manifestent en production. Cette approche proactive permet aux entreprises de s'assurer que leurs systèmes fonctionneront dans des conditions stressantes. Bien que l'ingénierie du chaos soit encore une pratique en évolution, elle représente une évolution fondamentale vers la conception, la gestion et l'exploitation de systèmes informatiques modernes afin d'être résilients face à la complexité et à l'interconnexion croissantes.
Les sections suivantes de ce guide présentent les avantages de l'ingénierie du chaos, expliquent comment mener des expériences d'ingénierie du chaos et décrivent les approches que vous pouvez adopter pour mettre en œuvre l'ingénierie du chaos à grande échelle dans votre organisation. Sont également inclus des exemples de documents de planification d'expériences et de résultats d'expériences que vous pouvez utiliser comme modèles pour vos expériences d'ingénierie du chaos.
La section suivante explore en quoi les caractéristiques de l'ingénierie du chaos diffèrent des tests de résilience traditionnels tels que les tests unitaires, de fumée ou d'intégration.