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.
Cadre du cycle de vie de la résilience : une approche continue de l'amélioration de la résilience
Amazon Web Services (contributeurs)
Octobre 2023 (historique du document)
Les entreprises modernes sont aujourd'hui confrontées à un nombre croissant de défis liés à la résilience, d'autant plus que les attentes des clients évoluent vers un état d'esprit toujours actif et toujours disponible. Les équipes distantes et les applications complexes et distribuées sont associées à un besoin croissant de versions fréquentes. Par conséquent, une organisation et ses applications doivent être plus résilientes que jamais.
AWS définit la résilience comme la capacité d'une application à résister aux perturbations ou à se rétablir après celles-ci, notamment celles liées à l'infrastructure, aux services dépendants, aux mauvaises configurations et aux problèmes de réseau transitoires. (Voir Resiliency et les composants de la fiabilité dans la documentation du pilier de fiabilité du AWS Well-Architected Framework.) Cependant, pour atteindre le niveau de résilience souhaité, des compromis sont souvent nécessaires. La complexité opérationnelle, la complexité de l'ingénierie et les coûts devront être évalués et ajustés en conséquence.
Sur la base d'années de travail avec les clients et les équipes internes, AWS a développé un cadre de cycle de vie de résilience qui capture les enseignements et les meilleures pratiques en matière de résilience. Le cadre décrit cinq étapes clés illustrées dans le schéma suivant. À chaque étape, vous pouvez utiliser des stratégies, des services et des mécanismes pour améliorer votre posture de résilience.
Ces étapes sont décrites dans les sections suivantes de ce guide :
Termes et définitions
Les concepts de résilience de chaque étape sont appliqués à différents niveaux, qu'il s'agisse de composants individuels ou de systèmes complets. La mise en œuvre de ces concepts nécessite une définition claire de plusieurs termes :
-
Un composant est un élément qui exécute une fonction et comprend des ressources logicielles et technologiques. Les exemples de composants incluent la configuration du code, l'infrastructure telle que le réseau, ou même les serveurs, les magasins de données et les dépendances externes telles que les dispositifs d'authentification multifactorielle (MFA).
-
Une application est un ensemble de composants qui apportent une valeur commerciale, tels qu'une vitrine Web destinée aux clients ou le processus principal qui améliore les modèles d'apprentissage automatique. Une application peut consister en un sous-ensemble de composants dans un seul AWS compte, ou il peut s'agir d'un ensemble de plusieurs composants répartis sur plusieurs Comptes AWS régions.
-
Un système est un ensemble d'applications, de personnes et de processus nécessaires à la gestion d'une fonction commerciale donnée. Il englobe l'application requise pour exécuter une fonction, les processus opérationnels tels que l'intégration continue et la livraison continue (CI/CD), l'observabilité, la gestion de la configuration, la réponse aux incidents et la reprise après sinistre, ainsi que les opérateurs qui gèrent ces tâches.
-
Une interruption est un événement qui empêche votre application de fonctionner correctement.
-
La déficience est l'effet qu'une interruption a sur une application si elle n'est pas atténuée. Les applications peuvent être perturbées si elles subissent une série de perturbations.
Résilience continue
Le cycle de vie de la résilience est un processus continu. Même au sein d'une même organisation, vos équipes de candidature peuvent atteindre des niveaux d'exhaustivité différents au cours de chaque étape, en fonction des exigences de votre candidature. Cependant, plus chaque étape est complète, plus le niveau de résilience de votre application sera élevé.
Vous devez considérer le cycle de vie de la résilience comme un processus standard que votre organisation peut mettre en œuvre. AWS a délibérément modélisé le cycle de vie de résilience de manière à ce qu'il soit similaire au cycle de développement logiciel (SDLC), dans le but d'intégrer la planification, les tests et l'apprentissage tout au long des processus d'exploitation pendant que vous développez et exploitez vos applications. Comme c'est le cas pour de nombreux processus de développement agiles, le cycle de vie de la résilience peut être répété à chaque itération du processus de développement. Nous vous recommandons d'approfondir progressivement les pratiques à chaque étape du cycle de vie.