Ce contenu est obsolète. Cette version du cadre Well-Architected se trouve désormais à l'adresse suivante:  https://docs.aws.amazon.com/fr_fr/wellarchitected/2022-03-31/framework/operational-excellence.html
     
 
         OPS 5: Comment réduire les défauts, faciliter les corrections et améliorer le flux dans la
            production ?
         
         
            Adoptez des approches qui améliorent l'entrée des modifications dans la production
            et permettent une refactorisation, une rétroaction de qualité rapide et la corrections
            de bogues. Cela permet d'accélérer l'entrée des modifications bénéfiques dans la production,
            de limiter le déploiement de problèmes et d'identifier et de corriger rapidement les
            problèmes introduits par les activités de déploiement.
            
         
         Ressources
          CI/CD for Serverless Applications on AWS 
 Design with Ops in Mind
 AWS Developer Tools
         Bonnes pratiques:
         
            - 
               Utiliser le contrôle de version: 
                  Utilisez le contrôle de version pour permettre le suivi des modifications et des versions.
                  
                
- 
               Tester et valider les modifications: 
                  Testez et valider les modifications afin de limiter et de détecter les erreurs. Automatisez
                  les tests pour réduire les erreurs causées par les processus manuels et diminuer le
                  niveau d'efforts nécessaires aux tests.
                  
                
- 
               Utiliser des systèmes de gestion de la configuration: 
                  Utilisez des systèmes de gestion de la configuration pour effectuer et suivre les
                  modifications de la configuration. Ces systèmes réduisent les erreurs causées par
                  les processus manuels et diminuent le niveau d'effort nécessaire au déploiement des
                  modifications. 
                  
                
- 
               Utiliser des systèmes de gestion du développement et du déploiement: 
                  Utilisez des systèmes de gestion du développement et du déploiement. Ces systèmes
                  réduisent les erreurs causées par les processus manuels et diminuent le niveau d'effort
                  nécessaire au déploiement des modifications. 
                  
                
- 
               Gérer les correctifs: 
                  Procédez à la gestion des correctifs afin de profiter des fonctionnalités, de résoudre
                  les problèmes et de rester conforme à la gouvernance. Automatisez la gestion des correctifs
                  pour réduire les erreurs causées par les processus manuels et le niveau d'efforts
                  nécessaires aux correctifs.
                  
                
- 
               Partager les normes de conception: 
                  Partagez les bonnes pratiques entre les équipes pour sensibiliser et maximiser les
                  bénéfices des efforts de développement.
                  
                
- 
               Mettre en œuvre des pratiques pour améliorer la qualité du code: 
                  Mettez en place des pratiques pour améliorer la qualité du code et limiter les failles.
                  Par exemple, le développement basé sur les tests, les révisions de code et l'adoption
                  de normes.
                  
                
- 
               Utiliser plusieurs environnements: 
                  Utilisez plusieurs environnements pour expérimenter, développer et tester votre charge
                  de travail. Utilisez des niveaux de contrôle croissants lorsque les environnements
                  approchent de la production pour vous assurer que votre charge de travail fonctionnera
                  correctement une fois déployée.
                  
                
- 
               Effectuer des modifications fréquentes, minimes et réversibles: 
                  Les modifications fréquentes, légères et réversibles limitent la portée et l'impact
                  d'une modification. Cela facilite la résolution des problèmes, accélère les corrections
                  et offre la possibilité d’annuler une modification.
                  
                
- 
               Automatiser complètement l'intégration et le déploiement: 
                  Automatisez le développement, le déploiement et le test de la charge de travail. Cela
                  permet de réduire les erreurs découlant des processus manuels, ainsi que les efforts
                  nécessaires au déploiement des modifications.
                  
                
Plan d'amélioration
         Utiliser le contrôle de version
Utiliser le contrôle de version: 
               Maintenez les ressources dans des référentiels avec contrôle de version. Cela permet
               le suivi des modifications, le déploiement de nouvelles versions, la détection des
               modifications apportées aux versions existantes, et le retour à des versions antérieures
               (par exemple, la restauration à un état correct connu en cas de défaillance). Intégrez
               les fonctionnalités de contrôle de version de vos systèmes de gestion de la configuration
               dans vos procédures.
               
 Introduction to AWS CodeCommit
 What is AWS CodeCommit?
         
         Tester et valider les modifications
Tester et valider les modifications: 
               Les modifications doivent être testées et les résultats validés à toutes les phases
               du cycle de vie (par exemple, le développement, le test et la production). Utilisez
               les résultats des tests pour confirmer les nouvelles fonctionnalités et atténuer les
               risques et les effets des échecs de déploiements. Automatisez les tests et la validation
               pour assurer la cohérence de l'examen, réduire les erreurs causées par les processus
               manuels et diminuer le niveau d'effort.
               
 What is AWS CodeBuild?
 Local build support for AWS CodeBuild
         
         Utiliser des systèmes de gestion de la configuration
Utiliser des systèmes de gestion de la configuration: 
               Utilisez des systèmes de gestion de la configuration afin de suivre et de mettre en
               œuvre des modifications, de réduire les erreurs causées par les processus manuels
               et de réduire le niveau d'efforts.
               
 Infrastructure configuration management
 AWS Config
 What is AWS Config?
 Introduction to AWS CloudFormation
 What is AWS CloudFormation?
 AWS OpsWorks
 What is AWS OpsWorks?
 Introduction to AWS Elastic Beanstalk
 What is AWS Elastic Beanstalk?
         
         Utiliser des systèmes de gestion du développement et du déploiement
