

# Préparation
<a name="a-prepare"></a>

**Topics**
+ [OPS 4  Comment concevoir votre charge de travail de sorte à en comprendre l'état ?](w2aac19b5b7b5.md)
+ [OPS 5  Comment réduire les défauts, faciliter les corrections et améliorer l'entrée dans la production ?](w2aac19b5b7b7.md)
+ [OPS 6  Comment réduire les risques liés au déploiement ?](w2aac19b5b7b9.md)
+ [OPS 7  Comment savoir si vous êtes prêt à gérer une charge de travail ?](w2aac19b5b7c11.md)

# OPS 4  Comment concevoir votre charge de travail de sorte à en comprendre l'état ?
<a name="w2aac19b5b7b5"></a>

 Concevez votre charge de travail de manière à ce qu'elle fournisse les informations nécessaires à tous les composants (par exemple, les mesures, les journaux et les traces) pour que vous puissiez comprendre son état interne. Cela vous permet de fournir des réponses efficaces, le cas échéant. 

**Topics**
+ [OPS04-BP01 Implémenter la télémétrie de l'application](ops_telemetry_application_telemetry.md)
+ [OPS04-BP02 Mettre en œuvre et configurer la télémétrie de la charge de travail](ops_telemetry_workload_telemetry.md)
+ [OPS04-BP03 Mettre en œuvre la télémétrie pour l'activité des utilisateurs](ops_telemetry_customer_telemetry.md)
+ [OPS04-BP04 Mettre en œuvre la télémétrie pour les dépendances](ops_telemetry_dependency_telemetry.md)
+ [OPS04-BP05 Mettre en œuvre la traçabilité des transactions](ops_telemetry_dist_trace.md)

# OPS04-BP01 Implémenter la télémétrie de l'application
<a name="ops_telemetry_application_telemetry"></a>

 La télémétrie de l'application est la pierre angulaire de l'observabilité de votre charge de travail. Votre application devrait émettre des données de télémétrie qui donnent un aperçu de son état et du niveau de réalisation des résultats commerciaux. Du dépannage à la mesure de l'impact d'une nouvelle fonctionnalité, la télémétrie de l'application informe sur la façon dont vous créez, exploitez et faites évoluer votre charge de travail. 

 La télémétrie d'une application se compose de métriques et de journaux. Les métriques sont des informations de diagnostic, telles que votre pouls ou votre température. Elles sont utilisées collectivement pour décrire l'état de votre application. La collecte de métriques au fil du temps permet de développer des points de référence et de détecter les anomalies. Les journaux sont des messages que l'application envoie à propos de son état interne ou des événements qui se produisent. Les codes d'erreur, les identificateurs de transaction et les actions de l'utilisateur sont des exemples d'événements consignés. 

 **Résultat souhaité :** 
+  Votre application émet des métriques et des journaux qui donnent un aperçu de son état et de la réalisation des résultats commerciaux. 
+  Les métriques et les journaux sont stockés de manière centralisée pour toutes les applications de la charge de travail. 

 **Anti-modèles courants :** 
+  Votre application n'émet pas de télémesures. Vous êtes contraint de compter sur vos clients pour savoir quand quelque chose ne fonctionne pas correctement. 
+  Un client a signalé que votre application ne répond pas. Vous n'avez pas de télémesures et êtes incapable de confirmer l'existence du problème ou de le caractériser sans utiliser vous-même l'application pour comprendre l'expérience actuelle de l'utilisateur. 

 **Avantages liés au respect de cette bonne pratique :** 
+  Vous pouvez déterminer l'état de votre application, l'expérience utilisateur et la réalisation des résultats commerciaux. 
+  Vous pouvez réagir rapidement aux changements d'état de votre application. 
+  Vous pouvez développer des tendances liées à l'état de l'application. 
+  Vous pouvez prendre des décisions éclairées sur l'amélioration de votre application. 
+  Vous pouvez détecter et résoudre les problèmes d'application plus rapidement. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Débit 

## Directives d'implémentation
<a name="implementation-guidance"></a>

 La mise en œuvre de la télémétrie de l'application comprend trois étapes : identifier un emplacement pour stocker les données de télémétrie, identifier les données de télémétrie qui décrivent l'état de l'application et instrumenter l'application pour émettre les données de télémétrie. 

 Prenons l'exemple d'une entreprise de commerce électronique dont l'architecture est basée sur des microservices. Dans le cadre de son processus de conception architecturale, elle a identifié la télémétrie de l'application qui l'aiderait à déterminer l'état de chaque microservice. Par exemple, le service de panier utilisateur a émis des données de télémétrie sur des événements tels que l'ajout d'un article au panier, l'abandon du panier et le temps nécessaire pour ajouter un article au panier. Tous les microservices ont enregistré les erreurs, les avertissements et les informations de transaction. La télémétrie a été envoyée à Amazon CloudWatch pour le stockage et l'analyse. 

 **Étapes d'implémentation** 

 La première étape consiste à identifier un emplacement central pour le stockage des données de télémétrie pour les applications de votre charge de travail. Si vous n'avez pas de plateforme [Amazon CloudWatch](https://aws.amazon.com/cloudwatch) fournit des fonctionnalités de collecte des données de télémétrie, de tableaux de bord, d'analyse et de génération d'événements. 

 Pour identifier les données de télémétrie dont vous avez besoin, commencez par les questions suivantes : 
+  Mon application est-elle saine ? 
+  Mon application atteint-elle les résultats commerciaux ? 

   Votre application doit émettre des journaux et des métriques qui répondent collectivement à ces questions. Si vous ne parvenez pas à répondre à ces questions avec la télémétrie de l'application existante, collaborez avec les parties prenantes de l'entreprise et de l'ingénierie pour créer une liste de télémétrie qui le permet. Vous pouvez demander des conseils techniques d'experts à votre équipe Compte AWS lorsque vous identifiez et développez de nouvelles applications de télémétrie. 

   Une fois que la télémétrie de l'application supplémentaire a été identifiée, travaillez avec les parties prenantes en ingénierie pour instrumenter l'application. [AWS Distro for OpenTelemetry](https://aws-otel.github.io/) fournit des API, des bibliothèques et des agents qui collectent la télémétrie de l'application. [Cet exemple illustre comment instrumenter une application JavaScript avec des métriques personnalisées](https://aws-otel.github.io/docs/getting-started/js-sdk/metric-manual-instr). 

   Les clients qui souhaitent comprendre les services d'observabilité proposés par AWS peuvent parcourir [Un atelier sur l'observabilité](https://catalog.workshops.aws/observability/en-US) seuls ou demander l'aide de leur équipe Compte AWS pour les guider. Cet atelier vous guide à travers les solutions d'observabilité sur AWS et fournit des exemples pratiques de leur utilisation. 

   Pour en savoir plus sur la télémétrie de l'application, lisez l'article [Instrumentation des systèmes distribués au profit de la visibilité opérationnelle](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) dans Amazon Builders' Library. Il explique comment Amazon instrumente les applications et peut servir de guide pour développer vos propres directives d'instrumentation. 

 **Niveau d'effort du plan d'implémentation :** Moyenne entreprise 

## Ressources
<a name="resources"></a>

 **Bonnes pratiques associées :** 

[OPS04-BP02 Mettre en œuvre et configurer la télémétrie de la charge de travail](ops_telemetry_workload_telemetry.md) – La télémétrie de l'application est un composant de la télémétrie de la charge de travail. Afin de comprendre l'état de la charge de travail globale, vous devez comprendre celui des applications individuelles qui la composent. 

[OPS04-BP03 Mettre en œuvre la télémétrie pour l'activité des utilisateurs](ops_telemetry_customer_telemetry.md) – La télémétrie de l'activité des utilisateurs est souvent un sous-ensemble de la télémétrie de l'application. L'activité de l'utilisateur, comme les événements d'ajout au panier, les flux de clics ou les transactions terminées, donne un aperçu de l'expérience utilisateur. 

[OPS04-BP04 Mettre en œuvre la télémétrie pour les dépendances](ops_telemetry_dependency_telemetry.md) – Les contrôles de dépendance sont liés à la télémétrie de l'application et peuvent être instrumentés dans votre application. Si votre application s'appuie sur des dépendances externes telles qu'un DNS ou une base de données, votre application peut émettre des métriques et des journaux sur l'accessibilité, les délais d'attente et d'autres événements. 

[OPS04-BP05 Mettre en œuvre la traçabilité des transactions](ops_telemetry_dist_trace.md) – Le suivi des transactions sur une charge de travail nécessite que chaque application émette des informations sur la manière dont elle traite les événements partagés. La manière dont les applications individuelles gèrent ces événements est émise via la télémétrie de leur application. 

[OPS08-BP02 Définir les métriques de la charge de travail](ops_workload_health_design_workload_metrics.md) – Les métriques de charge de travail sont les principaux indicateurs de l'état de votre charge de travail. Les métriques clés de l'application font partie des métriques de la charge de travail. 

 **Documents connexes :** 
+  [AWS Builders' Library : Instrumentation des systèmes distribués au profit de la visibilité opérationnelle](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 
+  [AWS Distro for OpenTelemetry](https://aws-otel.github.io/) 
+  [Livre blanc du pilier Excellence opérationnelle AWS Well-Architected – Concevoir la télémétrie](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/design-telemetry.html) 
+  [Création de métriques à partir d'événements de journaux à l'aide de filtres](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html) 
+  [Mise en œuvre de la journalisation et de la surveillance avec Amazon CloudWatch](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/welcome.html) 
+  [Surveillance de l'état et des performances d'une application avec AWS Distro for OpenTelemetry](https://aws.amazon.com/blogs/opensource/monitoring-application-health-and-performance-with-aws-distro-for-opentelemetry/) 
+  [Nouveau – Comment mieux surveiller les métriques de votre application personnalisée à l'aide de l'agent Amazon CloudWatch](https://aws.amazon.com/blogs/devops/new-how-to-better-monitor-your-custom-application-metrics-using-amazon-cloudwatch-agent/) 
+  [Observabilité sur AWS](https://aws.amazon.com/products/management-and-governance/use-cases/monitoring-and-observability/) 
+  [Scénario – Publier des métriques sur CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/PublishMetrics.html) 
+  [Passez à l'action – Comment surveiller efficacement vos applications](https://aws.amazon.com/startups/start-building/how-to-monitor-applications/) 
+  [Utiliser CloudWatch avec un kit SDK AWS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/sdk-general-information-section.html) 

 **Vidéos connexes :** 
+  [AWS re:Invent 2021 - Observability the open-source way](https://www.youtube.com/watch?v=vAnIhIwE5hY) 
+  [Collect Metrics and Logs from Amazon EC2 instances with the CloudWatch Agent](https://www.youtube.com/watch?v=vAnIhIwE5hY) 
+  [How to Easily Setup Application Monitoring for Your AWS Workloads - AWS Online Tech Talks](https://www.youtube.com/watch?v=LKCth30RqnA) 
+  [Mastering Observability of Your Serverless Applications - AWS Online Tech Talks](https://www.youtube.com/watch?v=CtsiXhiAUq8) 
+  [Open Source Observability with AWS - AWS Virtual Workshop](https://www.youtube.com/watch?v=vAnIhIwE5hY) 

 **Exemples connexes :** 
+  [Exemples de ressources de journalisation et de surveillance AWS](https://github.com/aws-samples/logging-monitoring-apg-guide-examples) 
+  [Solution AWS : framework de surveillance Amazon CloudWatch](https://aws.amazon.com/solutions/implementations/amazon-cloudwatch-monitoring-framework/?did=sl_card&trk=sl_card) 
+  [Solution AWS : journalisation centralisée](https://aws.amazon.com/solutions/implementations/centralized-logging/) 
+  [Un atelier sur l'observabilité](https://catalog.workshops.aws/observability/en-US) 

# OPS04-BP02 Mettre en œuvre et configurer la télémétrie de la charge de travail
<a name="ops_telemetry_workload_telemetry"></a>

 Concevez et configurez votre charge de travail afin d'émettre des informations sur son état interne et son statut actuel (par exemple, le volume des appels d'API, les codes de statut HTTP et les événements de dimensionnement). Utilisez ces informations pour déterminer à quel moment une réponse est nécessaire. 

 Utilisez un service comme [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) pour regrouper les journaux et les métriques des composants de charge de travail (par exemple, les journaux d'API provenant de [AWS CloudTrail](https://aws.amazon.com/cloudtrail/), [les métriques AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-monitoring.html), [les journaux de flux Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)et [les autres services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/aws-services-sending-logs.html)). 

 **Anti-modèles courants :** 
+  Vos clients se plaignent des performances médiocres. Aucune modification récente n'a été apportée à votre application, et vous soupçonnez donc un problème lié à la charge de travail. Vous n'avez aucune télémesure à analyser pour déterminer les composants qui contribuent aux performances médiocres. 
+  Votre application est inaccessible. Vous n'avez pas de télémesures pour déterminer s'il s'agit d'un problème de mise en réseau. 

 **Avantages liés au respect de cette bonne pratique :** Comprendre ce qui se passe à l'intérieur de votre charge de travail vous permet de réagir si nécessaire. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Débit 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Mettre en œuvre la télémétrie pour les journaux et les métriques : instrumentez votre charge de travail pour émettre des informations sur son état interne, son statut et la réalisation des résultats opérationnels. Utilisez ces informations pour déterminer à quel moment une réponse est nécessaire. 
  +  [Gaining better observability of your VMs with Amazon CloudWatch - AWS Online Tech Talks](https://youtu.be/1Ck_me4azMw) 
  +  [Fonctionnement d'Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_architecture.html) 
  +  [Qu'est-ce qu'Amazon CloudWatch ?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
  +  [Utilisation des métriques Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 
  +  [Qu'est-ce qu'Amazon CloudWatch Logs ?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 
    +  Mettre en œuvre et configurer la télémétrie de la charge de travail : concevez et configurez votre charge de travail afin d'émettre des informations sur son état interne et son statut actuel (par exemple, le volume des appels d'API, les codes de statut HTTP et les événements de dimensionnement). 
      +  [Référence aux dimensions et métriques Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) 
      +  [AWS CloudTrail](https://aws.amazon.com/cloudtrail/) 
      +  [Qu'est-ce qu'AWS CloudTrail ?](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 
      +  [Journaux de flux VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [AWS CloudTrail](https://aws.amazon.com/cloudtrail/) 
+  [Documentation Amazon CloudWatch](https://docs.aws.amazon.com/cloudwatch/index.html) 
+  [Référence aux dimensions et métriques Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) 
+  [Fonctionnement d'Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_architecture.html) 
+  [Utilisation des métriques Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 
+  [Journaux de flux VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [Qu'est-ce qu'AWS CloudTrail ?](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 
+  [Qu'est-ce qu'Amazon CloudWatch Logs ?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 
+  [Qu'est-ce qu'Amazon CloudWatch ?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 

 **Vidéos connexes :** 
+  [Application Performance Management on AWS](https://www.youtube.com/watch?v=5T4stR-HFas) 
+  [Gaining Better Observability of Your VMs with Amazon CloudWatch](https://youtu.be/1Ck_me4azMw) 
+  [Gaining better observability of your VMs with Amazon CloudWatch - AWS Online Tech Talks](https://youtu.be/1Ck_me4azMw) 

# OPS04-BP03 Mettre en œuvre la télémétrie pour l'activité des utilisateurs
<a name="ops_telemetry_customer_telemetry"></a>

 Instrumentez le code de votre application pour émettre des informations sur l'activité de l'utilisateur, par exemple, clic sur des flux, ou lancement, abandon et fin des transactions. Utilisez ces informations pour vous aider à comprendre la manière dont l'application est utilisée, les modèles d'utilisation, et pour déterminer si une réponse est obligatoire. 

 **Anti-modèles courants :** 
+  Vos développeurs ont déployé une nouvelle fonctionnalité sans télémesure utilisateur et l'utilisation a augmenté. Vous ne pouvez pas déterminer si l'utilisation accrue provient de l'utilisation de la nouvelle fonction ou s'il s'agit d'un problème introduit avec le nouveau code. 
+  Vos développeurs ont déployé une nouvelle fonctionnalité sans télémesure utilisateur. Vous ne pouvez pas savoir si vos clients l'utilisent sans les contacter et leur demander. 

 **Avantages liés au respect de cette bonne pratique :** Comprenez comment vos clients utilisent votre application afin d’identifier les schémas d'utilisation, les comportements inattendus et pouvoir réagir si nécessaire. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Moyenne entreprise 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Implémenter la télémétrie pour l'activité des utilisateurs : concevez votre code d'application afin d'émettre des informations sur l'activité des utilisateurs (par exemple, le nombre de clics ou les transactions commencées, abandonnées et terminées). Utilisez ces informations pour vous aider à comprendre la manière dont l'application est utilisée, les modèles d'utilisation, et pour déterminer si une réponse est obligatoire. 

# OPS04-BP04 Mettre en œuvre la télémétrie pour les dépendances
<a name="ops_telemetry_dependency_telemetry"></a>

 Concevez et configurez votre charge de travail pour qu'elle émette des informations sur l'état (par exemple, accessibilité ou temps de réponse) des ressources dont elle dépend. Les exemples de dépendances externes incluent les bases de données externes, DNS et la connectivité réseau. Utilisez ces informations pour déterminer à quel moment une réponse est nécessaire. 

 **Anti-modèles courants :** 
+  Vous ne pouvez pas déterminer si la raison pour laquelle votre application est inaccessible est un problème DNS sans effectuer manuellement une vérification pour vérifier que votre fournisseur DNS fonctionne. 
+  Votre application de panier ne finalise pas les transactions. Vous ne pouvez pas déterminer s'il s'agit d'un problème avec le fournisseur de traitement des cartes de crédit sans le contacter pour le vérifier. 

 **Avantages liés au respect de cette bonne pratique :** La compréhension de l'état de vos dépendances vous permet de répondre si nécessaire. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Moyenne entreprise 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Mettre en œuvre la télémétrie pour les dépendances : concevez et configurez votre charge de travail afin d'émettre des informations sur l'état et le statut des systèmes dont elle dépend. Voici quelques exemples : bases de données externes, DNS, connectivité réseau et services externes de traitement des cartes de crédit. 
  +  [Intégration de l'agent Amazon CloudWatch avec AWS Systems Manager : métriques unifiées et collecte de journaux pour Linux et Windows](https://aws.amazon.com/blogs/aws/new-amazon-cloudwatch-agent-with-aws-systems-manager-integration-unified-metrics-log-collection-for-linux-windows/) 
  +  [Collecte des métriques et des journaux des instances Amazon EC2 et serveurs sur site avec l'agent CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [Intégration de l'agent Amazon CloudWatch avec AWS Systems Manager : métriques unifiées et collecte de journaux pour Linux et Windows](https://aws.amazon.com/blogs/aws/new-amazon-cloudwatch-agent-with-aws-systems-manager-integration-unified-metrics-log-collection-for-linux-windows/) 
+  [Collecte des métriques et des journaux des instances Amazon EC2 et serveurs sur site avec l'agent CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html) 

   **Exemples connexes :** 
+  [Ateliers Well-Architected : surveillance des dépendances](https://wellarchitectedlabs.com/operational-excellence/100_labs/100_dependency_monitoring/) 

# OPS04-BP05 Mettre en œuvre la traçabilité des transactions
<a name="ops_telemetry_dist_trace"></a>

 Mettez en œuvre le code de votre application et configurez vos composants de charge de travail afin d'émettre des informations sur le flux des transactions dans cette dernière. Utilisez ces informations pour déterminer à quel moment une réponse est requise et identifier les facteurs d’un problème. 

 Sur AWS, vous pouvez utiliser des services de suivi distribués, tels que [AWS X-Ray](https://aws.amazon.com/xray/)pour collecter et enregistrer des suivis au fur et à mesure que les transactions transitent par votre charge de travail, générer des cartes pour voir comment les transactions circulent dans votre charge de travail et vos services, obtenir des informations sur les relations entre les composants et identifier et analyser les problèmes en temps réel. 

 **Anti-modèles courants :** 
+  Vous avez mis en œuvre une architecture de microservices sans serveur couvrant plusieurs comptes. Vos clients rencontrent des problèmes de performances intermittents. Vous ne pouvez pas découvrir quelle fonction ou quel composant est responsable parce qu'il vous manque les traces qui vous permettraient d'identifier où, dans l'application, le problème de performance existe et sa cause. 
+  Vous essayez de déterminer où se situent les goulets d'étranglement en matière de performance dans votre charge de travail afin de pouvoir y remédier dans vos efforts de développement. Vous ne pouvez pas voir la relation entre vos composants d'application, et les services avec lesquels ils interagissent, pour déterminer où se situent les goulets d'étranglement, car vous ne disposez pas des traces qui vous permettraient d'analyser les services et chemins spécifiques ayant un impact sur les performances de l'application. 

 **Avantages liés au respect de cette bonne pratique :** La compréhension du flux des transactions de votre charge de travail permet de comprendre le comportement attendu des transactions de cette dernière, ainsi que les variations par rapport au comportement attendu de votre charge de travail, ce qui vous permet de réagir si nécessaire. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Faible 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Mettre en œuvre la traçabilité des transactions : concevez votre application et votre charge de travail de manière à émettre des informations sur le flux des transactions entre les composants du système, telles que l'étape de la transaction, le composant actif et le temps nécessaire pour terminer l'activité. Utilisez ces informations pour déterminer ce qui est en cours, ce qui est terminé et les résultats des activités terminées. Cela vous permet de déterminer à quel moment une réponse est nécessaire. Par exemple, des temps de réponse plus longs que prévu pour une transaction attendue au sein d'un composant peuvent indiquer des problèmes avec ledit composant. 
  +  [AWS X-Ray](https://aws.amazon.com/xray/) 
  +  [Qu'est-ce que AWS X-Ray ?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [AWS X-Ray](https://aws.amazon.com/xray/) 
+  [Qu'est-ce que AWS X-Ray ?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 

# OPS 5  Comment réduire les défauts, faciliter les corrections et améliorer l'entrée dans la production ?
<a name="w2aac19b5b7b7"></a>

 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 correction 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. 

**Topics**
+ [OPS05-BP01 Utiliser le contrôle de version](ops_dev_integ_version_control.md)
+ [OPS05-BP02 Tester et valider les modifications](ops_dev_integ_test_val_chg.md)
+ [OPS05-BP03 Utiliser des systèmes de gestion de la configuration](ops_dev_integ_conf_mgmt_sys.md)
+ [OPS05-BP04 Utiliser des systèmes de gestion du développement et du déploiement](ops_dev_integ_build_mgmt_sys.md)
+ [OPS05-BP05 Procéder à la gestion des correctifs](ops_dev_integ_patch_mgmt.md)
+ [OPS05-BP06 Partager les normes de conception](ops_dev_integ_share_design_stds.md)
+ [OPS05-BP07 Mettre en œuvre des pratiques visant à améliorer la qualité du code](ops_dev_integ_code_quality.md)
+ [OPS05-BP08 Utiliser plusieurs environnements](ops_dev_integ_multi_env.md)
+ [OPS05-BP09 Effectuer des modifications fréquentes, légères et réversibles](ops_dev_integ_freq_sm_rev_chg.md)
+ [OPS05-BP10 Automatiser complètement l'intégration et le déploiement](ops_dev_integ_auto_integ_deploy.md)

# OPS05-BP01 Utiliser le contrôle de version
<a name="ops_dev_integ_version_control"></a>

 Utilisez le contrôle de version pour permettre le suivi des modifications et des versions. 

 De nombreux services AWS offrent des fonctionnalités de contrôle de version. Utilisez un système de contrôle de source ou de révision comme [AWS CodeCommit](https://aws.amazon.com/codecommit/) pour gérer le code et d'autres artefacts, tels que les modèles [AWS CloudFormation](https://aws.amazon.com/cloudformation/) avec contrôle de version de votre infrastructure. 

 **Anti-modèles courants :** 
+  Vous avez développé et stocké le code sur votre poste de travail. Un problème de stockage s’est produit sur le poste de travail et vous avez perdu le code. 
+  Après avoir remplacé le code existant par vos modifications, vous redémarrez votre application et elle n'est plus utilisable. Vous ne pouvez pas revenir à la modification. 
+  Vous disposez d'un verrou d'écriture sur un fichier de rapport que quelqu'un d'autre doit modifier. Il vous contacte pour vous demander d'arrêter de travailler dessus afin qu'il puisse effectuer ses tâches. 
+  Votre équipe de recherche a travaillé sur une analyse détaillée qui façonnera vos futurs travaux. Quelqu'un a accidentellement enregistré sa liste d'achats sur le rapport final. Vous ne pouvez pas annuler la modification et vous devrez recréer le rapport. 

 **Avantages liés au respect de cette bonne pratique :** En utilisant les fonctionnalités de contrôle des versions, vous pouvez revenir facilement aux bons états connus, aux versions précédentes et limiter le risque de perte de ressources. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Débit 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Utiliser le contrôle de version : gérez 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. 
  +  [Présentation d'AWS CodeCommit](https://youtu.be/46PRLMW8otg) 
  +  [Qu'est-ce qu'AWS CodeCommit ?](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [Qu'est-ce qu'AWS CodeCommit ?](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) 

 **Vidéos connexes :** 
+  [Présentation d'AWS CodeCommit](https://youtu.be/46PRLMW8otg) 

# OPS05-BP02 Tester et valider les modifications
<a name="ops_dev_integ_test_val_chg"></a>

 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. 

 De nombreux services AWS offrent des fonctionnalités de contrôle de version. Utilisez un système de contrôle de source ou de révision comme [AWS CodeCommit](https://aws.amazon.com/codecommit/) pour gérer le code et d'autres artefacts, tels que les modèles [AWS CloudFormation](https://aws.amazon.com/cloudformation/) avec contrôle de version de votre infrastructure. 

 **Anti-modèles courants :** 
+  Vous déployez votre nouveau code en production et les clients commencent à appeler, car votre application ne fonctionne plus. 
+  Vous appliquez de nouveaux groupes de sécurité pour améliorer la sécurité de votre périmètre. Il fonctionne avec des conséquences imprévues, et vos utilisateurs ne sont pas en mesure d'accéder à vos applications. 
+  Vous modifiez une méthode appelée par votre nouvelle fonction. Une autre fonction dépendait également de cette méthode et ne fonctionne plus. Le problème n'est pas détecté et entre en production. L'autre fonction n'est pas appelée pendant un certain temps et échoue finalement en production sans aucune corrélation avec la cause. 

 **Avantages liés au respect de cette bonne pratique :** En testant et validant rapidement les modifications, vous êtes en mesure de résoudre les problèmes avec des coûts réduits, et de limiter l'impact sur vos clients. En testant avant le déploiement, vous minimisez l'introduction d'erreurs. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Débit 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  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. 
  +  [Qu'est-ce qu'AWS CodeBuild ?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
  +  [Prise en charge de build local pour AWS CodeBuild](https://aws.amazon.com/blogs/devops/announcing-local-build-support-for-aws-codebuild/) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [Outils pour développeurs AWS](https://aws.amazon.com/products/developer-tools/) 
+  [Prise en charge de build local pour AWS CodeBuild](https://aws.amazon.com/blogs/devops/announcing-local-build-support-for-aws-codebuild/) 
+  [Qu'est-ce qu'AWS CodeBuild ?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 

# OPS05-BP03 Utiliser des systèmes de gestion de la configuration
<a name="ops_dev_integ_conf_mgmt_sys"></a>

 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. 

 La gestion de la configuration statique définit des valeurs lors de l'initialisation d'une ressource. Elles doivent rester cohérentes tout au long de la durée de vie de cette ressource. Certains exemples incluent la définition de la configuration d'un serveur web ou d'applications sur une instance, ou la définition de la configuration d'un service AWS dans [AWS Management Console](https://docs.aws.amazon.com/awsconsolehelpdocs/index.html) ou via l'interface [AWS CLI](https://aws.amazon.com/cli/). 

 La gestion dynamique de la configuration définit des valeurs à l'initialisation qui peuvent ou sont censées changer pendant la durée de vie d'une ressource. Par exemple, vous pouvez définir un mécanisme d'activation et de désactivation d'un fonctionnalité dans votre code via un changement de configuration, ou modifier le niveau de détail du journal pendant un incident pour capturer plus de données, puis revenir en arrière après l'incident en éliminant les journaux désormais inutiles et les dépenses associées. 

 Si des configurations dynamiques sont appliquées à vos applications exécutées sur des instances, des conteneurs, des fonctions sans serveur ou des appareils, vous pouvez utiliser [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) pour les gérer et les déployer dans vos environnements. 

 Sur AWS, vous pouvez utiliser [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) pour surveiller en permanence vos configurations de ressources AWS [entre les comptes et les régions](https://docs.aws.amazon.com/config/latest/developerguide/aggregate-data.html). Il vous permet de suivre leur historique de configuration, de comprendre comment une modification de la configuration affecterait d'autres ressources et de les auditer par rapport aux configurations attendues ou souhaitées avec [AWS Config Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) et [les packs de conformité AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/conformance-packs.html). 

 Dans AWS, vous pouvez créer des pipelines d'intégration continue/de déploiement continu (CI/CD) à l'aide de services tels que les [Outils pour développeurs AWS](https://aws.amazon.com/products/developer-tools/) (par exemple, AWS CodeCommit, [AWS CodeBuild](https://aws.amazon.com/codebuild/), [AWS CodePipeline](https://aws.amazon.com/codepipeline/), [AWS CodeDeploy](https://aws.amazon.com/codedeploy/)et [AWS CodeStar](https://aws.amazon.com/codestar/)). 

 Maintenez un calendrier des modifications et suivez la planification d'activités ou d'événements métier ou opérationnels importants susceptibles d'être affectés par la mise en œuvre d'un changement. Ajustez les activités pour gérer les risques liés à ces plans. [AWS Systems Manager Modifier le calendrier](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar.html) fournit un mécanisme permettant de documenter les fenêtres temporelles ouvertes ou fermées aux modifications et pourquoi elles le sont et de [partager ces informations](https://docs.aws.amazon.com/systems-manager/latest/userguide/change-calendar-share.html) avec d'autres Comptes AWS. Les scripts AWS Systems Manager peuvent être configurés pour respecter l'état du calendrier de modifications. 

 [fenêtres de maintenance AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html) peuvent être utilisées pour planifier les performances des scripts AWS SSM Run Command ou Automation, des appels AWS Lambda ou des activités AWS Step Functions à des heures spécifiées. Marquez ces activités dans votre calendrier de modifications afin qu'elles puissent être incluses dans votre évaluation. 

 **Anti-modèles courants :** 
+  Vous mettez manuellement à jour la configuration des serveurs Web de votre flotte, et un certain nombre de serveurs ne répondent plus en raison d'erreurs de mise à jour. 
+  Vous mettez à jour manuellement votre flotte de serveurs d'applications pendant plusieurs heures. L'incohérence de la configuration pendant la modification entraîne des comportements inattendus. 
+  Quelqu'un a mis à jour vos groupes de sécurité et vos serveurs Web ne sont plus accessibles. Sans savoir ce qui a changé, vous passez beaucoup de temps à enquêter sur la question, ce qui prolonge votre temps de reprise. 

 **Avantages liés au respect de cette bonne pratique :** L'adoption de systèmes de gestion de la configuration réduit le niveau d'effort nécessaire pour effectuer et suivre les changements, ainsi que la fréquence des erreurs causées par les procédures manuelles. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Moyenne entreprise 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Utiliser des systèmes de gestion de la configuration : exploitez des systèmes de gestion de la configuration afin de suivre et de mettre en œuvre les modifications, de réduire les erreurs causées par les processus manuels et de réduire le niveau d'effort. 
  +  [Gestion de la configuration d'infrastructure](https://aws.amazon.com/answers/configuration-management/aws-infrastructure-configuration-management/) 
  +  [AWS Config](https://aws.amazon.com/config/) 
  +  [Qu'est-ce qu'AWS Config ?](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) 
  +  [Présentation d'AWS CloudFormation](https://youtu.be/Omppm_YUG2g) 
  +  [Qu'est-ce qu'AWS CloudFormation ?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
  +  [AWS OpsWorks](https://aws.amazon.com/opsworks/) 
  +  [Qu'est-ce qu'AWS OpsWorks ?](https://docs.aws.amazon.com/opsworks/latest/userguide/welcome.html) 
  +  [Présentation d'AWS Elastic Beanstalk](https://youtu.be/SrwxAScdyT0) 
  +  [Qu'est-ce qu'AWS Elastic Beanstalk ?](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [AWS AppConfig](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html) 
+  [Outils pour développeurs AWS](https://aws.amazon.com/products/developer-tools/) 
+  [AWS OpsWorks](https://aws.amazon.com/opsworks/) 
+  [AWS Systems Manager Modifier le calendrier](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar.html) 
+  [fenêtres de maintenance AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html) 
+  [Gestion de la configuration d'infrastructure](https://aws.amazon.com/answers/configuration-management/aws-infrastructure-configuration-management/) 
+  [Qu'est-ce qu'AWS CloudFormation ?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
+  [Qu'est-ce qu'AWS Config ?](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) 
+  [Qu'est-ce qu'AWS Elastic Beanstalk ?](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html) 
+  [Qu'est-ce qu'AWS OpsWorks ?](https://docs.aws.amazon.com/opsworks/latest/userguide/welcome.html) 

 **Vidéos connexes :** 
+  [Présentation d'AWS CloudFormation](https://youtu.be/Omppm_YUG2g) 
+  [Présentation d'AWS Elastic Beanstalk](https://youtu.be/SrwxAScdyT0) 

# OPS05-BP04 Utiliser des systèmes de gestion du développement et du déploiement
<a name="ops_dev_integ_build_mgmt_sys"></a>

 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. 

 Dans AWS, vous pouvez créer des pipelines d'intégration continue/de déploiement continu (CI/CD) à l'aide de services tels que les [Outils pour développeurs AWS](https://aws.amazon.com/products/developer-tools/) (par exemple, AWS CodeCommit, [AWS CodeBuild](https://aws.amazon.com/codebuild/), [AWS CodePipeline](https://aws.amazon.com/codepipeline/), [AWS CodeDeploy](https://aws.amazon.com/codedeploy/)et [AWS CodeStar](https://aws.amazon.com/codestar/)). 

 **Anti-modèles courants :** 
+  Après avoir compilé votre code sur votre système de développement, vous copiez l'exécutable sur vos systèmes de production et il ne démarre pas. Les fichiers journaux locaux indiquent qu’il n’a pas fonctionné en raison de dépendances manquantes. 
+  Vous créez avec succès votre application avec de nouvelles fonctionnalités dans votre environnement de développement et soumettez le code à l'assurance qualité (QA). L'assurance qualité échoue, car il manque des ressources statiques. 
+  Vendredi, après de nombreux efforts, vous avez réussi à créer manuellement votre application dans votre environnement de développement, y compris vos nouvelles fonctionnalités codées. Lundi, vous ne pouvez pas répéter les étapes qui vous ont permis de créer votre application avec succès. 
+  Vous effectuez les tests que vous avez créés pour votre nouvelle version. Ensuite, vous passez la semaine suivante à configurer un environnement de test et à exécuter tous les tests d'intégration existants, suivis des tests de performances. Le nouveau code a un impact inacceptable sur les performances et doit être redéveloppé, puis retesté. 

 **Avantages liés au respect de cette bonne pratique :** En fournissant des mécanismes pour gérer les activités de construction et de déploiement, vous réduisez le niveau d'effort nécessaire pour effectuer des tâches répétitives, vous libérez les membres de votre équipe pour qu'ils puissent se concentrer sur leurs tâches créatives de grande valeur et vous limitez l'introduction d'erreurs provenant des procédures manuelles. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Moyenne entreprise 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Utiliser des systèmes de gestion du développement et du déploiement : servez-vous de systèmes de gestion du développement et du déploiement afin de suivre et de mettre en œuvre les 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. 
  +  [Qu'est-ce qu'AWS CodeBuild ?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
  +  [Bonnes pratiques d'intégration continue pour le développement de logiciels](https://www.youtube.com/watch?v=GEPJ7Lo346A) 
  +  [Slalom: CI/CD for serverless applications on AWS](https://www.youtube.com/watch?v=tEpx5VaW4WE) 
  +  [Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services](https://www.youtube.com/watch?v=Wx-ain8UryM) 
  +  [Qu'est-ce qu'AWS CodeDeploy ?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [Outils pour développeurs AWS](https://aws.amazon.com/products/developer-tools/) 
+  [Qu'est-ce qu'AWS CodeBuild ?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
+  [Qu'est-ce qu'AWS CodeDeploy ?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 

 **Vidéos connexes :** 
+  [Bonnes pratiques d'intégration continue pour le développement de logiciels](https://www.youtube.com/watch?v=GEPJ7Lo346A) 
+  [Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services](https://www.youtube.com/watch?v=Wx-ain8UryM) 
+  [Slalom: CI/CD for serverless applications on AWS](https://www.youtube.com/watch?v=tEpx5VaW4WE) 

# OPS05-BP05 Procéder à la gestion des correctifs
<a name="ops_dev_integ_patch_mgmt"></a>

 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. 

 La gestion des correctifs et des vulnérabilités fait partie de vos activités de gestion des bénéfices et des risques. Il est préférable d'avoir des infrastructures immuables et de déployer des charges de travail dans des états de bon fonctionnement connus et vérifiés. Lorsque cela n'est pas viable, l'application de correctifs est la seule solution. 

 La mise à jour des images de machine, des images de conteneur ou [des exécutions personnalisées et des bibliothèques supplémentaires Lambda](https://docs.aws.amazon.com/lambda/latest/dg/security-configuration.html) pour supprimer les vulnérabilités fait partie de la gestion des correctifs. Vous devez gérer les mises à jour des [Amazon Machine Images](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html) (AMI) pour les images Linux ou Windows Server à l'aide de [EC2 Image Builder](https://aws.amazon.com/image-builder/). Vous pouvez utiliser [Amazon Elastic Container Registry](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) avec votre pipeline existant pour [gérer les images Amazon ECS](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_on_ECS.html) et [les images Amazon EKS](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ECR_on_EKS.html). AWS Lambda inclut [des fonctionnalités](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html) de gestion des versions. 

 L'application de correctifs ne doit pas être effectuée sur les systèmes de production sans avoir effectué un test préalable dans un environnement sûr. Les correctifs ne doivent être appliqués que s'ils favorisent la réalisation d'un résultat opérationnel ou métier. Sur AWS, vous pouvez utiliser [le gestionnaire de correctifs AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) pour automatiser le processus d'application des correctifs sur les systèmes gérés et planifier l'activité à l'aide des [fenêtres de maintenance AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html). 

 **Anti-modèles courants :** 
+  On vous demande d'appliquer tous les nouveaux correctifs de sécurité dans un délai de deux heures, ce qui entraîne de multiples pannes dues à l'incompatibilité de l'application avec les correctifs. 
+  Une bibliothèque non corrigée entraîne des conséquences imprévues, car des parties inconnues y utilisent des failles pour accéder à votre charge de travail. 
+  Vous corrigez automatiquement les environnements de développement sans en informer les développeurs. Vous recevez plusieurs réclamations des développeurs indiquant que leur environnement ne fonctionne plus correctement. 
+  Vous n'avez pas corrigé le logiciel sur une instance persistante. Lorsque vous rencontrez un problème avec le logiciel et que vous contactez le fournisseur, celui-ci vous informe que la version n'est pas prise en charge et que vous devez appliquer un correctif à un niveau spécifique pour recevoir de l'aide. 
+  Un correctif récemment publié pour le logiciel de chiffrement que vous avez utilisé présente des améliorations significatives de performances. Votre système non corrigé présente des problèmes de performances qui persistent suite à l'absence de correctifs. 

 **Avantages liés au respect de cette bonne pratique :** En établissant un processus de gestion des correctifs, y compris vos critères de correctifs et la méthodologie de distribution dans vos environnements, vous serez en mesure de bénéficier de leurs avantages et de contrôler leur impact. Cela permettra l'adoption des fonctions et fonctionnalités désirées, d’éliminer les problèmes et de respecter durablement la gouvernance. Mettez en œuvre des systèmes de gestion des correctifs et d'automatisation pour réduire le niveau d'effort nécessaire au déploiement des correctifs et limiter les erreurs causées par les processus manuels. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Moyenne entreprise 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Gestion des correctifs : appliquez des correctifs aux systèmes pour corriger les problèmes, obtenir les fonctionnalités souhaitées et rester conforme à la politique de gouvernance et aux exigences de support 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. 
  +  [le gestionnaire de correctifs AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [Outils pour développeurs AWS](https://aws.amazon.com/products/developer-tools/) 
+  [le gestionnaire de correctifs AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) 

 **Vidéos connexes :** 
+  [CI/CD for Serverless Applications on AWS](https://www.youtube.com/watch?v=tEpx5VaW4WE) 
+  [Design with Ops in Mind](https://youtu.be/uh19jfW7hw4) 

   **Exemples connexes :** 
+  [Ateliers Well-Architected : inventaire et gestion des correctifs](https://wellarchitectedlabs.com/operational-excellence/100_labs/100_inventory_patch_management/) 

# OPS05-BP06 Partager les normes de conception
<a name="ops_dev_integ_share_design_stds"></a>

 Partagez les bonnes pratiques entre les équipes pour sensibiliser et maximiser les bénéfices des efforts de développement. 

 Sur AWS, l'application, le calcul, l'infrastructure, et les opérations peuvent être définis et gérés à l'aide des méthodologies de code. Cela permet une publication, un partage et une adoption simples. 

 De nombreux services et ressources AWS sont conçus pour être partagés entre les comptes, ce qui vous permet de partager des ressources créées et des connaissances entre vos équipes. Par exemple, vous pouvez partager [CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/cross-account.html) des référentiels, [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-permissions.html) des fonctions, [des compartiments Amazon S3](https://aws.amazon.com/premiumsupport/knowledge-center/cross-account-access-s3/)et [des AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html) vers des comptes spécifiques. 

 Lorsque vous publiez de nouvelles ressources ou mises à jour, utilisez Amazon SNS pour publier [des notifications entre les comptes](https://docs.aws.amazon.com/lambda/latest/dg/with-sns-example.html). Les abonnés peuvent utiliser Lambda pour obtenir de nouvelles versions. 

 Si des normes partagées sont appliquées dans votre entreprise, il est essentiel que des mécanismes soient mis en place pour demander des ajouts, des modifications et des dérogations aux normes afin de soutenir les activités des équipes. Sans cette possibilité, les normes deviennent une contrainte à l'innovation. 

 **Anti-modèles courants :** 
+  Vous avez créé votre propre mécanisme d'authentification des utilisateurs, tout comme chacune des autres équipes de développement de votre organisation. Vos utilisateurs doivent conserver un ensemble distinct d'informations d'identification pour chaque partie du système auquel ils souhaitent accéder. 
+  Vous avez créé votre propre mécanisme d'authentification des utilisateurs, tout comme chacune des autres équipes de développement de votre organisation. Votre organisation reçoit une nouvelle exigence de conformité qui doit être satisfaite. Chaque équipe de développement doit désormais investir les ressources pour mettre en œuvre la nouvelle exigence. 
+  Vous avez créé votre propre configuration d'écran, comme chacune des autres équipes de développement de votre organisation. Vos utilisateurs se plaignent de la difficulté de naviguer dans les interfaces incohérentes. 

 **Avantages liés au respect de cette bonne pratique :** Utilisez des normes communes pour soutenir l'adoption des bonnes pratiques et pour maximiser les avantages des efforts de développement lorsque les normes répondent aux exigences de plusieurs applications ou organisations. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Moyenne entreprise 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  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. 
  +  [Déléguer l'accès à votre environnement AWS](https://www.youtube.com/watch?v=0zJuULHFS6A&t=849s) 
  +  [Partager un référentiel AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-share-repository.html) 
  +  [Facilité d'autorisation des fonctions AWS Lambda](https://aws.amazon.com/blogs/compute/easy-authorization-of-aws-lambda-functions/) 
  +  [Partager une AMI avec des comptes Comptes AWS spécifiques](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html) 
  +  [Accélérer le partage de modèles avec une URL de concepteur AWS CloudFormation](https://aws.amazon.com/blogs/devops/speed-template-sharing-with-an-aws-cloudformation-designer-url/) 
  +  [Utilisation d'AWS Lambda avec Amazon SNS](https://docs.aws.amazon.com/lambda/latest/dg/with-sns-example.html) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [Facilité d'autorisation des fonctions AWS Lambda](https://aws.amazon.com/blogs/compute/easy-authorization-of-aws-lambda-functions/) 
+  [Partager un référentiel AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-share-repository.html) 
+  [Partager une AMI avec des comptes Comptes AWS spécifiques](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html) 
+  [Accélérer le partage de modèles avec une URL de concepteur AWS CloudFormation](https://aws.amazon.com/blogs/devops/speed-template-sharing-with-an-aws-cloudformation-designer-url/) 
+  [Utilisation d'AWS Lambda avec Amazon SNS](https://docs.aws.amazon.com/lambda/latest/dg/with-sns-example.html) 

 **Vidéos connexes :** 
+  [Déléguer l'accès à votre environnement AWS](https://www.youtube.com/watch?v=0zJuULHFS6A&t=849s) 

# OPS05-BP07 Mettre en œuvre des pratiques visant à améliorer la qualité du code
<a name="ops_dev_integ_code_quality"></a>

 Mettez en place des pratiques pour améliorer la qualité du code et limiter les failles. Parmi les exemples possibles, citons le développement basé sur les tests, les révisions de code et l'adoption de normes. 

 Sur AWS, vous pouvez intégrer des services comme [Amazon CodeGuru](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html) à votre pipeline pour identifier automatiquement [les problèmes potentiels de code et de sécurité](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/how-codeguru-reviewer-works.html) à l'aide de l'analyse de programme et de machine learning. CodeGuru fournit des recommandations sur la manière de mettre en œuvre les bonnes pratiques AWS pour résoudre ces problèmes. 

 **Anti-modèles courants :** 
+  Pour pouvoir tester votre fonctionnalité plus tôt, vous avez décidé de ne pas intégrer votre bibliothèque standard d'assainissement des entrées. Après avoir effectué les tests, vous validez votre code en oubliant d'effectuer l'incorporation complète de la bibliothèque. 
+  Vous n'avez qu'une expérience minimale de l'ensemble de données que vous traitez et vous ne savez pas qu'il peut exister une série de cas limites dans votre ensemble de données. Ces cas limites ne sont pas compatibles avec le code que vous avez implémenté. 

 **Avantages liés au respect de cette bonne pratique :** En adoptant des pratiques visant à améliorer la qualité du code, vous contribuez à minimiser les problèmes introduits dans la production. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Moyenne entreprise 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  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. 
  +  [Amazon CodeGuru](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [Amazon CodeGuru](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html) 

# OPS05-BP08 Utiliser plusieurs environnements
<a name="ops_dev_integ_multi_env"></a>

 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. 

 **Anti-modèles courants :** 
+  Vous effectuez un développement dans un environnement de développement partagé et un autre développeur remplace vos modifications de code. 
+  Les contrôles de sécurité restrictifs sur votre environnement de développement partagé vous empêchent d'expérimenter de nouveaux services et fonctionnalités. 
+  Vous effectuez des tests de charge sur vos systèmes de production et provoquez une panne pour vos utilisateurs. 
+  Une erreur critique entraînant une perte de données s'est produite en production. Dans votre environnement de production, vous essayez de recréer les conditions qui ont conduit à la perte de données afin de pouvoir identifier comment elle s'est produite et empêcher qu'elle ne se reproduise. Pour éviter toute perte de données supplémentaire pendant les tests, vous devez rendre l'application indisponible aux utilisateurs. 
+  Vous explorez un service multi-locataire et n'êtes pas en mesure de répondre à la demande d'un client pour un environnement dédié. 
+  Il est possible que vous ne procédiez pas toujours aux tests, mais lorsque vous le faites, vous le faites en production. 
+  Vous pensez que la simplicité d'un environnement unique l'emporte sur la portée de l'impact des modifications au sein de l'environnement. 

 **Avantages liés au respect de cette bonne pratique :** En déployant plusieurs environnements, vous pouvez prendre en charge plusieurs environnements de développement, de test et de production simultanément sans créer de conflits entre les développeurs ou les communautés d'utilisateurs. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Moyenne entreprise 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  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é d'innover. 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. 
  +  [Qu'est-ce qu'AWS CloudFormation ?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
  +  [Comment arrêter et démarrer des instances Amazon EC2 à des intervalles réguliers avec AWS Lambda ?](https://aws.amazon.com/premiumsupport/knowledge-center/start-stop-lambda-cloudwatch/) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [Comment arrêter et démarrer des instances Amazon EC2 à des intervalles réguliers avec AWS Lambda ?](https://aws.amazon.com/premiumsupport/knowledge-center/start-stop-lambda-cloudwatch/) 
+  [Qu'est-ce qu'AWS CloudFormation ?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 

# OPS05-BP09 Effectuer des modifications fréquentes, légères et réversibles
<a name="ops_dev_integ_freq_sm_rev_chg"></a>

 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. 

 **Anti-modèles courants :** 
+  Vous déployez une nouvelle version de votre application tous les trimestres. 
+  Vous apportez fréquemment des modifications à votre schéma de base de données. 
+  Vous effectuez des mises à jour manuelles sur place, en remplaçant les installations et configurations existantes. 

 **Avantages liés au respect de cette bonne pratique :** Vous reconnaissez plus rapidement les avantages des efforts de développement en déployant fréquemment de petites modifications. Lorsque les changements sont minimes, il est beaucoup plus facile d'identifier s'ils ont des conséquences inattendues. Lorsque les modifications sont réversibles, les risques liés à leur mise en œuvre sont minimes, car la récupération est simplifiée. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Faible 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Effectuer des modifications fréquentes, légères et réversibles : les modifications fréquentes, petites et réversibles réduisent la portée et l'impact d'un changement. 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. 

# OPS05-BP10 Automatiser complètement l'intégration et le déploiement
<a name="ops_dev_integ_auto_integ_deploy"></a>

 Automatisez la création, 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. 

 Appliquez des métadonnées à l'aide des [balises de ressources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) et [Groupes de ressources AWS](https://docs.aws.amazon.com/ARG/latest/APIReference/Welcome.html) en respectant une stratégie de balisage [cohérente](https://aws.amazon.com/answers/account-management/aws-tagging-strategies/) pour activer l'identification de vos ressources. Balisez vos ressources pour l’organisation, la comptabilité analytique, les contrôles des accès et le ciblage de l'exécution des activités des opérations automatisées. 

 **Anti-modèles courants :** 
+  Vendredi, vous avez fini de créer le nouveau code de votre branche de fonctionnalité. Lundi, après avoir exécuté vos scripts de test de la qualité du code et chacun de vos scripts de tests unitaires, vous vérifierez votre code pour la prochaine version prévue. 
+  Vous êtes chargé de coder un correctif pour un problème critique affectant un grand nombre de clients en production. Après avoir testé le correctif, vous validez votre code et envoyez un e-mail à l'équipe de gestion des modifications pour demander l'autorisation de le déployer en production. 

 **Avantages liés au respect de cette bonne pratique :** En mettant en œuvre des systèmes automatisés de gestion de la création et du déploiement, vous réduisez les erreurs causées par les processus manuels et diminuez l'effort de déploiement des modifications, ce qui permet aux membres de votre équipe de se concentrer sur la création de valeur ajoutée. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Faible 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Utiliser des systèmes de gestion du développement et du déploiement : servez-vous de systèmes de gestion du développement et du déploiement afin de suivre et de mettre en œuvre les 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. 
  +  [Qu'est-ce qu'AWS CodeBuild ?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
  +  [Bonnes pratiques d'intégration continue pour le développement de logiciels](https://www.youtube.com/watch?v=GEPJ7Lo346A) 
  +  [Slalom: CI/CD for serverless applications on AWS](https://www.youtube.com/watch?v=tEpx5VaW4WE) 
  +  [Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services](https://www.youtube.com/watch?v=Wx-ain8UryM) 
  +  [Qu'est-ce qu'AWS CodeDeploy ?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [Qu'est-ce qu'AWS CodeBuild ?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
+  [Qu'est-ce qu'AWS CodeDeploy ?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 

 **Vidéos connexes :** 
+  [Bonnes pratiques d'intégration continue pour le développement de logiciels](https://www.youtube.com/watch?v=GEPJ7Lo346A) 
+  [Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services](https://www.youtube.com/watch?v=Wx-ain8UryM) 
+  [Slalom: CI/CD for serverless applications on AWS](https://www.youtube.com/watch?v=tEpx5VaW4WE) 

# OPS 6  Comment réduire les risques liés au déploiement ?
<a name="w2aac19b5b7b9"></a>

 Adoptez des approches qui fournissent un retour d'information rapide sur la qualité et permettent une reprise rapide à la suite de changements qui n'offrent pas les résultats escomptés. L'utilisation de ces pratiques diminue l'impact des problèmes découlant du déploiement des modifications. 

**Topics**
+ [OPS06-BP01 Planifier les modifications infructueuses](ops_mit_deploy_risks_plan_for_unsucessful_changes.md)
+ [OPS06-BP02 Tester et valider les modifications](ops_mit_deploy_risks_test_val_chg.md)
+ [OPS06-BP03 Utiliser des systèmes de gestion du déploiement](ops_mit_deploy_risks_deploy_mgmt_sys.md)
+ [OPS06-BP04 Effectuer des tests avec des déploiements limités](ops_mit_deploy_risks_test_limited_deploy.md)
+ [OPS06-BP05 Effectuer un déploiement avec des environnements parallèles](ops_mit_deploy_risks_deploy_to_parallel_env.md)
+ [OPS06-BP06 Déployer des modifications fréquentes, minimes, réversibles](ops_mit_deploy_risks_freq_sm_rev_chg.md)
+ [OPS06-BP07 Automatiser complètement l'intégration et le déploiement](ops_mit_deploy_risks_auto_integ_deploy.md)
+ [OPS06-BP08 Automatiser les tests et la restauration](ops_mit_deploy_risks_auto_testing_and_rollback.md)

# OPS06-BP01 Planifier les modifications infructueuses
<a name="ops_mit_deploy_risks_plan_for_unsucessful_changes"></a>

 Planifiez de revenir à un état antérieur connu pour être bon, ou corrigez l'environnement de production si une modification n'a pas le résultat escompté. Cette préparation accélère la reprise grâce à des réponses plus rapides. 

 **Anti-modèles courants :** 
+  Vous avez effectué un déploiement et votre application est devenue instable, mais il semble qu’il y ait des utilisateurs actifs sur le système. Vous devez décider entre annuler la modification et avoir un impact sur les utilisateurs actifs et attendre pour annuler la modification en sachant que les utilisateurs peuvent être impactés de toute façon. 
+  Après avoir modifié la routine, vos nouveaux environnements sont accessibles, mais l'un de vos sous-réseaux est devenu inaccessible. Vous devez décider de tout annuler ou d'essayer de réparer le sous-réseau inaccessible. Pendant cette période de détermination, le sous-réseau reste inaccessible. 

 **Avantages liés au respect de cette bonne pratique :** La mise en place d'une stratégie réduit le temps moyen de récupération (MTTR) après des modifications infructueuses, limitant ainsi l'impact sur les utilisateurs finaux. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Débit 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Planifier les modifications infructueuses : planifiez de revenir à un état antérieur connu pour être bon (c'est-à-dire, annuler la modification) ou procédez à une correction dans l'environnement de production (c'est-à-dire, déployer davantage la modification) si une modification n'a pas le résultat escompté. Lorsque vous identifiez des modifications que vous ne pouvez pas annuler si elles échouent, effectuez les vérifications préalables avant de valider les modifications. 

# OPS06-BP02 Tester et valider les modifications
<a name="ops_mit_deploy_risks_test_val_chg"></a>

 Testez les modifications et validez les résultats à toutes les étapes du cycle de vie afin de vérifier les nouvelles fonctionnalités et de réduire les risques et l'impact des déploiements ayant échoué. 

 Sur AWS, vous pouvez créer des environnements parallèles temporaires, ce qui diminue les risques, les efforts et les frais liés à l'expérimentation et aux tests. Automatisez le déploiement de ces environnements à l'aide de [AWS CloudFormation](https://aws.amazon.com/cloudformation/) pour garantir leur mise en place cohérente. 

 **Anti-modèles courants :** 
+  Vous déployez une nouvelle superbe fonctionnalité dans votre application. Elle ne fonctionne pas. Vous ne savez pas. 
+  Vous mettez à jour vos certificats. Vous installez accidentellement les certificats sur les composants incorrects. Vous ne savez pas. 

 **Avantages liés au respect de cette bonne pratique :** En testant et validant les modifications à la suite du déploiement, vous êtes en mesure d'identifier rapidement les problèmes, ce qui vous permet d'atténuer l'impact sur vos clients. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Débit 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Tester et valider les modifications : testez les changements et validez les résultats à tous les stades du cycle de vie (par exemple, développement, test et production), afin de valider les nouvelles fonctionnalités et de réduire les risques et l'impact des déploiements qui échouent. 
  +  [AWS Cloud9](https://aws.amazon.com/cloud9/) 
  +  [Qu'est-ce qu'AWS Cloud9 ?](https://docs.aws.amazon.com/cloud9/latest/user-guide/welcome.html) 
  +  [Comment tester et déboguer AWS CodeDeploy localement avant d'expédier votre code](https://aws.amazon.com/blogs/devops/how-to-test-and-debug-aws-codedeploy-locally-before-you-ship-your-code/) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [AWS Cloud9](https://aws.amazon.com/cloud9/) 
+  [Outils pour développeurs AWS](https://aws.amazon.com/products/developer-tools/) 
+  [Comment tester et déboguer AWS CodeDeploy localement avant d'expédier votre code](https://aws.amazon.com/blogs/devops/how-to-test-and-debug-aws-codedeploy-locally-before-you-ship-your-code/) 
+  [Qu'est-ce qu'AWS Cloud9 ?](https://docs.aws.amazon.com/cloud9/latest/user-guide/welcome.html) 

# OPS06-BP03 Utiliser des systèmes de gestion du déploiement
<a name="ops_mit_deploy_risks_deploy_mgmt_sys"></a>

 Utilisez les systèmes de gestion de déploiement pour suivre et mettre en œuvre des modifications. Cela permet de réduire les erreurs découlant des processus manuels, ainsi que les efforts nécessaires au déploiement des modifications. 

 Dans AWS, vous pouvez créer des pipelines d'intégration continue/de déploiement continu (CI/CD) à l'aide de services tels que les [Outils pour développeurs AWS](https://aws.amazon.com/products/developer-tools/) (par exemple, AWS CodeCommit, [AWS CodeBuild](https://aws.amazon.com/codebuild/), [AWS CodePipeline](https://aws.amazon.com/codepipeline/), [AWS CodeDeploy](https://aws.amazon.com/codedeploy/)et [AWS CodeStar](https://aws.amazon.com/codestar/)). 

 **Anti-modèles courants :** 
+  Vous déployez manuellement des mises à jour sur les serveurs d'applications de votre flotte, et un certain nombre de serveurs ne répondent plus en raison d'erreurs de mise à jour. 
+  Vous déployez manuellement sur votre flotte de serveurs d'applications pendant plusieurs heures. L'incohérence des versions pendant la modification entraîne des comportements inattendus. 

 **Avantages liés au respect de cette bonne pratique :** L'adoption de systèmes de gestion du déploiement réduit le niveau d'effort nécessaire pour déployer les modifications, ainsi que la fréquence des erreurs causées par les procédures manuelles. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Moyenne entreprise 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Utiliser des systèmes de gestion du déploiement : utilisez des systèmes de gestion du déploiement pour suivre et mettre en œuvre les modifications. Cette démarche permet de réduire les erreurs causées par les processus manuels, mais aussi réduire le niveau d'efforts pour déployer des modifications. Automatisez le pipeline d'intégration et de déploiement à partir du code d'enregistrement et par le biais 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 davantage le niveau d'effort. 
  +  [Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services](https://www.youtube.com/watch?v=Wx-ain8UryM) 
  +  [Qu'est-ce qu'AWS CodeDeploy ?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
  +  [Qu'est-ce qu'AWS Elastic Beanstalk ?](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html) 
  +  [Qu'est-ce qu'Amazon API Gateway ?](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [Guide de l'utilisateur AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
+  [Outils pour développeurs AWS](https://aws.amazon.com/products/developer-tools/) 
+  [Essayer un exemple de déploiement bleu/vert dans AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 
+  [Qu'est-ce qu'AWS CodeDeploy ?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
+  [Qu'est-ce qu'AWS Elastic Beanstalk ?](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html) 
+  [Qu'est-ce qu'Amazon API Gateway ?](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) 

 **Vidéos connexes :** 
+  [Deep Dive on Advanced Continuous Delivery Techniques Using AWS](https://www.youtube.com/watch?v=Lrrgd0Kemhw) 
+  [Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services](https://www.youtube.com/watch?v=Wx-ain8UryM) 

# OPS06-BP04 Effectuer des tests avec des déploiements limités
<a name="ops_mit_deploy_risks_test_limited_deploy"></a>

 Faites le test avec des déploiements limités et avec des systèmes existants pour confirmer les résultats souhaités avant le déploiement à grande échelle. Par exemple, utilisez les tests Canary de déploiement ou des déploiements sur un seul hôte. 

 **Anti-modèles courants :** 
+  Vous déployez une modification infructueuse dans l'ensemble de l’environnement de production en une seule fois. Vous ne savez pas. 

 **Avantages liés au respect de cette bonne pratique :** En testant et en validant les modifications après un déploiement limité, vous êtes en mesure d'identifier rapidement les problèmes avec un impact minimal sur vos clients, ce qui vous permet d'atténuer davantage l'impact sur vos clients. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Moyenne entreprise 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Effectuer des tests avec des déploiements limités : effectuez des tests avec des déploiements limités et avec des systèmes existants pour confirmer les résultats attendus avant le déploiement à grande échelle. Par exemple, utilisez les tests Canary de déploiement ou des déploiements sur un seul hôte. 
  +  [Guide de l'utilisateur AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
  +  [Déploiements bleu/vert avec AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html) 
  +  [Configurer un déploiement de version API Gateway Canary](https://docs.aws.amazon.com/apigateway/latest/developerguide/canary-release.html) 
  +  [Essayer un exemple de déploiement bleu/vert dans AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 
  +  [Utilisation des configurations de déploiement AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [Guide de l'utilisateur AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
+  [Déploiements bleu/vert avec AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html) 
+  [Configurer un déploiement de version API Gateway Canary](https://docs.aws.amazon.com/apigateway/latest/developerguide/canary-release.html) 
+  [Essayer un exemple de déploiement bleu/vert dans AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 
+  [Utilisation des configurations de déploiement AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) 

# OPS06-BP05 Effectuer un déploiement avec des environnements parallèles
<a name="ops_mit_deploy_risks_deploy_to_parallel_env"></a>

 Mettez en œuvre les modifications dans des environnements parallèles, puis passez au nouvel environnement. Conservez l'ancien environnement jusqu'à la confirmation de la réussite du déploiement. Procéder de la sorte réduit les durées de récupération en activant la restauration à l'ancien environnement. 

 **Anti-modèles courants :** 
+  Vous effectuez un déploiement mutable en modifiant vos systèmes existants. Après avoir découvert que la modification n'a pas abouti, vous êtes obligé de modifier à nouveau les systèmes pour restaurer l'ancienne version, ce qui prolonge votre délai de récupération. 
+  Pendant une fenêtre de maintenance, vous désactivez l'ancien environnement, puis vous commencez à créer votre nouvel environnement. Plusieurs heures après le début de la procédure, vous découvrez des problèmes irrémédiables liés au déploiement. Bien qu'extrêmement fatigué, vous êtes obligé de retrouver les procédures de déploiement précédentes et de commencer à recréer l'ancien environnement. 

 **Avantages liés au respect de cette bonne pratique :** En utilisant des environnements parallèles, vous pouvez pré-déployer le nouvel environnement et y passer lorsque vous le souhaitez. Si le nouvel environnement ne réussit pas, vous pouvez vous rétablir rapidement les opérations en restaurant votre environnement d'origine. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Moyenne entreprise 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Effectuer un déploiement avec des environnements parallèles : implémentez les modifications dans des environnements parallèles, puis migrez vers le nouvel environnement. Conservez l'ancien environnement jusqu'à la confirmation de la réussite du déploiement. Cela réduit le temps de récupération en permettant la restauration de l'ancien environnement. Par exemple, utilisez des infrastructures immuables avec des déploiements de type bleu/vert. 
  +  [Utilisation des configurations de déploiement AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) 
  +  [Déploiements bleu/vert avec AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html) 
  +  [Configurer un déploiement de version API Gateway Canary](https://docs.aws.amazon.com/apigateway/latest/developerguide/canary-release.html) 
  +  [Essayer un exemple de déploiement bleu/vert dans AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [Guide de l'utilisateur AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
+  [Déploiements bleu/vert avec AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html) 
+  [Configurer un déploiement de version API Gateway Canary](https://docs.aws.amazon.com/apigateway/latest/developerguide/canary-release.html) 
+  [Essayer un exemple de déploiement bleu/vert dans AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 
+  [Utilisation des configurations de déploiement AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html) 

 **Vidéos connexes :** 
+  [Deep Dive on Advanced Continuous Delivery Techniques Using AWS](https://www.youtube.com/watch?v=Lrrgd0Kemhw) 

# OPS06-BP06 Déployer des modifications fréquentes, minimes, réversibles
<a name="ops_mit_deploy_risks_freq_sm_rev_chg"></a>

 Utilisez les modifications fréquentes, légères et réversibles pour réduire la portée d'une modification. Ainsi, vous facilitez la résolution des problèmes et accélérez les corrections avec la possibilité d’annuler une modification. 

 **Anti-modèles courants :** 
+  Vous déployez une nouvelle version de votre application tous les trimestres. 
+  Vous apportez fréquemment des modifications à votre schéma de base de données. 
+  Vous effectuez des mises à jour manuelles sur place, en remplaçant les installations et configurations existantes. 

 **Avantages liés au respect de cette bonne pratique :** Vous reconnaissez plus rapidement les avantages des efforts de développement en déployant fréquemment de petites modifications. Lorsque les changements sont minimes, il est beaucoup plus facile d'identifier s'ils ont des conséquences inattendues. Lorsque les changements sont réversibles, les risques de mise en œuvre d’une modification sont minimes, car la récupération est simplifiée. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Faible 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Déployer des modifications fréquentes, minimes, réversibles : des modifications fréquentes, petites et réversibles permettent de réduire la portée d'un changement. Ainsi, vous facilitez la résolution des problèmes et accélérez les corrections avec la possibilité d’annuler une modification. 

# OPS06-BP07 Automatiser complètement l'intégration et le déploiement
<a name="ops_mit_deploy_risks_auto_integ_deploy"></a>

 Automatisez la création, le déploiement et le test de la charge de travail. Cela permet de réduire les erreurs causées par les processus manuels et de diminuer l'effort de déploiement des modifications. 

 Appliquez des métadonnées à l'aide des [balises de ressources](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) et [Groupes de ressources AWS](https://docs.aws.amazon.com/ARG/latest/APIReference/Welcome.html) en respectant une stratégie de balisage [cohérente](https://aws.amazon.com/answers/account-management/aws-tagging-strategies/) pour activer l'identification de vos ressources. Balisez vos ressources pour l’organisation, la comptabilité analytique, les contrôles des accès et le ciblage de l'exécution des activités des opérations automatisées. 

 **Anti-modèles courants :** 
+  Vendredi, vous avez fini de créer le code de votre branche de fonctionnalité. Lundi, après avoir exécuté vos scripts de test de la qualité du code et chacun de vos scripts de tests unitaires, vous vérifierez votre code pour la prochaine version prévue. 
+  Vous êtes chargé de coder un correctif pour un problème critique affectant un grand nombre de clients en production. Après avoir testé le correctif, vous validez votre code et envoyez un e-mail à l'équipe de gestion des modifications pour demander l'autorisation de le déployer en production. 

 **Avantages liés au respect de cette bonne pratique :** En mettant en œuvre des systèmes automatisés de gestion de la création et du déploiement, vous réduisez les erreurs causées par les processus manuels et diminuez l'effort de déploiement des changements, ce qui permet aux membres de votre équipe de se concentrer sur la création de valeur ajoutée. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Faible 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Utiliser des systèmes de gestion du développement et du déploiement : servez-vous de systèmes de gestion du développement et du déploiement afin de suivre et de mettre en œuvre les 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. 
  +  [Qu'est-ce qu'AWS CodeBuild ?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
  +  [Bonnes pratiques d'intégration continue pour le développement de logiciels](https://www.youtube.com/watch?v=GEPJ7Lo346A) 
  +  [Slalom: CI/CD for serverless applications on AWS](https://www.youtube.com/watch?v=tEpx5VaW4WE) 
  +  [Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services](https://www.youtube.com/watch?v=Wx-ain8UryM) 
  +  [Qu'est-ce qu'AWS CodeDeploy ?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
  +  [Deep Dive on Advanced Continuous Delivery Techniques Using AWS](https://www.youtube.com/watch?v=Lrrgd0Kemhw) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [Essayer un exemple de déploiement bleu/vert dans AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/applications-create-blue-green.html) 
+  [Qu'est-ce qu'AWS CodeBuild ?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) 
+  [Qu'est-ce qu'AWS CodeDeploy ?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 

 **Vidéos connexes :** 
+  [Bonnes pratiques d'intégration continue pour le développement de logiciels](https://www.youtube.com/watch?v=GEPJ7Lo346A) 
+  [Deep Dive on Advanced Continuous Delivery Techniques Using AWS](https://www.youtube.com/watch?v=Lrrgd0Kemhw) 
+  [Introduction to AWS CodeDeploy - automated software deployment with Amazon Web Services](https://www.youtube.com/watch?v=Wx-ain8UryM) 
+  [Slalom: CI/CD for serverless applications on AWS](https://www.youtube.com/watch?v=tEpx5VaW4WE) 

# OPS06-BP08 Automatiser les tests et la restauration
<a name="ops_mit_deploy_risks_auto_testing_and_rollback"></a>

 Automatisez le test des environnements déployés pour confirmer les résultats souhaités. Automatisez la restauration du dernier état connu de bonne qualité lorsque les résultats ne sont pas atteints, afin de minimiser les temps de récupération et de réduire les erreurs causées par les processus manuels. 

 **Anti-modèles courants :** 
+  Vous déployez les modifications apportées à votre charge de travail. Une fois la modification terminée, vous commencez les tests de post-déploiement. Une fois qu'elles sont terminées, vous vous rendez compte que votre charge de travail est inutilisable et que les clients sont déconnectés. Vous commencez les opérations pour restaurer la version précédente. Après un délai prolongé au cours duquel vous avez détecté le problème, le délai de reprise est allongé par votre redéploiement manuel. 

 **Avantages liés au respect de cette bonne pratique :** En testant et en validant les modifications après le déploiement, vous êtes en mesure d'identifier les problèmes immédiatement. En restaurant automatiquement la version précédente, vous réduisez l'impact sur vos clients. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Faible 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Automatiser les tests et la restauration : automatisez les tests des environnements déployés pour confirmer les résultats souhaités. Automatisez la restauration du dernier état connu de bonne qualité lorsque les résultats ne sont pas atteints, afin de minimiser les temps de récupération et de réduire les erreurs causées par les processus manuels. Par exemple, effectuez des transactions utilisateur synthétiques détaillées après le déploiement, vérifiez les résultats et annulez en cas d'échec. 
  +  [Redéployer et annuler un déploiement avec AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployments-rollback-and-redeploy.html) 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [Redéployer et annuler un déploiement avec AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployments-rollback-and-redeploy.html) 

# OPS 7  Comment savoir si vous êtes prêt à gérer une charge de travail ?
<a name="w2aac19b5b7c11"></a>

 Évaluez la disponibilité opérationnelle de votre charge de travail, des processus et des procédures, ainsi que le personnel pour comprendre les risques opérationnels liés à votre charge de travail. 

**Topics**
+ [OPS07-BP01 Garantir les compétences du personnel](ops_ready_to_support_personnel_capability.md)
+ [OPS07-BP02 Assurer un examen cohérent de l'état de préparation opérationnelle](ops_ready_to_support_const_orr.md)
+ [OPS07-BP03 Utiliser des runbooks pour effectuer des procédures](ops_ready_to_support_use_runbooks.md)
+ [OPS07-BP04 Utiliser des playbooks pour analyser les problèmes](ops_ready_to_support_use_playbooks.md)
+ [OPS07-BP05 Prendre des décisions avisées pour déployer des systèmes et des modifications](ops_ready_to_support_informed_deploy_decisions.md)

# OPS07-BP01 Garantir les compétences du personnel
<a name="ops_ready_to_support_personnel_capability"></a>

 Mettez en place un mécanisme permettant de vérifier que vous disposez du personnel formé pour répondre aux besoins opérationnels. Formez le personnel et ajustez ses compétences pour maintenir un support efficace. 

 Vous devez disposer de suffisamment de membres d'équipe pour couvrir toutes les activités (y compris des employés d'astreinte). Assurez-vous que vos équipes disposent des compétences nécessaires pour valider les formations relatives à votre charge de travail, vos outils d'exploitation et AWS. 

 AWS fournit des ressources, y compris le [Centre de ressources de démarrage AWS](https://aws.amazon.com/getting-started/), [les blogs AWS](https://aws.amazon.com/blogs/), [les conférences techniques en ligne AWS](https://aws.amazon.com/getting-started/), [les événements et webinaires AWS](https://aws.amazon.com/events/)et les [Ateliers AWS Well-Architected](https://wellarchitectedlabs.com/)AWS, qui fournissent des conseils, des exemples et des démonstrations détaillées pour former vos équipes. En outre, [AWS Training and Certification](https://aws.amazon.com/training/) offre une formation gratuite par le biais de cours en ligne d'auto-formation sur les principes fondamentaux d'AWS. Vous pouvez également vous inscrire à une formation dirigée par un formateur afin de soutenir le développement des compétences AWS de vos équipes. 

 **Anti-modèles courants :** 
+  Déploiement d’une charge de travail sans que les membres de l'équipe soient qualifiés pour prendre la plate-forme et les services utilisés. 
+  Déploiement d'une charge de travail sans membres de l'équipe disponibles pendant les heures de support prévues. 
+  Déploiement d'une charge de travail sans suffisamment de membres de l'équipe pour la prendre en charge si des membres de l'équipe sont en congés ou en arrête maladie. 
+  Déploiement de charges de travail supplémentaires sans vérifier l'impact additionnel sur les membres de l'équipe qui prend en charge la charge de travail et d’autres charges de travail. 

 **Avantages liés au respect de cette bonne pratique :** Le fait de disposer de membres d'équipe compétents vous permet de prendre efficacement en charge votre charge de travail. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Débit 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Compétences du personnel : assurez-vous qu'il y ait suffisamment de personnel qualifié pour assumer efficacement la charge de travail. 
  +  Taille de l'équipe : veillez à disposer de suffisamment de personnel pour couvrir les activités opérationnelles, y compris des employés d'astreinte. 
  +  Compétence de l'équipe : assurez-vous que les membres de votre équipe soient suffisamment formés sur AWS, votre charge de travail et les outils utilisés pour vos opérations afin de mener à bien leurs tâches. 
    +  [Événements et webinaires AWS](https://aws.amazon.com/about-aws/events/) 
    +  [Bienvenue sur AWS Training and Certification](https://aws.amazon.com/training/) 
  +  Vérifier les capacités : vérifiez la taille de l'équipe et ses compétences au fur et à mesure que les conditions d'utilisation et les charges de travail évoluent, afin de maintenir l'excellence opérationnelle. Effectuez des ajustements pour veiller à ce que la taille de l'équipe et ses compétences satisfassent aux exigences opérationnelles pour les charges de travail gérées par l'équipe. 

## Ressources
<a name="resources"></a>

 **Documents connexes :** 
+  [les blogs AWS](https://aws.amazon.com/blogs/) 
+  [Événements et webinaires AWS](https://aws.amazon.com/about-aws/events/) 
+  [Centre de ressources de démarrage AWS](https://aws.amazon.com/getting-started/) 
+  [les conférences techniques en ligne AWS](https://aws.amazon.com/getting-started/) 
+  [Bienvenue sur AWS Training and Certification](https://aws.amazon.com/training/) 

 **Exemples connexes :** 
+  [Well-Architected Labs](https://wellarchitectedlabs.com/) 

# OPS07-BP02 Assurer un examen cohérent de l'état de préparation opérationnelle
<a name="ops_ready_to_support_const_orr"></a>

Utilisez les examens de disponibilité opérationnelle (ORR) afin de vous assurer que vous pouvez gérer votre charge de travail. L'ORR est un mécanisme élaboré par Amazon afin de s'assurer que les équipes peuvent exécuter leurs charges de travail en toute sécurité. Un ORR est un processus d'examen et d'inspection qui utilise une liste de contrôle des exigences. Un ORR est une expérience en libre-service que les équipes utilisent pour certifier leurs charges de travail. Les ORR comprennent les bonnes pratiques tirées des enseignements liés aux années que nous avons consacrées à la création de logiciels. 

 La liste de contrôle d'un ORR est composée de recommandations architecturales, de processus opérationnels, de gestion d'événements et de qualité de version. Notre processus de correction des erreurs (CoE) est l'un des principaux moteurs de ces éléments. Votre propre analyse post-incident doit orienter l'évolution de votre propre ORR. Un ORR consiste non seulement à suivre les bonnes pratiques, mais permet également d'éviter la répétition d'événements que vous avez déjà vus. Enfin, les exigences en matière de sécurité, de gouvernance et de conformité peuvent également être incluses dans un ORR. 

 Exécutez les ORR avant qu'une charge de travail ne soit généralement disponible, puis tout au long du cycle de développement du logiciel. L'exécution d'un ORR avant le lancement augmente votre capacité de gestion de la charge de travail en toute sécurité. Réexécutez régulièrement votre ORR sur la charge de travail afin de détecter toute dérive par rapport aux bonnes pratiques. Vous pouvez avoir des listes de contrôle des ORR pour les lancements de nouveaux services et des ORR pour les examens périodiques. Cela vous permet de vous tenir au courant des nouvelles bonnes pratiques et d'intégrer les leçons tirées de l'analyse après incident. Au fur et à mesure que votre utilisation du cloud évolue, vous pouvez intégrer les exigences des ORR dans votre architecture par défaut. 

 **Résultat souhaité :**  vous avez une liste de contrôle de l'ORR avec les bonnes pratiques pour votre organisation. Les ORR sont effectuées avant le lancement des charges de travail. Les ORR sont exécutés périodiquement tout au long du cycle de vie de la charge de travail. 

 **Anti-modèles courants :** 
+ Vous lancez une charge de travail sans savoir si vous pouvez l'utiliser. 
+ Les exigences en matière de gouvernance et de sécurité ne sont pas incluses dans la certification d'une charge de travail pour le lancement. 
+ Les charges de travail ne sont pas réévaluées périodiquement. 
+ Les charges de travail sont lancées sans procédures requises en place. 
+ Vous voyez la répétition de la même cause racine de défaillances dans plusieurs charges de travail. 

 **Avantages liés au respect de cette bonne pratique :** 
+  Vos charges de travail comprennent les bonnes pratiques en matière d'architecture, de processus et de gestion. 
+  Les enseignements tirés sont intégrés à votre processus d'ORR. 
+  Les procédures requises sont en place lors du lancement des charges de travail. 
+  Les ORR sont exécutés tout au long du cycle de vie logiciel de vos charges de travail. 

 **Niveau d'exposition au risque si cette bonne pratique n'est pas respectée :** élevé 

## Directives d'implémentation
<a name="implementation-guidance"></a>

 Un ORR est composé de deux éléments : un processus et une liste de contrôle. Votre processus d'ORR doit être adopté par votre organisation et soutenu par un responsable exécutif. Au minimum, les ORR doivent être effectués avant qu'une charge de travail ne soit généralement disponible. Exécutez l'ORR tout au long du cycle de développement du logiciel afin de l'actualiser avec les bonnes pratiques ou les nouvelles exigences. La liste de contrôle d'un ORR doit comprendre les éléments de configuration, les exigences en matière de sécurité et de gouvernance et les bonnes pratiques de votre organisation. Au fil du temps, vous pouvez utiliser des services tels qu' [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html), [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html)et [les barrières de protection AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/guardrails.html)afin d'intégrer les bonnes pratiques de l'ORR aux barrières de protection pour la détection automatique des bonnes pratiques. 

 **Exemple client** 

 Après plusieurs incidents de production, AnyCompany Retail a décidé de mettre en place un processus d'ORR. L'entreprise a élaboré une liste de contrôle composée de bonnes pratiques, d'exigences en matière de gouvernance et de conformité et d'enseignements tirés des pannes. De nouvelles charges de travail effectuent des ORR avant leur lancement. Chaque charge de travail effectue un ORR annuel avec un sous-ensemble de bonnes pratiques pour intégrer de nouvelles bonnes pratiques et des exigences qui sont ajoutées à la liste de contrôle de l'ORR. Au fil du temps, AnyCompany Retail a utilisé [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) afin de détecter certaines bonnes pratiques, en accélérant le processus d'ORR. 

 **Étapes d'implémentation** 

 Pour en savoir plus sur les ORR, lisez le livre blanc [Operational Readiness Reviews (ORR)](https://docs.aws.amazon.com/wellarchitected/latest/operational-readiness-reviews/wa-operational-readiness-reviews.html). Il fournit des informations détaillées sur l'historique du processus d'ORR, sur la façon d'établir votre propre pratique d'ORR et sur la façon d'élaborer votre liste de contrôle pour les ORR. Les étapes suivantes sont une version abrégée de ce document. Pour une compréhension approfondie des ORR et de la façon dont vous pouvez créer les vôtres, nous vous recommandons de lire ce livre blanc. 

1. Réunissez les parties prenantes clés, notamment les représentants de la sécurité, des opérations et du développement. 

1. Demandez à chaque partie prenante de fournir au moins une exigence. Pour la première itération, essayez de limiter le nombre d'éléments à trente ou moins. 
   +  [L'Annexe A, Example ORR questions,](https://docs.aws.amazon.com/wellarchitected/latest/operational-readiness-reviews/appendix-b-example-orr-questions.html) du livre blanc Operational Readiness Reviews (ORR) contient des exemples de questions que vous pouvez utiliser pour démarrer. 

1. Regroupez vos exigences dans une feuille de calcul. 
   + Vous pouvez utiliser [des approches personnalisées](https://docs.aws.amazon.com/wellarchitected/latest/userguide/lenses-custom.html) dans l' [AWS Well-Architected Tool](https://console.aws.amazon.com/wellarchiected/) afin de développer votre ORR et de le partager avec vos comptes et votre AWS Organization. 

1. Identifiez une charge de travail pour effectuer l'ORR. Il est recommandé d'utiliser une charge de travail avant le lancement ou une charge de travail interne. 

1. Parcourez la liste de contrôle de l'ORR et notez toutes vos découvertes. Les découvertes peuvent ne pas être acceptables si une mesure d'atténuation est en place. Pour toute découverte qui ne comporte pas de mesures d'atténuation, ajoutez ces dernières à votre liste de tâches en attente et implémentez-les avant le lancement. 

1. Continuez d'ajouter des bonnes pratiques et des exigences à votre liste de contrôle de l'ORR au fil du temps. 

 Les clients Support disposant d'un Enterprise Support peuvent demander [l'atelier Operational Readiness Review Workshop](https://aws.amazon.com/premiumsupport/technology-and-programs/proactive-services/) à leur gestionnaire de compte technique. Cet atelier est une session *de travail à rebours* permettant de développer votre propre liste de contrôle pour un ORR. 

 **Niveau d'effort du plan d'implémentation :** élevé L'adoption d'une pratique d'ORR dans votre organisation nécessite un parrainage de la haute direction et l'adhésion des parties prenantes. Créez et mettez à jour la liste de contrôle à l'aide des commentaires de l'ensemble de votre organisation. 

## Ressources
<a name="resources"></a>

 **Bonnes pratiques associées :** 
+ [OPS01-BP03 Évaluer les exigences de gouvernance](ops_priorities_governance_reqs.md) – Les exigences en matière de gouvernance conviennent naturellement à la liste de contrôle d'un ORR. 
+ [OPS01-BP04 Évaluer les exigences de conformité](ops_priorities_compliance_reqs.md) – Les exigences de conformité sont parfois incluses dans la liste de contrôle d'un ORR. Parfois, il s'agit d'un processus distinct. 
+ [OPS03-BP07 Fournir aux équipes les ressources appropriées](ops_org_culture_team_res_appro.md) – La capacité de l'équipe peut faire partie des exigences d'un ORR. 
+ [OPS06-BP01 Planifier les modifications infructueuses](ops_mit_deploy_risks_plan_for_unsucessful_changes.md) – Un plan de restauration ou de retour en arrière doit être établi avant le lancement de votre charge de travail. 
+ [OPS07-BP01 Garantir les compétences du personnel](ops_ready_to_support_personnel_capability.md) – Pour gérer une charge de travail, vous devez disposer du personnel requis. 
+ [SEC01-BP03 Identifier et valider les objectifs de contrôle](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_securely_operate_control_objectives.html) – Les objectifs de contrôle de sécurité constituent d'excellentes exigences d'ORR. 
+ [REL13-BP01 Définir les objectifs de reprise pour les temps d'arrêt et les pertes de données](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_planning_for_recovery_objective_defined_recovery.html) – Les plans de reprise après sinistre constituent une exigence appropriée dans le cadre d'un ORR. 
+ [COST02-BP01 Développer des stratégies en fonction des exigences de votre organisation](https://docs.aws.amazon.com/wellarchitected/latest/framework/cost_govern_usage_policies.html) – Il est recommandé d'inclure les politiques de gestion des coûts dans la liste de contrôle d'un ORR. 

 **Documents connexes :** 
+  [AWS Control Tower - Guardrails in AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/guardrails.html) 
+  [AWS Well-Architected Tool - Custom Lenses](https://docs.aws.amazon.com/wellarchitected/latest/userguide/lenses-custom.html) 
+  [Operational Readiness Review Template par Adrian Hornsby](https://medium.com/the-cloud-architect/operational-readiness-review-template-e23a4bfd8d79) 
+  [Livre blanc Operational Readiness Reviews (ORR)](https://docs.aws.amazon.com/wellarchitected/latest/operational-readiness-reviews/wa-operational-readiness-reviews.html) 

 **Vidéos connexes :** 
+  [AWS Supports You \$1 Building an Effective Operational Readiness Review (ORR)](https://www.youtube.com/watch?v=Keo6zWMQqS8) 

 **Exemples connexes :** 
+  [Sample Operational Readiness Review (ORR) Lens](https://github.com/aws-samples/custom-lens-wa-sample/tree/main/ORR-Lens) 

 **Services associés :** 
+  [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) 
+  [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html) 
+  [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html) 
+  [AWS Well-Architected Tool](https://docs.aws.amazon.com/wellarchitected/latest/userguide/intro.html) 

# OPS07-BP03 Utiliser des runbooks pour effectuer des procédures
<a name="ops_ready_to_support_use_runbooks"></a>

 A *runbook* est un processus documenté pour atteindre un résultat spécifique. Les runbooks consistent en une série d'étapes permettant à la personne qui les suit d'obtenir des résultats concrets. L'utilisation des runbooks dans les opérations remonte aux débuts de l'aviation. Dans les opérations de cloud, nous utilisons des runbooks pour réduire les risques et obtenir les résultats souhaités. Dans sa forme la plus simple, un runbook est une liste de contrôle pour exécuter une tâche. 

 Les runbooks représentent une part essentielle du fonctionnement de votre charge de travail. De l'intégration d'un nouveau membre de l'équipe au déploiement d'une version majeure, les runbooks sont des processus codifiés qui fournissent des résultats cohérents quelle que soit la personne qui les utilise. Les runbooks doivent être publiés dans un emplacement central et mis à jour à mesure que le processus évolue, car la mise à jour des runbooks est un composant essentiel du processus de gestion des changements. Ils doivent également inclure des conseils sur la gestion des erreurs, les outils, les autorisations, les exceptions et les remontées en cas de problème. 

 À mesure que votre entreprise évolue, commencez à automatiser les runbooks. Prenez tout d'abord les runbooks courts et fréquemment utilisés. Utilisez des langages de scripts pour automatiser les étapes ou les rendre plus faciles. À mesure que vous automatiserez les premiers runbooks, vous consacrerez du temps à l'automatisation de runbooks plus complexes. Au fil du temps, la plupart de vos runbooks seront automatisés d'une certaine façon. 

 **Résultat souhaité :** Votre équipe dispose de plusieurs guides détaillés pour exécuter des tâches de charge de travail. Les runbooks contiennent le résultat souhaité, les outils et autorisations nécessaires, ainsi que les instructions pour gérer les erreurs. Ils sont stockés dans un emplacement central et mis à jour fréquemment. 

 **Anti-modèles courants :** 
+  Utilisation de la mémoire pour exécuter chaque étape d'un processus. 
+  Déploiement manuel des changements sans liste de contrôle. 
+  Différents membres de l'équipe exécutant le même processus, mais avec des étapes ou résultats différents. 
+  Désynchronisation des runbooks avec les changements du système et l'automatisation. 

 **Avantages liés au respect de cette bonne pratique :** 
+  Réduction du taux d'erreur pour les tâches manuelles. 
+  Exécution cohérente des opérations. 
+  Exécution des tâches plus tôt par les nouveaux membres de l'équipe. 
+  Automatisation des runbooks pour diminuer la quantité de travail. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Moyen 

## Directives d'implémentation
<a name="implementation-guidance"></a>

 Les runbooks peuvent prendre plusieurs formes selon le niveau de maturité de votre entreprise. Au minimum, ils doivent consister en un document texte détaillé. Le résultat souhaité doit être clairement indiqué. Ils documentent explicitement les autorisations spéciales ou outils nécessaires. Ils fournissent des conseils sur la gestion des erreurs et les remontées en cas de problème. Recherchez le propriétaire du runbook et publiez-le dans un emplacement central. Une fois votre runbook documenté, validez-le en demandant à un membre de votre équipe de l'exécuter. À mesure que les procédures évoluent, mettez à jour vos runbooks conformément à votre processus de gestion des changements. 

 Vos runbooks texte doivent être automatisés à mesure que votre entreprise évolue. Grâce à des services tels que [les automatisations AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html), vous pouvez transformer un fichier texte en automatisations pouvant être exécutées sur votre charge de travail. Ces automatisations peuvent être exécutées en réponse aux événements, tout en réduisant la charge opérationnelle pour maintenir votre charge de travail. 

 **Exemple client** 

 AnyCompany Retail doit mettre à jour des schémas de bases de données lors de déploiements logiciels. L'équipe en charge des opérations de cloud en collaboration avec l'équipe responsable de l'administration des bases de données ont créé un runbook, pour déployer manuellement ces changements. Le runbook répertoriait chacune des étapes du processus sous forme de liste de contrôle. Il comprenait une section sur la gestion des erreurs en cas de problème. Les équipes ont publié le runbook sur leur wiki interne contenant leurs autres runbooks. L'équipe en charge des opérations de cloud envisage d'automatiser le runbook dans un prochain sprint. 

## Étapes d'implémentation
<a name="implementation-steps"></a>

 Si vous ne disposez pas d'un référentiel de documents, un référentiel de contrôle de version est un emplacement idéal pour commencer à créer votre bibliothèque de runbooks. Vous pouvez créer vos runbooks en utilisant le format Markdown. Voici un exemple de modèle de runbook que vous pouvez utiliser pour commencer à créer vos runbooks. 

```
# Runbook Title ## Runbook Info | Runbook ID | Description | Tools Used | Special Permissions | Runbook Author | Last Updated | Escalation POC | |-------|-------|-------|-------|-------|-------|-------| | RUN001 | What is this runbook for? What is the desired outcome? | Tools | Permissions | Your Name | 2022-09-21 | Escalation Name | ## Steps 1. Step one 2. Step two
```

1.  Si vous ne possédez pas de référentiel de documentation ou de wiki existant, créer un référentiel de contrôle de version dans votre système de contrôle de version. 

1.  Identifier un processus ne possédant pas de runbook. Le processus idéal doit être réalisé de manière semi-régulière, contenir peu d'étapes et avoir des échecs à faible impact. 

1.  Dans votre référentiel de documents, créer un brouillon au format Markdown en utilisant le modèle. Remplissez le champ `Runbook Title` et les champs obligatoires sous `Runbook Info`. 

1.  En commençant par la première, remplir la partie `Étapes` du runbook. 

1.  Donner le runbook à un membre de l'équipe. Demandez-lui d'utiliser le runbook pour valider les étapes. En cas d'élément manquant ou de besoin de clarification, mettez à jour le runbook. 

1.  Publier le runbook sur votre référentiel de documentation interne. Une fois publié, partagez l'information avec votre équipe et les autres parties prenantes. 

1.  Au fil du temps, vous créerez une bibliothèque de runbooks. À mesure que cette bibliothèque s'étoffe, commencez à travailler sur l'automatisation des runbooks. 

 **Niveau d'effort du plan d'implémentation :** faible. La norme minimum pour un runbook est un guide texte détaillé. L'automatisation des runbooks peut augmenter l'effort d'implémentation. 

## Ressources
<a name="resources"></a>

 **Bonnes pratiques associées :** 
+  [OPS02-BP02 Les processus et procédures ont des propriétaires identifiés](ops_ops_model_def_proc_owners.md) : les runbooks doivent avoir un propriétaire chargé d'en assurer la maintenance. 
+  [OPS07-BP04 Utiliser des playbooks pour analyser les problèmes](ops_ready_to_support_use_playbooks.md) : les runbooks et les playbooks sont identiques à une différence près : un runbook a un résultat souhaité. Dans de nombreux cas, les runbooks sont déclenchés suite à l'identification d'une cause profonde par un playbook. 
+  [OPS10-BP01 Utiliser un processus pour la gestion des événements, des incidents et des problèmes](ops_event_response_event_incident_problem_process.md) : les runbooks sont une part essentielle de la pratique de la gestion d'un bon déroulement, d'un incident et d'un problème 
+  [OPS10-BP02 Disposer d'un processus par alerte](ops_event_response_process_per_alert.md) : les runbooks et les playbooks doivent être utilisés pour répondre aux alertes. Avec le temps, ces réactions doivent être automatisées. 
+  [OPS11-BP04 Gérer les connaissances](ops_evolve_ops_knowledge_management.md) : la maintenance des runbooks représente une part essentielle de la gestion des connaissances. 

 **Documents connexes :** 
+ [Atteindre l'excellence opérationnelle grâce à l'automatisation de playbooks et de runbooks](https://aws.amazon.com/blogs/mt/achieving-operational-excellence-using-automated-playbook-and-runbook/) 
+ [AWS Systems Manager : travailler avec des runbooks](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html) 
+ [Playbook d'atténuation des risques pour les importantes migrations AWS – Tâche 4 : amélioration de vos runbooks de migration](https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-migration-playbook/task-four-migration-runbooks.html) 
+ [Utiliser les runbooks AWS Systems Manager Automation pour résoudre des tâches opérationnelles](https://aws.amazon.com/blogs/mt/use-aws-systems-manager-automation-runbooks-to-resolve-operational-tasks/) 

 **Vidéos connexes :** 
+  [AWS re:Invent 2019: DIY guide to runbooks, incident reports, and incident response (SEC318-R1)](https://www.youtube.com/watch?v=E1NaYN_fJUo) 
+  [Comment automatiser des opérations informatiques sur AWS \$1 Amazon Web Services](https://www.youtube.com/watch?v=GuWj_mlyTug) 
+  [Intégrations de scripts dans AWS Systems Manager](https://www.youtube.com/watch?v=Seh1RbnF-uE) 

 **Exemples connexes :** 
+  [AWS Systems Manager : procédure étape par étape pour l'automatisation](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-walk.html) 
+  [AWS Systems Manager : restaurer un volume racine à partir du dernier runbook d'instantanés](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-document-sample-restore.html)
+  [Créer un runbook de réponse d'incident AWS à l'aide des blocs-notes Jupyter et CloudTrail Lake](https://catalog.us-east-1.prod.workshops.aws/workshops/a5801f0c-7bd6-4282-91ae-4dfeb926a035/en-US) 
+  [Gitlab – Runbooks](https://gitlab.com/gitlab-com/runbooks) 
+  [Rubix – Une bibliothèque Python pour créer des runbooks dans les blocs-notes Jupyter](https://github.com/Nurtch/rubix) 
+  [Utilisation d'un créateur de documents pour créer un runbook personnalisé](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-walk-document-builder.html) 
+  [Ateliers Well-Architected : automatisation des opérations avec les playbooks et les runbooks](https://wellarchitectedlabs.com/operational-excellence/200_labs/200_automating_operations_with_playbooks_and_runbooks/) 

 **Services associés :** 
+  [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) 

# OPS07-BP04 Utiliser des playbooks pour analyser les problèmes
<a name="ops_ready_to_support_use_playbooks"></a>

 Les playbooks sont des guides étape par étape utilisés pour analyser un incident. Lorsque des incidents se produisent, les playbooks sont utilisés pour analyser, évaluer l'impact et identifier une cause racine. Les playbooks sont utilisés dans le cadre de différents scénarios allant des échecs de déploiement aux incidents de sécurité. Dans la plupart des cas, les playbooks identifient la cause racine qui est atténuée par l'utilisation d'un runbook. Les playbooks sont une composante essentielle des plans de réponse de votre organisation en cas d'incident. 

 Un playbook efficace comporte plusieurs fonctionnalités clés. Il guide l'utilisateur, étape par étape, dans le processus de découverte. Si vous optez pour un point de vue extérieur, quelles étapes devez-vous suivre pour diagnostiquer un incident ? Définissez clairement dans le playbook si des outils spéciaux ou des autorisations élevées sont nécessaires. Il est essentiel d'élaborer un plan de communication pour informer les parties prenantes du statut de l'analyse. Lorsqu'il est impossible de déterminer la cause racine, le playbook doit comporter un plan de remontée des informations vers la hiérarchie. Si la cause racine est identifiée, le playbook doit faire référence à un runbook décrivant une solution pour la résoudre. Les playbooks doivent être stockés dans un emplacement central et mis à jour régulièrement. Si des playbooks sont utilisés pour des alertes précises, donnez aux membres de votre équipe des indications relatives au playbook dans le cadre de l'alerte. 

 Au fur et à mesure que votre organisation évolue, automatisez vos playbooks. Commencez par des playbooks qui couvrent les incidents à faible risque. Utilisez des scripts pour automatiser les étapes de découverte. Veillez à créer des runbooks complémentaires destinés à atténuer les causes racine courantes. 

 **Résultat souhaité :** votre organisation dispose de playbooks pour les incidents courants. Les playbooks sont stockés dans un emplacement central et mis à la disposition des membres de votre équipe. Les playbooks sont souvent mis à jour. Pour toute cause racine connue, des runbooks complémentaires sont créés. 

 **Anti-modèles courants :** 
+  Il n'existe pas de façon standard d'analyser un incident. 
+  Les membres de l'équipe comptent sur la mémoire musculaire ou les connaissances institutionnelles pour résoudre un échec de déploiement. 
+  Les nouveaux membres de l'équipe apprennent à analyser les problèmes par un procédé de tâtonnement. 
+  Les bonnes pratiques d'analyse des problèmes ne sont pas partagées entre les équipes. 

 **Avantages liés au respect de cette bonne pratique :** 
+  Les playbooks dynamisent les efforts nécessaires pour atténuer les incidents. 
+  Différents membres de l'équipe peuvent utiliser le même playbook pour identifier une cause racine de façon cohérente. 
+  Les causes racine connues peuvent être associées à des runbooks développés spécialement pour leur résolution, ce qui permet d'accélérer le délai de récupération. 
+  Les playbooks permettent aux membres de l'équipe de commencer à apporter leur contribution plus tôt. 
+  Les équipes peuvent adapter leurs processus à l'aide de playbooks reproductibles. 

 **Niveau d'exposition au risque si cette bonne pratique n'est pas respectée :** Moyen 

## Directives d'implémentation
<a name="implementation-guidance"></a>

 La façon dont vous créez et utilisez les playbooks dépend de la maturité de votre organisation. Si vous débutez dans le cloud, créez des playbooks sous forme de texte dans un référentiel de documents centralisé. Au fur et à mesure que votre organisation évolue, les playbooks peuvent devenir semi-automatisés avec des langages de script comme Python. Ces scripts peuvent être exécutés dans un bloc-notes Jupyter afin d'accélérer la découverte. Les organisations avancées ont des playbooks entièrement automatisés pour les problèmes courants qui sont corrigés automatiquement avec des runbooks. 

 Pour commencer à créer vos playbooks, répertoriez les incidents qui affectent couramment votre charge de travail. Pour commencer, choisissez des playbooks pour les incidents à faible risque dont la cause racine a été réduite à quelques problèmes. Une fois que vous disposez de playbooks pour des scénarios plus simples, passez aux scénarios à risque élevé ou à ceux dont la cause racine est peu connue. 

 Vos playbooks sous forme de texte doivent être automatisés à mesure que votre entreprise évolue. Grâce à des services tels que [AWS Systems Manager Automation,](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html)le texte brut peut être transformé en automatisations. Ces automatisations peuvent être exécutées en fonction de votre charge de travail pour accélérer les analyses. Ces automatisations peuvent être activées en réponse à des événements, ce qui réduit le temps nécessaire pour découvrir et résoudre les incidents. 

 Les clients peuvent utiliser [AWS Systems Manager Incident Manager](https://docs.aws.amazon.com/incident-manager/latest/userguide/what-is-incident-manager.html) afin de répondre aux incidents. Ce service offre une interface unique pour trier les incidents, informer les parties prenantes pendant la découverte et l'atténuation, et collaborer tout au long de l'incident. Il utilise AWS Systems Manager Automation afin d'accélérer la détection et la récupération. 

 **Exemple client** 

 AnyCompany Retail a dû faire face à un incident de production. L'ingénieur d'astreinte a utilisé un playbook pour analyser le problème. À mesure qu'il effectuait les différentes étapes, il a informé les parties prenantes identifiées dans le playbook de l'évolution de la situation. L'ingénieur a identifié que la cause racine était une condition de concurrence dans un service back-end. À l'aide d'un runbook, il a relancé le service et a permis à AnyCompany Retail d'être à nouveau en ligne. 

## Étapes d'implémentation
<a name="implementation-steps"></a>

 Si vous n'avez pas de référentiel de documents existant, nous vous suggérons de créer un référentiel de contrôle de version pour votre bibliothèque de playbooks. Vous pouvez créer vos playbooks en utilisant Markdown, qui est compatible avec la plupart des systèmes d'automatisation de playbook. Si vous démarrez de zéro, utilisez l'exemple de modèle de playbook suivant. 

```
# Titre du playbook ## Informations sur le playbook | ID du playbook | Description | Outils utilisés | Autorisations spéciales | Auteur du playbook | Dernière mise à jour | POC de remontée hiérarchique | Parties prenantes | Plan de communication | |-------|-------|-------|-------|-------|-------|-------|-------|-------| | RUN001 | À quoi sert ce playbook ? Pour quel type d'incident est-il utilisé ? | Outils | Autorisations | Votre nom | 2022-09-21 | Contact pour la remontée des informations vers la hiérarchie | Nom de la partie prenante | Comment les dernières informations seront-elles communiquées au cours de l'analyse ? | ## Étapes 1. Première étape 2. Deuxième étape
```

1.  Si vous ne possédez pas de référentiel de documents ni de wiki existant, créez un référentiel de contrôle de version pour vos playbooks dans votre système de contrôle de version. 

1.  Identifiez un problème courant qui doit être analysé. Il doit s'agir d'un scénario où la cause racine se limite à quelques problèmes et où la résolution présente peu de risques. 

1.  À l'aide du modèle Markdown, remplissez la section `Nom du playbook` et les champs situés sous `Informations sur le playbook`. 

1.  Remplissez les étapes de résolution du problème. Soyez aussi clair que possible sur les actions à effectuer ou les domaines à analyser. 

1.  Remettez le playbook à un membre de l'équipe et demandez-lui de le passer en revue afin de le valider. S'il manque quelque chose ou si un point n'est pas clair, mettez à jour le playbook. 

1.  Publiez le playbook dans votre référentiel de documents et informez votre équipe et les parties prenantes. 

1.  Cette bibliothèque de playbooks s'enrichira à mesure que vous ajouterez d'autres playbooks. Une fois que vous avez plusieurs playbooks, commencez à les automatiser en utilisant des outils comme AWS Systems Manager Automation afin de garantir la synchronisation entre l'automatisation et les playbooks. 

 **Niveau d'effort du plan d'implémentation :** faible. Vos playbooks doivent être des documents texte stockés dans un emplacement central. Les organisations plus avancées évolueront vers l'automatisation des playbooks. 

## Ressources
<a name="resources"></a>

 **Bonnes pratiques associées :** 
+  [OPS02-BP02 Les processus et procédures ont des propriétaires identifiés](ops_ops_model_def_proc_owners.md) : un propriétaire doit être désigné pour les playbooks et être chargé d'en assurer la gestion. 
+  [OPS07-BP03 Utiliser des runbooks pour effectuer des procédures](ops_ready_to_support_use_runbooks.md) : les runbooks et les playbooks sont similaires, mais se distinguent par le fait qu'un résultat souhaité est défini pour un runbook. Dans de nombreux cas, les runbooks sont utilisés après qu'un playbook a identifié une cause racine. 
+  [OPS10-BP01 Utiliser un processus pour la gestion des événements, des incidents et des problèmes](ops_event_response_event_incident_problem_process.md) : les runbooks constituent un élément important d'une bonne pratique de gestion des événements, des incidents et des problèmes. 
+  [OPS10-BP02 Disposer d'un processus par alerte](ops_event_response_process_per_alert.md) : les runbooks et les playbooks doivent être utilisés pour répondre aux alertes. Avec le temps, ces réactions doivent être automatisées. 
+  [OPS11-BP04 Gérer les connaissances](ops_evolve_ops_knowledge_management.md) : la gestion des playbooks est un élément clé de la gestion des connaissances. 

 **Documents connexes :** 
+ [ Achieving Operational Excellence using automated playbook and runbook ](https://aws.amazon.com/blogs/mt/achieving-operational-excellence-using-automated-playbook-and-runbook/)
+  [AWS Systems Manager – Utilisation de runbooks](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html) 
+ [ Use AWS Systems Manager Automation runbooks to resolve operational tasks ](https://aws.amazon.com/blogs/mt/use-aws-systems-manager-automation-runbooks-to-resolve-operational-tasks/)

 **Vidéos connexes :** 
+ [AWS re:Invent 2019: DIY guide to runbooks, incident reports, and incident response (SEC318-R1) ](https://www.youtube.com/watch?v=E1NaYN_fJUo)
+ [AWS Systems Manager Incident Manager - AWS Virtual Workshops ](https://www.youtube.com/watch?v=KNOc0DxuBSY)
+ [ Integrate Scripts into AWS Systems Manager](https://www.youtube.com/watch?v=Seh1RbnF-uE)

 **Exemples connexes :** 
+ [AWS Customer Playbook Framework ](https://github.com/aws-samples/aws-customer-playbook-framework)
+ [AWS Systems Manager : Procédures d'automatisation ](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-walk.html)
+ [ Building an AWS incident response runbook using Jupyter notebooks and CloudTrail Lake ](https://catalog.workshops.aws/workshops/a5801f0c-7bd6-4282-91ae-4dfeb926a035/en-US)
+ [ Rubix – Une bibliothèque Python pour créer des runbooks dans les bloc-notes Jupyter ](https://github.com/Nurtch/rubix)
+ [ Utilisation de Document Builder pour créer un runbook personnalisé ](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-walk-document-builder.html)
+ [ Ateliers Well-Architected : automatisation des opérations avec les playbooks et les runbooks ](https://wellarchitectedlabs.com/operational-excellence/200_labs/200_automating_operations_with_playbooks_and_runbooks/)
+ [ Ateliers Well-Architected : playbook de réponse aux incidents avec Jupyter ](https://www.wellarchitectedlabs.com/security/300_labs/300_incident_response_playbook_with_jupyter-aws_iam/)

 **Services associés :** 
+ [AWS Systems Manager Automation ](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html)
+ [AWS Systems Manager Incident Manager](https://docs.aws.amazon.com/incident-manager/latest/userguide/what-is-incident-manager.html)

# OPS07-BP05 Prendre des décisions avisées pour déployer des systèmes et des modifications
<a name="ops_ready_to_support_informed_deploy_decisions"></a>

 Évaluez les compétences de l'équipe pour prendre en charge la charge de travail et la conformité de cette dernière à la gouvernance. Évaluez-les par rapport aux avantages du déploiement pour déterminer s'il convient de faire passer un système ou une modification en production. Comprenez les avantages et les risques pour prendre des décisions avisées. 

 Un pré-mortem est un exercice où une équipe simule un échec pour développer des stratégies d'atténuation. Utilisez des pré-mortems pour anticiper les échecs et créer des procédures le cas échéant. Lorsque vous apportez des modifications aux listes de contrôle que vous utilisez pour évaluer votre charge de travail, planifiez les opérations que vous allez exécuter pour les systèmes en service qui ne sont plus conformes. 

 **Anti-modèles courants :** 
+  Décider de déployer une charge de travail sans comprendre les risques de sécurité qu'elle comporte. 
+  Décider de déployer une charge de travail sans savoir si elle est conforme à votre gouvernance et à vos normes. 
+  Décider de déployer une charge de travail sans savoir si votre équipe peut la prendre en charge. 
+  Décider de déployer une charge de travail sans comprendre les avantages qu’elles apporte à l'organisation. 

 **Avantages liés au respect de cette bonne pratique :** Le fait de disposer de membres d'équipe compétents vous permet de prendre efficacement en charge votre charge de travail. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Faible 

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Prendre des décisions avisées pour déployer des charges de travail et des modifications : évaluez les capacités de l'équipe à prendre en charge la charge de travail et à assurer sa conformité avec la gouvernance. Évaluez-les par rapport aux avantages du déploiement pour déterminer s'il convient de faire passer un système ou une modification en production. Comprenez les avantages et les risques et prenez des décisions avisées. 