Amazon a mis à jour son AWS Well-Architected Framework (PDF) sur la base des feedbacks clients, avec l’ajout d'un nouveau pilier, l'Excellence Opérationnelle.
AWS Well-Architected Framework contient un ensemble de bonnes pratiques pour la construction et l'exploitation de systèmes sécurisés, l’efficacité et la rentabilité avec le cloud. Les directives d’architectures ont été élaborées par Amazon pour ses clients AWS, mais elles sont généralement utiles pour n'importe quelle plateforme cloud.
Le framework a été publié pour la première fois il y a un an et vient d'être mis à jour en incluant les feedbacks clients et les leçons apprises suite à son utilisation. Pour ceux qui ne connaissent pas le framework, nous vous recommandons de lire l'article initial sur InfoQ (en anglais) étant donné que dans cet article nous allons citer quelques-uns des changements notables introduits dans la version de cette année.
En plus des quatre piliers d'origine - Sécurité, Fiabilité, Efficacité et Optimisation des Coûts - l'équipe d'architectes AWS en a introduit un cinquième : Excellence Opérationnelle, qui représente la « capacité d'exécuter et de surveiller les systèmes pour fournir une valeur business et d'améliorer continuellement le support des processus et des procédures ». Les meilleures pratiques recommandées pour assurer l'excellence opérationnelle des charges de production sont les suivantes :
- Effectuer des opérations avec le code : automatiser les opérations, autant que possible.
- Aligner les processus opérationnels aux objectifs opérationnels : collecter uniquement les mesures qui prennent en charge les besoins business et qui répondent de manière appropriée aux événements opérationnels.
- Faire des petits changements graduels et réguliers : la charge de travail devrait être composée de composants qui sont mis à jour régulièrement en petites étapes sans arrêter les services, et les opérations devraient être en mesure de faire reculer ces changements lorsque c'est nécessaire.
- Test de réponses à des événements inattendus : injecter des défaillances dans le système pour voir comment il réagit à des événements opérationnels imprévus. Développer des procédures claires pour réagir à de tels événements.
- Apprendre des événements opérationnels et des échecs : surveiller et analyser le comportement du système lors de divers événements opérationnels afin de l'améliorer.
- Gardez les procédures d'opérations en vigueur : mettre à jour les procédures et les lignes directrices afin de refléter avec précision le système actuel à mesure qu'il évolue au fil du temps.
Le Framework Well-Architected est livré avec un certain nombre de principes de conception destinés à créer de bons systèmes sur le cloud :
- Arrêter de deviner vos besoins de capacité : toujours utiliser les capacités d'évolutivité du cloud plutôt que de deviner les besoins de capacité et de risquer de fournir une capacité insuffisante.
- Les systèmes de test à l'échelle de la production : évoluer le système à ce qu'il serait équivalent à la production et le tester pour voir comment cela fonctionne dans un environnement réel. Désaffecter les ressources supplémentaires une fois le test terminé.
- Automatiser pour faciliter l'expérimentation architecturale : automatiser l'ensemble du processus de création d'un système lui permettant d'être reproduit facilement. Ainsi, revenir vers une configuration précédente sera plus simple de cette manière.
- Supporter les architectures évolutives : l'automatisation permet aux architectes de faire évoluer les systèmes selon les besoins, tester facilement et mettre en place de nouvelles configurations.
- Architectures pilotées par les données (data-driven) : recueillir les données opérationnelles nécessaires qui peuvent être utilisées pour évaluer comment les changements d’architectures ont un impact sur les charges de travail. Les données peuvent également être utilisées pour mettre au point le code d'automatisation.
- Améliorer pendant les game days : injecter des échecs pour simuler des événements opérationnels dans la production afin de comprendre comment le système se comporte quand ils auront lieu et les corriger si nécessaire.
Le framework comprend également des questions et des réponses sur chacun des cinq piliers sur lesquels il est construit, fournissant des conseils sur la manière de traiter des sujets pratiques tels que la protection contre l'utilisation non autorisée du compte root AWS, la planification de la topologie du réseau, la réponse aux événements opérationnels non planifiés et bien d'autres. Nous vous recommandons de lire le papier AWS Well-Architected Framework pour une vue en profondeur de ce qu'il faut pour créer un système efficace sur le cloud.