Utiliser des systèmes de gestion du développement et du déploiement: 
               Utilisez des systèmes de gestion du développement et du déploiement afin de suivre
               et de mettre en œuvre des modifications, de réduire les erreurs causées par les processus
               manuels et de réduire le niveau d'efforts. Automatisez entièrement le pipeline d'intégration
               et de déploiement à partir du code d'enregistrement et par le biais du développement,
               des tests, du déploiement et de la validation. Cela permet de réduire les délais,
               d'augmenter la fréquence des changements et de diminuer le niveau d'effort. 
               
 What is AWS CodeBuild?
 Continuous integration best practices for software development
 Slalom: CI/CD for serverless applications on AWS
 Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services
 What is AWS CodeDeploy?
         
         Gérer les correctifs
Gestion des correctifs: 
               Appliquez des correctifs aux systèmes pour corriger les problèmes, obtenir des fonctionnalités
               souhaitées et rester conforme à la politique de gouvernance et aux exigences d'assistance
               du fournisseur. Dans les systèmes immuables, déployez avec l'ensemble de correctifs
               approprié pour obtenir le résultat souhaité. Automatisez le mécanisme de gestion des
               correctifs afin de réduire le temps écoulé avant l'application des correctifs, de
               limiter les erreurs causées par les processus manuels et de réduire le niveau d'efforts
               nécessaire pour appliquer les correctifs.
               
 AWS Systems Manager Patch Manager
         
         Partager les normes de conception
Partager les normes de conception: 
               Partagez les bonnes pratiques, normes de conception, listes de contrôle, procédures
               opérationnelles, instructions et exigences de gouvernance entre équipes pour réduire
               la complexité et optimiser les avantages résultant des efforts de développement. Veillez
               à mettre en place des procédures pour demander des modifications, des ajouts et des
               exceptions aux normes de conception, afin de soutenir l'amélioration et l'innovation
               en continu. Assurez-vous que les équipes sont informées du contenu publié afin qu'elles
               puissent tirer parti du contenu, et limiter les reprises de travail et les tâches
               inutiles.
               
 Delegating access to your AWS environment
 Share an AWS CodeCommit repository
 Easy authorization of AWS Lambda functions
 Sharing an AMI with specific AWS accounts
 Speed template sharing with an AWS CloudFormation designer URL
 Using AWS Lambda with Amazon SNS
         
         Mettre en œuvre des pratiques pour améliorer la qualité du code
Mettre en œuvre des pratiques pour améliorer la qualité du code: 
               Mettez en place des pratiques pour améliorer la qualité du code afin de limiter les
               failles et le risque qu'elles soient déployées. Par exemple, le développement orienté
               test, la programmation en binôme, les révisions du code et l'adoption de normes.
               
            
         
         Utiliser plusieurs environnements
Utiliser plusieurs environnements: 
               Fournissez aux développeurs des environnements de test avec des contrôles réduits
               au minimum pour permettre l'expérimentation. Fournissez des environnements de développement
               individuels pour permettre le travail en parallèle, ce qui augmente l'agilité du développement.
               Mettez en œuvre davantage de contrôles rigoureux dans les environnements proches de
               la production pour offrir aux développeurs la liberté nécessaire à l'innovation. Utilisez
               l'infrastructure en tant que code et les systèmes de gestion de la configuration pour
               déployer des environnements configurés de manière cohérente par rapport aux contrôles
               de production pour veiller au bon fonctionnement des systèmes lorsqu'ils sont déployés.
               Lorsque les environnements ne sont pas en cours d'utilisation, désactivez-les pour
               éviter les coûts associés à des ressources inutilisées (par exemple, les systèmes
               de développement en soirée et les week-ends). Déployez des environnements équivalents
               à la production lors des tests de charge pour obtenir des résultats valides.
               
 What is AWS CloudFormation?
 How do I stop and start Amazon EC2 instances at regular intervals using AWS Lambda?
         
         Effectuer des modifications fréquentes, minimes et réversibles
Effectuer des modifications fréquentes, minimes et réversibles: 
               Les modifications fréquentes, légères et réversibles limitent la portée et l'impact
               d'une modification. Cela facilite la résolution des problèmes, accélère les corrections
               et offre la possibilité d’annuler une modification. Cela augmente également la vitesse
               à laquelle vous pouvez apporter de la valeur à votre entreprise.
               
            
         
         Automatiser complètement l'intégration et le déploiement
Utiliser des systèmes de gestion du développement et du déploiement: 
               Utilisez des systèmes de gestion du développement et du déploiement afin de suivre
               et de mettre en œuvre des modifications, de réduire les erreurs causées par les processus
               manuels et de réduire le niveau d'efforts. Automatisez entièrement le pipeline d'intégration
               et de déploiement à partir du code d'enregistrement et par le biais du développement,
               des tests, du déploiement et de la validation. Cela permet de réduire les délais,
               d'augmenter la fréquence des changements et de diminuer le niveau d'effort. 
               
 What is AWS CodeBuild?
 Continuous integration best practices for software development
 Slalom: CI/CD for serverless applications on AWS
 Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services
 What is AWS CodeDeploy?