

# Gestion des modifications
<a name="a-change-management"></a>

**Topics**
+ [REL 6  Comment surveiller les ressources de charges de travail ?](w2aac19b9b9b5.md)
+ [REL 7  Comment concevoir votre charge de travail pour qu'elle s'adapte aux évolutions de la demande ?](w2aac19b9b9b7.md)
+ [REL 8  Comment implémenter les modifications ?](w2aac19b9b9b9.md)

# REL 6  Comment surveiller les ressources de charges de travail ?
<a name="w2aac19b9b9b5"></a>

Les journaux et les métriques sont de puissants outils pour obtenir informations sur l'état de votre charge de travail. Vous pouvez configurer votre charge de travail de sorte à surveiller les journaux et les métriques et envoyer des notifications lorsque les seuils sont franchis ou que des événements significatifs se produisent. La surveillance permet à votre charge de travail de reconnaître quand des seuils de faible performance sont franchis ou quand des défaillances se produisent, en vue de sa reprise automatique.

**Topics**
+ [REL06-BP01 Surveiller tous les composants de la charge de travail (génération)](rel_monitor_aws_resources_monitor_resources.md)
+ [REL06-BP02 Définir et calculer des métriques (agrégation)](rel_monitor_aws_resources_notification_aggregation.md)
+ [REL06-BP03 Envoyer des notifications (traitement et alarmes en temps réel)](rel_monitor_aws_resources_notification_monitor.md)
+ [REL06-BP04 Automatiser les réponses (traitement et alarmes en temps réel)](rel_monitor_aws_resources_automate_response_monitor.md)
+ [REL06-BP05 Analytique](rel_monitor_aws_resources_storage_analytics.md)
+ [REL06-BP06 Procéder à des examens réguliers](rel_monitor_aws_resources_review_monitoring.md)
+ [REL06-BP07 Surveiller la traçabilité complète des demandes via votre système](rel_monitor_aws_resources_end_to_end.md)

# REL06-BP01 Surveiller tous les composants de la charge de travail (génération)
<a name="rel_monitor_aws_resources_monitor_resources"></a>

 Surveillez les composants de la charge de travail avec Amazon CloudWatch ou des outils tiers. Surveillez les services AWS avec le tableau de bord AWS Health. 

 Tous les composants de votre charge de travail doivent être surveillés, y compris le côté utilisateur, la logique métier et les niveaux de stockage. Au besoin, définissez des métriques clés, décrivez leur procédure d'extraction des journaux, puis spécifiez des seuils de déclenchement pour les événements d'alarme correspondants Assurez-vous que les métriques sont pertinentes pour les indicateurs clés de performance (KPI) de votre charge de travail, et utilisez des métriques et des journaux pour identifier les signes avant-coureurs de la dégradation du service. Par exemple, une métrique liée aux résultats commerciaux, telle que le nombre de commandes traitées avec succès par minute, peut indiquer des problèmes de charge de travail plus rapidement qu'une métrique technique, telle que l'utilisation du processeur. Utilisez le tableau de bord AWS Health pour obtenir une vue personnalisée des performances et de la disponibilité des services AWS sous-jacents à vos ressources AWS. 

 La surveillance dans le cloud offre de nouvelles opportunités. La plupart des fournisseurs de cloud ont développé des hooks personnalisables et peuvent fournir des informations pour vous aider à surveiller plusieurs couches de votre charge de travail. Des services AWS comme Amazon CloudWatch appliquent des algorithmes statistiques et de machine learning pour analyser en continu les métriques des systèmes et des applications, déterminer les points de référence normaux et détecter les anomalies avec une intervention minimale de l'utilisateur. Les algorithmes de détection d'anomalies tiennent compte de la saisonnalité et des changements de tendance des métriques. 

 AWS met à disposition une multitude d'informations de surveillance et de journalisation qui peuvent être utilisées pour définir des métriques spécifiques à la charge de travail et des processus de changement de la demande, et pour adopter des techniques de machine learning, quelle que soit l'expertise en ML. 

 En outre, surveillez l'ensemble de vos points de terminaison externes afin de vous assurer qu'ils sont indépendants de votre implémentation de base. Cette surveillance active peut être effectuée avec des transactions synthétiques (parfois appelées *tests canary utilisateur*, mais à ne pas confondre avec les déploiements canary), qui exécutent périodiquement plusieurs tâches communes correspondant aux actions effectuées par les clients de la charge de travail. Maintenez ces tâches de courte durée et veillez à ne pas surcharger votre charge de travail pendant les tests. Amazon CloudWatch Synthetics vous permet de [créer des tests canary synthétiques](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) pour surveiller vos points de terminaison et vos API. Vous pouvez également combiner les nœuds de clients synthétiques Canari avec la console AWS X-Ray pour identifier les scripts Canari synthétiques qui rencontrent des erreurs, des pannes ou des taux de limitation au cours de la période sélectionnée. 

 **Résultat souhaité :** 

 Collectez et utilisez des métriques critiques de tous les composants de la charge de travail pour garantir la fiabilité de la charge de travail et une expérience utilisateur optimale. Détecter qu'une charge de travail n'atteint pas les résultats vous permet de déclarer rapidement un sinistre et de vous remettre d'un incident. 

 **Anti-modèles courants :** 
+  Surveillance limitée aux interfaces externes de votre charge de travail. 
+  Ne pas générer de métriques spécifiques à la charge de travail et s'appuyer uniquement sur les métriques qui vous sont fournies par les services AWS utilisés par votre charge de travail. 
+  Utiliser uniquement des métriques techniques dans votre charge de travail et ne surveiller aucune métrique liée aux KPI non techniques auxquels la charge de travail contribue. 
+  S'appuyer sur le trafic de production et de simples vérifications de l'état pour surveiller et évaluer l'état de la charge de travail. 

 **Avantages liés au respect de cette bonne pratique :** La surveillance à tous les niveaux de votre charge de travail vous permet d'anticiper et de résoudre plus rapidement les problèmes dans les composants qui constituent la 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>

1.  **Activer la journalisation si disponible.** Les données de surveillance doivent être obtenues à partir de tous les composants des charges de travail. Activez la journalisation supplémentaire, telle que les journaux d'accès S3, et autorisez votre charge de travail à consigner des données qui lui sont spécifiques. Collectez des métriques pour les moyennes d'UC, d'E/S réseau et d'E/S disque à partir de services comme Amazon ECS, Amazon EKS, Amazon EC2, Elastic Load Balancing, AWS Auto Scaling et Amazon EMR. Consulter [Services AWS publiant des métriques CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) pour obtenir une liste des services AWS qui publient des métriques CloudWatch. 

1.  **Passez en revue toutes les métriques par défaut et explorez toutes les lacunes de collecte de données.** Chaque service génère des métriques par défaut. La collecte des métriques par défaut vous permet de mieux comprendre les dépendances entre les composants de charge de travail et sur la manière dont la fiabilité et les performances des composants affectent la charge de travail. Vous pouvez également créer et [publier vos propres métriques](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) vers CloudWatch à l'aide d'AWS CLI ou d'une API. Évaluez 

1.  **toutes les métriques pour décider celles pour lesquelles envoyer des alertes pour chaque service AWS de votre charge de travail.** Vous pouvez choisir de sélectionner un sous-ensemble de métriques qui ont un impact majeur sur la fiabilité de la charge de travail. Se concentrer sur les métriques critiques et le seuil vous permet d'affiner le nombre [d'information](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) et peut aider à minimiser les faux positifs. 

1.  **Définissez des alertes et le processus de récupération de votre charge de travail après le déclenchement de l'alerte.** La définition d'alertes vous permet de notifier, de faire remonter et de suivre rapidement les étapes nécessaires pour vous remettre d'un incident et atteindre votre objectif de temps de récupération (RTO) prescrit. Vous pouvez utiliser [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-actions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-actions) pour appeler des flux de travail automatisés et lancer des procédures de récupération en fonction de seuils définis. 

1.  **Explorez l'utilisation de transactions synthétiques pour collecter des données pertinentes sur l'état des charges de travail.** La surveillance synthétique suit les mêmes routes et effectue les mêmes actions qu'un client, ce qui vous permet de vérifier en permanence l'expérience client même lorsque vous n'avez aucun trafic client sur vos charges de travail. En utilisant [les transactions synthétiques](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html), vous pouvez découvrir les problèmes avant vos clients. 

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

 **Bonnes pratiques associées :** 
+ [REL11-BP03 Automatiser la réparation sur toutes les couches](rel_withstand_component_failures_auto_healing_system.md)

 **Documents connexes :** 
+  [Premiers pas avec le tableau de bord AWS Health : état de votre compte](https://docs.aws.amazon.com/health/latest/ug/getting-started-health-dashboard.html) 
+  [Services AWS publiant des métriques CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) 
+  [Journaux d'accès pour votre Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-access-logs.html) 
+  [Journaux d'accès pour votre Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html) 
+  [Accès à Amazon CloudWatch Logs pour AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html) 
+  [Journalisation de l'accès au serveur Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html) 
+  [Activer les journaux d'accès pour votre Classic Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html) 
+  [Exportation de données de journal vers Amazon S3](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/S3Export.html) 
+  [Installer l'agent CloudWatch sur une instance Amazon EC2](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html) 
+  [Publication des métriques personnalisées](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) 
+  [Fonctionnement des tableaux de bord Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 
+  [Utilisation des métriques Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 
+  [Utilisation de scripts Canary (Amazon CloudWatch Synthetics)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [Que sont les Amazon CloudWatch Logs ?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 

   **Guides de l'utilisateur :** 
+  [Création d'un journal d'activité](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html) 
+  [Surveillance des métriques de mémoire et de disque pour les instances Linux Amazon Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html) 
+  [Utiliser CloudWatch Logs avec des instances de conteneur](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_cloudwatch_logs.html) 
+  [Journaux de flux VPC](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/flow-logs.html) 
+  [Qu'est-ce qu'Amazon DevOps Guru ?](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html) 
+  [Qu'est-ce que AWS X-Ray ?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 

 **Blogs connexes :** 
+  [Débogage avec Amazon CloudWatch Synthetics et AWS X-Ray](https://aws.amazon.com/blogs/devops/debugging-with-amazon-cloudwatch-synthetics-and-aws-x-ray/) 

 **Exemples et ateliers connexes :** 
+  [Ateliers AWS Well-Architected : Excellence opérationnelle - Surveillance des dépendances](https://wellarchitectedlabs.com/operational-excellence/100_labs/100_dependency_monitoring/) 
+  [L'Amazon 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/) 
+  [Atelier sur l'observabilité](https://catalog.workshops.aws/observability/en-US) 

# REL06-BP02 Définir et calculer des métriques (agrégation)
<a name="rel_monitor_aws_resources_notification_aggregation"></a>

 Stockez les données des journaux et appliquez des filtres si nécessaire pour calculer les métriques, en particulier le décompte d'un événement de journal spécifique ou la latence calculée à partir des horodatages des événements de journaux. 

 Amazon CloudWatch et Amazon S3 servent de couches principales pour l'agrégation et le stockage. Pour certains services, comme AWS Auto Scaling et Elastic Load Balancing, les métriques par défaut sont fournies par défaut pour la charge du processeur ou la latence moyenne des demandes au sein d'un cluster ou d'une instance. Pour les services de streaming, comme les journaux de flux VPC et AWS CloudTrail, les données d'événement sont transmises à CloudWatch Logs et vous devez définir et appliquer des filtres de métrique pour extraire des métriques à partir des données d'événement. Cela vous donne des données de séries chronologiques, qui peuvent servir d'entrées aux alarmes CloudWatch que vous définissez pour déclencher les alertes. 

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

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Définir et calculer des métriques (agrégation). Stockez les données des journaux et appliquez des filtres si nécessaire pour calculer les métriques, en particulier le décompte d'un événement de journal spécifique ou la latence calculée à partir des horodatages des événements de journaux 
  +  Les filtres de métrique définissent les termes et les modèles à rechercher dans les données de journal lorsqu'elles sont envoyées à CloudWatch Logs. CloudWatch Logs utilise ces filtres de métriques pour transformer les données de journal en métriques numériques CloudWatch que vous pouvez représenter graphiquement ou au niveau desquelles vous pouvez définir une alarme. 
    +  [Recherche et filtrage des données de journaux](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html) 
  +  Utiliser un agent tiers de confiance pour agréger les journaux 
    +  Suivez les instructions de l'agent tiers. La plupart des produits tiers s'intègrent à CloudWatch et Amazon S3. 
  +  Certains services AWS peuvent publier des journaux directement dans Amazon S3. Ainsi, si votre principale exigence pour les journaux est le stockage dans Amazon S3, vous pouvez facilement faire en sorte que le service produisant les journaux les envoie directement à Amazon S3 sans configurer d'infrastructure supplémentaire. 
    +  [Envoi des journaux directement à Amazon S3](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Sending-Logs-Directly-To-S3.html) 

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

 **Documents connexes :** 
+  [Exemples de requêtes Amazon CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html) 
+  [Débogage avec Amazon CloudWatch Synthetics et AWS X-Ray](https://aws.amazon.com/blogs/devops/debugging-with-amazon-cloudwatch-synthetics-and-aws-x-ray/) 
+  [Un atelier sur l'observabilité](https://observability.workshop.aws/) 
+  [Recherche et filtrage des données de journaux](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html) 
+  [Envoi des journaux directement à Amazon S3](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Sending-Logs-Directly-To-S3.html) 
+  [L'Amazon 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/) 

# REL06-BP03 Envoyer des notifications (traitement et alarmes en temps réel)
<a name="rel_monitor_aws_resources_notification_monitor"></a>

 Les organisations qui désirent être informées des événements significatifs reçoivent des notifications lorsque ceux-ci se produisent. 

 Des alertes également être envoyées à Amazon Simple Notification Service (Amazon SNS), puis être transmises à un certain nombre d'abonnés. Par exemple, Amazon SNS peut transmettre des alertes à un alias d'e-mail afin que les techniciens puissent répondre. 

 **Anti-modèles courants :** 
+  Configuration d'alarmes à un seuil trop bas, ce qui entraîne l'envoi d'un trop grand nombre de notifications. 
+  Non-archivage d'alarmes pour une exploration future. 

 **Avantages liés au respect de cette bonne pratique :** Les notifications (même pour les événements qui peuvent être traités et résolus automatiquement) vous permettent d'enregistrer les événements et de les traiter d'une manière différente à l'avenir. 

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

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Effectuer le traitement et l'envoi d'alarme en temps réel. Les organisations qui désirent être informées des événements significatifs reçoivent des notifications lorsque ceux-ci se produisent. 
  +  Les tableaux de bord Amazon CloudWatch sont des pages d'accueil personnalisables de la console CloudWatch que vous pouvez utiliser pour surveiller vos ressources dans une seule fenêtre, y compris les ressources réparties sur différentes régions. 
    +  [Fonctionnement des tableaux de bord Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 
  +  Créer une alarme lorsque la métrique dépasse une limite. 
    +  [Utilisation des alarmes Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) 

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

 **Documents connexes :** 
+  [Un atelier sur l'observabilité](https://observability.workshop.aws/) 
+  [L'Amazon 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/) 
+  [Utilisation des alarmes Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) 
+  [Fonctionnement des tableaux de bord Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 
+  [Utilisation des métriques Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 

# REL06-BP04 Automatiser les réponses (traitement et alarmes en temps réel)
<a name="rel_monitor_aws_resources_automate_response_monitor"></a>

 utilisez l'automatisation pour agir en cas de détection d'événement, par exemple, pour remplacer les composants défectueux. 

 Les alertes peuvent déclencher des événements AWS Auto Scaling, de sorte que les clusters réagissent aux évolutions de la demande. Les alertes peuvent être envoyées vers Amazon Simple Queue Service (Amazon SQS), qui peut servir de point d'intégration pour les systèmes de tickets tiers. AWS Lambda peut également s'abonner aux alertes et faire profiter les utilisateurs d'un modèle sans serveur asynchrone qui réagit au changement de façon dynamique. AWS Config surveille et enregistre en permanence vos configurations de ressources AWS. Il peut déclencher [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) pour résoudre les problèmes. 

 Amazon DevOps Guru peut surveiller automatiquement les ressources d'applications pour détecter les comportements anormaux et fournir des recommandations ciblées afin d'accélérer l'identification des problèmes et de réduire les temps de remédiation. 

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

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Utilisez Amazon DevOps Guru pour effectuer des actions automatisées. Amazon DevOps Guru peut surveiller automatiquement les ressources d'applications pour détecter les comportements anormaux et fournir des recommandations ciblées afin d'accélérer l'identification des problèmes et de réduire les temps de remédiation. 
  +  [Qu'est-ce qu'Amazon DevOps Guru ?](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html) 
+  Utilisez AWS Systems Manager pour effectuer des actions automatisées. AWS Config surveille et enregistre en permanence vos configurations de ressources AWS. Il peut déclencher AWS Systems Manager Automation pour résoudre les problèmes. 
  +  [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) 
    +  Créez et utilisez des documents Systems Manager Automation. Ces documents définissent les actions exécutées par Systems Manager sur vos instances gérées et d'autres ressources AWS lorsqu'une action d'automatisation s'exécute. 
    +  [Utilisation des documents d'automatisation (playbooks)](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html) 
+  Amazon CloudWatch envoie les événements de changement d'état de l'alarme à Amazon EventBridge. Créer des règles EventBridge pour automatiser les réponses 
  +  [Création d'une règle EventBridge qui se déclenche en cas d'événement provenant d'une ressource AWS](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) 
+  Créer et exécuter un plan pour automatiser les réponses 
  +  Faire l'inventaire de toutes vos procédures de réponse aux alertes Vous devez planifier vos réponses d'alerte avant de classer les tâches. 
  +  Effectuez un inventaire de toutes les tâches avec les actions spécifiques devant être effectuées La plupart de ces actions sont documentées dans les runbooks. Vous devez également disposer de playbooks pour les alertes d'événements inattendus. 
  +  Examinez les runbooks et les playbooks à la recherche de toutes les actions pouvant être automatisées. En règle générale, toute action qui peut être définie a de grandes chances de pouvoir être automatisée. 
  +  Classez d'abord les activités sources d'erreurs ou chronophages. La suppression des sources d'erreurs et la réduction du temps de résolution sont plus avantageuses. 
  +  Établissez un plan pour effectuer l'automatisation. Disposez d'un plan actif pour automatiser les processus et mettre à jour l'automatisation. 
  +  Examinez les exigences manuelles liées aux possibilités d'automatisation. Remettez en question votre processus manuel et recherchez des possibilités d'automatisation. 

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

 **Documents connexes :** 
+  [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) 
+  [Création d'une règle EventBridge qui se déclenche en cas d'événement provenant d'une ressource AWS](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) 
+  [Un atelier sur l'observabilité](https://observability.workshop.aws/) 
+  [L'Amazon 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/) 
+  [Qu'est-ce qu'Amazon DevOps Guru ?](https://docs.aws.amazon.com/devops-guru/latest/userguide/welcome.html) 
+  [Utilisation des documents d'automatisation (playbooks)](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html) 

# REL06-BP05 Analytique
<a name="rel_monitor_aws_resources_storage_analytics"></a>

 collectez les fichiers journaux et les historiques de métriques, puis analysez-les pour obtenir des informations plus générales sur les tendances et la charge de travail. 

 Amazon CloudWatch Logs Insights prend en charge un [langage de requête simple et puissant](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html) que vous pouvez utiliser pour analyser les données des journaux. Amazon CloudWatch Logs prend également en charge les abonnements qui permettent aux données de circuler en toute transparence vers Amazon S3, où vous pouvez utiliser Amazon Athena pour interroger les données. Il prend également en charge les requêtes dans une grande variétés de formats. Consulter [Formats de données et SerDes pris en charge](https://docs.aws.amazon.com/athena/latest/ug/supported-format.html) dans le guide de l'utilisateur Amazon Athena pour plus d'informations. Pour analyser des ensembles de fichiers journaux volumineux, vous pouvez exécuter un cluster Amazon EMR pour exécuter des analyses à l'échelle du pétaoctet. 

 Il existe divers outils fournis par les partenaires AWS et les tiers qui permettent l'agrégation, le traitement, le stockage et l'analyse. Parmi ces outils figurent New Relic, Splunk, Loggly, Logstash, CloudHealth et Nagios. Cependant, la génération en dehors du système et des journaux d'applications est propre à chaque fournisseur de cloud, et généralement, spécifique à chaque service. 

 Un partie souvent négligée de la surveillance des processus concerne la gestion des données. Vous devez déterminer les exigences de rétention des données de surveillance, puis appliquer des stratégies de cycle de vie en conséquence. Amazon S3 prend en charge la gestion du cycle de vie au niveau du compartiment S3. Cette gestion du cycle de vie peut être appliquée différemment à d'autres chemins dans le compartiment. Vers la fin du cycle de vie, vous pouvez transférer des données dans Amazon Glacier pour un stockage à long terme, puis les laisser expirer une fois la fin de la période de rétention terminée. La classe de stockage S3 Intelligent-Tiering est conçue pour optimiser les coûts en transférant automatiquement les données vers le niveau d'accès le plus économique, sans impact sur les performances ni surcharge opérationnelle. 

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

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  CloudWatch Logs vous permet de rechercher et d'analyser de manière interactive vos données de journaux dans Amazon CloudWatch Logs. 
  +  [Analyse des données des journaux avec CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_cloudwatch_logs.html) 
  +  [Exemples de requêtes Amazon CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) 
+  Utiliser Amazon CloudWatch Logs pour envoyer des journaux vers Amazon S3 où vous pouvez les exploiter ou utiliser Amazon Athena pour interroger les données 
  +  [Comment analyser mes journaux d'accès au serveur Amazon S3 à l'aide d'Athena ?](https://aws.amazon.com/premiumsupport/knowledge-center/analyze-logs-athena/) 
    +  Créez une stratégie de cycle de vie S3 pour votre compartiment de journaux d'accès au serveur. Configurez la stratégie de cycle de vie de sorte à supprimer régulièrement les fichiers journaux. Cette suppression permet de réduire la quantité de données analysées par Athena pour chaque requête. 
      +  [Comment créer une stratégie de cycle de vie pour un compartiment S3 ?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-lifecycle.html) 

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

 **Documents connexes :** 
+  [Exemples de requêtes Amazon CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html) 
+  [Analyse des données des journaux avec CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_cloudwatch_logs.html) 
+  [Débogage avec Amazon CloudWatch Synthetics et AWS X-Ray](https://aws.amazon.com/blogs/devops/debugging-with-amazon-cloudwatch-synthetics-and-aws-x-ray/) 
+  [Comment créer une stratégie de cycle de vie pour un compartiment S3 ?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-lifecycle.html) 
+  [Comment analyser mes journaux d'accès au serveur Amazon S3 à l'aide d'Athena ?](https://aws.amazon.com/premiumsupport/knowledge-center/analyze-logs-athena/) 
+  [Un atelier sur l'observabilité](https://observability.workshop.aws/) 
+  [L'Amazon 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/) 

# REL06-BP06 Procéder à des examens réguliers
<a name="rel_monitor_aws_resources_review_monitoring"></a>

 Examinez fréquemment comment la surveillance de la charge de travail est mise en œuvre et mettez-la à jour en fonction des événements et des modifications majeurs. 

 Une surveillance efficace repose sur des métriques commerciales clés. Assurez-vous que ces métriques sont prises en compte dans votre charge de travail au fur et à mesure que les priorités de l’entreprise évoluent. 

 Auditer votre surveillance vous permet de savoir avec certitude quand une application est conforme à ses objectifs de disponibilité. Pour pouvoir analyser les causes premières, il faut pouvoir découvrir ce qui se passe lorsque des défaillances se produisent. AWS fournit des services qui vous permettent de suivre l'état de vos services lors d'un incident : 
+  **Amazon CloudWatch Logs :** vous pouvez stocker vos journaux dans ce service et inspecter leur contenu. 
+  **Amazon CloudWatch Logs Insights** : service entièrement géré qui vous permet d'analyser des journaux volumineux en quelques secondes. Il permet des requêtes et des visualisations rapides et interactives.  
+  **AWS Config :** permet de voir quelle infrastructure AWS a été utilisée à différents moments. 
+  **AWS CloudTrail :** permet de voir quelles API AWS ont été appelées à quel moment et par quel mandataire. 

 Chez AWS, nous organisons des réunions hebdomadaires pour [examiner les performances opérationnelles](https://docs.aws.amazon.com/wellarchitected/latest/operational-readiness-reviews/wa-operational-readiness-reviews.html) et partager les enseignements entre les équipes. Compte tenu du nombre conséquent d'équipes AWS, nous avons créé [The Wheel](https://aws.amazon.com/blogs/opensource/the-wheel/) pour choisir de façon aléatoire une charge de travail à examiner. Le respect d’un rythme régulier pour l’examen des performances opérationnelles et le partager des connaissances améliore la capacité de vos équipes opérationnelles à atteindre des performances supérieures. 

 **Anti-modèles courants :** 
+  Collecte limitée aux métriques par défaut. 
+  Définition d'une stratégie de surveillance et sans examen. 
+  Absence de discussion relative à la surveillance lorsque des modifications majeures sont déployées. 

 **Avantages liés au respect de cette bonne pratique :** La vérification régulière de votre surveillance permet d'anticiper les problèmes potentiels, au lieu de réagir aux notifications lorsqu'un problème anticipé se produit réellement. 

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

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Créer plusieurs tableaux de bord pour la charge de travail. Vous devez disposer d'un tableau de bord de niveau supérieur qui contient les principales métriques commerciales, ainsi que les métriques techniques que vous avez identifiées comme étant les plus pertinentes pour l'état projeté de la charge de travail au fil de la variation de l'utilisation. Vous devez également avoir des tableaux de bord pour différents niveaux et dépendances d'application qui peuvent être inspectés. 
  +  [Fonctionnement des tableaux de bord Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 
+  Planifier et effectuer des vérifications régulières des tableaux de bord de charge de travail. Effectuez une inspection régulière des tableaux de bord. Vous pouvez avoir des cadences différentes selon la profondeur à laquelle vous inspectez. 
  +  Inspecter les tendances dans les métriques. Comparez les valeurs des métriques aux valeurs historiques pour voir s'il existe des tendances qui peuvent indiquer que quelque chose doit faire l'objet d'une enquête. Voici quelques exemples : augmentation de la latence, diminution de la fonction principale de l'entreprise et augmentation des réponses aux échecs. 
  +  Inspecter les valeurs atypiques ou les anomalies dans vos métriques. Les moyennes ou les médianes peuvent masquer des valeurs atypiques et des anomalies. Observez les valeurs les plus élevées et les plus faibles pendant la période et examinez les causes des scores extrêmes. L'abaissement de votre définition de l'extrême vous permet de continuer à améliorer l'homogénéité des performances de votre charge de travail au fur et à mesure que vous continuez à éliminer ces causes. 
  +  Rechercher des changements importants de comportement. Un changement immédiat de quantité ou de direction d'une métrique peut indiquer qu'il y a eu un changement dans l'application ou la présence de facteurs externes pour le suivi desquels vous devez ajouter des métriques supplémentaires. 

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

 **Documents connexes :** 
+  [Exemples de requêtes Amazon CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html) 
+  [Débogage avec Amazon CloudWatch Synthetics et AWS X-Ray](https://aws.amazon.com/blogs/devops/debugging-with-amazon-cloudwatch-synthetics-and-aws-x-ray/) 
+  [Un atelier sur l'observabilité](https://observability.workshop.aws/) 
+  [L'Amazon 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/) 
+  [Fonctionnement des tableaux de bord Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 

# REL06-BP07 Surveiller la traçabilité complète des demandes via votre système
<a name="rel_monitor_aws_resources_end_to_end"></a>

 Utilisez AWS X-Ray ou des outils tiers afin que les développeurs puissent plus facilement analyser et déboguer des systèmes distribués pour comprendre les performances de leurs applications et de leurs services sous-jacents. 

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

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Surveiller la traçabilité complète des demandes via votre système. AWS X-Ray est un service qui collecte des données sur les demandes servies par votre application et fournit des outils que vous pouvez utiliser pour afficher, filtrer et obtenir des informations sur ces données afin d'identifier les problèmes et les circonstances opportunes d'optimisation. Pour toute demande suivie envoyée à votre application, vous pouvez consulter des informations détaillées non seulement sur la demande et la réponse, mais également sur les appels effectués par votre application vers des ressources AWS en aval, des microservices, des bases de données et des API web HTTP. 
  +  [Qu'est-ce que AWS X-Ray ?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
  +  [Débogage avec Amazon CloudWatch Synthetics et AWS X-Ray](https://aws.amazon.com/blogs/devops/debugging-with-amazon-cloudwatch-synthetics-and-aws-x-ray/) 

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

 **Documents connexes :** 
+  [Débogage avec Amazon CloudWatch Synthetics et AWS X-Ray](https://aws.amazon.com/blogs/devops/debugging-with-amazon-cloudwatch-synthetics-and-aws-x-ray/) 
+  [Un atelier sur l'observabilité](https://observability.workshop.aws/) 
+  [L'Amazon 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/) 
+  [Utilisation de scripts Canary (Amazon CloudWatch Synthetics)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [Qu'est-ce que AWS X-Ray ?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 

# REL 7  Comment concevoir votre charge de travail pour qu'elle s'adapte aux évolutions de la demande ?
<a name="w2aac19b9b9b7"></a>

Une charge de travail évolutive fournit l'élasticité nécessaire pour ajouter ou supprimer automatiquement des ressources de telle sorte qu'elles correspondent étroitement à tout moment à la demande en cours.

**Topics**
+ [REL07-BP01 Utiliser l'automatisation lors de l'obtention des ressources ou de leur mise à l'échelle](rel_adapt_to_changes_autoscale_adapt.md)
+ [REL07-BP02 Obtenir des ressources après la détection d'un problème sur une charge de travail](rel_adapt_to_changes_reactive_adapt_auto.md)
+ [REL07-BP03 Obtenir des ressources après avoir réalisé qu'un plus grand nombre de ressources est nécessaire pour une charge de travail](rel_adapt_to_changes_proactive_adapt_auto.md)
+ [REL07-BP04 Effectuer un test de charge de votre charge de travail](rel_adapt_to_changes_load_tested_adapt.md)

# REL07-BP01 Utiliser l'automatisation lors de l'obtention des ressources ou de leur mise à l'échelle
<a name="rel_adapt_to_changes_autoscale_adapt"></a>

 Lorsque vous remplacez des ressources compromises ou que vous mettez à l'échelle votre charge de travail, automatisez le processus à l'aide de services AWS gérés comme Amazon S3 et AWS Auto Scaling. Vous pouvez également utiliser des outils tiers et les kits SDK AWS pour automatiser la mise à l'échelle. 

 Les services AWS gérés comprennent Amazon S3, Amazon CloudFront, AWS Auto Scaling, AWS Lambda, Amazon DynamoDB, AWS Fargate et Amazon Route 53. 

 AWS Auto Scaling vous permet de détecter et de remplacer les instances dégradées. Il offre également la possibilité de créer des plans de mise à l'échelle pour les ressources, notamment les instances [Amazon EC2](https://aws.amazon.com/ec2/) et les parcs Spot, les tâches [Amazon ECS](https://aws.amazon.com/ecs/) les tables et index [Amazon DynamoDB](https://aws.amazon.com/dynamodb/) et les réplicas [Amazon Aurora](https://aws.amazon.com/aurora/) . 

 Lors de la mise à l'échelle d'instances EC2, veillez à utiliser plusieurs zones de disponibilité (de préférence au moins trois) et à ajouter ou supprimer de la capacité pour maintenir l'équilibre entre ces zones de disponibilité. Les tâches ECS ou les pods Kubernetes (lors de l'utilisation d'Amazon Elastic Kubernetes Service) doivent également être répartis sur plusieurs zones de disponibilité. 

 Lorsque vous utilisez AWS Lambda, la mise à l'échelle est automatique. Chaque fois qu'une notification d'événement est reçue pour votre fonction, AWS Lambda localise rapidement la capacité disponible dans son parc de calcul et exécute votre code jusqu'à la simultanéité allouée. Vous devez vous assurer que la simultanéité nécessaire est configurée sur la fonction Lambda spécifique et dans Service Quotas. 

 Amazon S3 se met automatiquement à l'échelle pour gérer les débits de requêtes élevés. Par exemple, votre application peut obtenir au moins 3 500 demandes PUT/COPY/POST/DELETE ou 5 500 requêtes GET/HEAD par seconde et par préfixe partitionné dans un compartiment. Le nombre de préfixes dans un compartiment est illimité. Vous pouvez augmenter vos performances de lecture ou d'écriture en parallélisant les lectures. Par exemple, si vous créez 10 préfixes dans un compartiment Amazon S3 pour paralléliser les lectures, vous pouvez mettre à l'échelle vos performances de lecture sur 55 000 requêtes de lecture par seconde. 

 Configurez et utilisez Amazon CloudFront ou un réseau de diffusion de contenus (CDN) de confiance Un CDN fournit des temps de réponse plus rapides à l'utilisateur final et répond aux demandes de contenu à partir du cache, ce qui vous évite (dans une certaine mesure) de devoir adapter votre charge de travail. 

 **Anti-modèles courants :** 
+  Implémentation de groupes Auto Scaling pour la réparation automatique sans implémentation de l'élasticité 
+  Utilisation de la mise à l'échelle automatique pour répondre aux pics importants du trafic. 
+  Déploiement d'applications hautement dynamiques avec élimination de l'option d'élasticité. 

 **Avantages liés au respect de cette bonne pratique :** L'automatisation élimine le risque d'erreur manuelle lors du déploiement et de la mise hors service des ressources. Elle élimine aussi le risque de dépassement de coûts et de déni de service en raison d'une réponse lente aux besoins de déploiement ou de mise hors service. 

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

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Configurer et utiliser AWS Auto Scaling. AWS Auto Scaling permet de surveiller vos applications et d'ajuster automatiquement la capacité pour maintenir des performances stables et prévisibles au coût le plus bas possible. Avec AWS Auto Scaling, vous pouvez configurer la mise à l'échelle des applications pour plusieurs ressources sur plusieurs services. 
  +  [Qu'est-ce qu'AWS Auto Scaling ?](https://docs.aws.amazon.com/autoscaling/plans/userguide/what-is-aws-auto-scaling.html) 
    +  Configurez Auto Scaling sur vos instances Amazon EC2 et vos parcs d'instances Spot, vos tâches Amazon ECS, vos tables et index Amazon DynamoDB, vos réplicas Amazon Aurora et vos appliances AWS Marketplace, le cas échéant. 
      +  [Gestion automatique de la capacité de débit avec DynamoDB Auto Scaling.](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) 
        +  Utiliser les opérations d'API de service pour spécifier les alarmes, les stratégies de mise à l'échelle, ainsi que les temps de montée et de baisse de charge 
+  Utiliser Elastic Load Balancing. Les équilibreurs de charge peuvent répartir la charge par chemin d'accès ou par connectivité réseau. 
  +  [Qu'est-ce qu'Elastic Load Balancing ?](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) 
    +  Les Application Load Balancers peuvent répartir la charge par chemin. 
      +  [Qu'est-ce qu'un Application Load Balancer ?](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
        +  Configurer un Application Load Balancer pour répartir le trafic sur différentes charges de travail selon le chemin d'accès du nom de domaine 
        +  Les Application Load Balancers peuvent être utilisés pour répartir les charges d'une manière qui s'intègre à AWS Auto Scaling pour gérer la demande. 
          +  [Utiliser un équilibreur de charge avec un groupe Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) 
    +  Les Network Load Balancers peuvent répartir la charge de travail par connexion. 
      +  [Qu'est-ce qu'un Network Load Balancer ?](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
        +  Configurer un Network Load Balancer pour répartir le trafic sur différentes charges de travail à l'aide du TCP ou disposer constamment d'un jeu d'adresses IP pour votre charge de travail 
        +  Les Network Load Balancers peuvent être utilisés pour répartir les charges d'une manière qui s'intègre à AWS Auto Scaling pour gérer la demande. 
+  Utiliser un fournisseur DNS à haut niveau de disponibilité. Les noms DNS permettent à vos utilisateurs de saisir des noms plutôt que des adresses IP pour accéder à vos charges de travail et distribuer ces informations sur une portée précise, en général mondiale, pour les utilisateurs de ces charges de travail. 
  +  Utiliser Amazon Route 53 ou un fournisseur DNS de confiance. 
    +  [Qu'est-ce qu'Amazon Route 53 ?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) 
  +  Utilisez Route 53 pour gérer vos distributions CloudFront et vos équilibreurs de charge. 
    +  Déterminer les domaines et les sous-domaines que vous allez à gérer 
    +  Créez des jeux d'enregistrements appropriés à l'aide d'enregistrements ALIAS ou CNAME. 
      +  [Utilisation des enregistrements](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/rrsets-working-with.html) 
+  Utilisez le réseau mondial AWS pour optimiser le chemin de vos utilisateurs vers vos applications. AWS Global Accelerator surveille en permanence l'état des points de terminaison de votre application et redirige le trafic vers des points de terminaison sains en moins de 30 secondes. 
  +  AWS Global Accelerator est un service qui améliore la disponibilité et les performances de vos applications auprès d'utilisateurs locaux ou internationaux. Il fournit des adresses IP statiques qui font office de point d'entrée fixe aux points de terminaison de votre application dans une ou plusieurs Régions AWS, telles que vos Application Load Balancers, vos Network Load Balancers ou vos instances Amazon EC2. 
    +  [Qu'est-ce qu'AWS Global Accelerator ?](https://docs.aws.amazon.com/global-accelerator/latest/dg/what-is-global-accelerator.html) 
+  Configurez et utilisez Amazon CloudFront ou un réseau de diffusion de contenus (CDN) de confiance Un réseau de diffusion de contenus peut fournir des temps de réponse des utilisateurs finaux plus rapides et traiter les requêtes de contenu susceptibles de causer une mise à l'échelle inutile de vos charges de travail. 
  +  [Qu'est-ce que Amazon CloudFront ?](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html) 
    +  Configurez les distributions Amazon CloudFront pour vos charges de travail ou utilisez un CDN tiers. 
      +  Vous pouvez limiter l'accès à vos charges de travail de sorte qu'elles ne soient accessibles qu'à partir de CloudFront. Pour ce faire, vous pouvez utiliser les plages d'adresses IP pour CloudFront dans vos groupes de sécurité ou vos politiques d'accès des points de terminaison. 

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

 **Documents connexes :** 
+  [Partenaire APN : partenaires pouvant vous aider à créer des solutions de calcul automatisées](https://aws.amazon.com/partners/find/results/?facets=%27Product%20:%20Compute%27) 
+  [AWS Auto Scaling : Fonctionnement des plans de mise à l'échelle](https://docs.aws.amazon.com/autoscaling/plans/userguide/how-it-works.html) 
+  [AWS Marketplace : produits utilisables avec Auto Scaling](https://aws.amazon.com/marketplace/search/results?searchTerms=Auto+Scaling) 
+  [Gestion automatique de la capacité de débit avec DynamoDB Auto Scaling](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) 
+  [Utiliser un équilibreur de charge avec un groupe Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) 
+  [Qu'est-ce qu'AWS Global Accelerator ?](https://docs.aws.amazon.com/global-accelerator/latest/dg/what-is-global-accelerator.html) 
+  [Qu'est-ce que Amazon EC2 Auto Scaling ?](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) 
+  [Qu'est-ce qu'AWS Auto Scaling ?](https://docs.aws.amazon.com/autoscaling/plans/userguide/what-is-aws-auto-scaling.html) 
+  [Qu'est-ce que Amazon CloudFront ?](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html?ref=wellarchitected) 
+  [Qu'est-ce qu'Amazon Route 53 ?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) 
+  [Qu'est-ce qu'Elastic Load Balancing ?](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) 
+  [Qu'est-ce qu'un Network Load Balancer ?](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [Qu'est-ce qu'un Application Load Balancer ?](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Utilisation des enregistrements](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/rrsets-working-with.html) 

# REL07-BP02 Obtenir des ressources après la détection d'un problème sur une charge de travail
<a name="rel_adapt_to_changes_reactive_adapt_auto"></a>

 Si la disponibilité est affectée, mettez à l'échelle les ressources de manière réactive si nécessaire, afin de restaurer la disponibilité de la charge de travail. 

 Vous devez commencer par configurer les vérifications de l'état et les critères de ces vérifications pour indiquer quand la disponibilité est affectée par le manque de ressources. Informez ensuite le personnel approprié qu’il doit mettre à l’échelle manuellement la ressource ou déclenchez l'automatisation pour procéder à une mise à l'échelle automatique. 

 La mise à l'échelle peut être ajustée manuellement en fonction de votre charge de travail. Par exemple, vous pouvez modifier le nombre d'instances EC2 dans un groupe Auto Scaling ou le débit d'une table DynamoDB via AWS Management Console ou l'interface AWS CLI. Toutefois, l'automatisation doit être utilisée à chaque fois que cela est possible (voir **Utiliser l'automatisation lors de l'obtention des ressources ou de leur mise à l'échelle**). 

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

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Obtenir des ressources après la détection d'un problème sur une charge de travail. Si la disponibilité est affectée, mettez à l'échelle les ressources de manière réactive si nécessaire, afin de restaurer la disponibilité de la charge de travail. 
  +  Utilisez des plans de mise à l'échelle, qui sont le composant principal d'AWS Auto Scaling, pour configurer un ensemble d'instructions pour la mise à l'échelle de vos ressources. Si vous travaillez avec AWS CloudFormation ou que vous ajoutez des balises aux ressources AWS, vous pouvez configurer des plans de mise à l'échelle pour différents ensembles de ressources, par application. AWS Auto Scaling offre des recommandations de stratégies de mise à l'échelle personnalisées pour chaque ressource. Une fois que vous avez créé votre plan de mise à l'échelle, AWS Auto Scaling combine les méthodes de mise à l'échelle dynamique et prédictive pour prendre en charge votre stratégie de mise à l'échelle. 
    +  [AWS Auto Scaling : Fonctionnement des plans de mise à l'échelle](https://docs.aws.amazon.com/autoscaling/plans/userguide/how-it-works.html) 
  +  Amazon EC2 Auto Scaling vous permet de vous assurer que vous disposez du nombre adéquat d'instances Amazon EC2 disponibles pour gérer la charge de votre application. Vous créez des collections d'instances EC2 appelées groupes Auto Scaling. Vous pouvez spécifier le nombre minimal d'instances dans chaque groupe Auto Scaling. Amazon EC2 Auto Scaling garantit alors que votre groupe ne passe jamais en dessous de cette taille. Vous pouvez spécifier le nombre maximal d'instances dans chaque groupe Auto Scaling. Amazon EC2 Auto Scaling garantit alors que votre groupe ne passe jamais au-dessus de cette taille. 
    +  [Qu'est-ce que Amazon EC2 Auto Scaling ?](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) 
  +  La mise à l'échelle automatique d'Amazon DynamoDB utilise le service AWS Application Auto Scaling pour ajuster de manière dynamique la capacité de débit alloué en votre nom, en fonction des modèles de trafic réels. Cela permet à une table ou à un index secondaire global d'augmenter sa capacité de lecture et d'écriture allouée afin de gérer sans limitations les augmentations soudaines du trafic. 
    +  [Gestion automatique de la capacité de débit avec DynamoDB Auto Scaling](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) 

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

 **Documents connexes :** 
+  [Partenaire APN : partenaires pouvant vous aider à créer des solutions de calcul automatisées](https://aws.amazon.com/partners/find/results/?facets=%27Product%20:%20Compute%27) 
+  [AWS Auto Scaling : Fonctionnement des plans de mise à l'échelle](https://docs.aws.amazon.com/autoscaling/plans/userguide/how-it-works.html) 
+  [AWS Marketplace : produits utilisables avec Auto Scaling](https://aws.amazon.com/marketplace/search/results?searchTerms=Auto+Scaling) 
+  [Gestion automatique de la capacité de débit avec DynamoDB Auto Scaling](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) 
+  [Qu'est-ce que Amazon EC2 Auto Scaling ?](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) 

# REL07-BP03 Obtenir des ressources après avoir réalisé qu'un plus grand nombre de ressources est nécessaire pour une charge de travail
<a name="rel_adapt_to_changes_proactive_adapt_auto"></a>

 Mettez à l'échelle les ressources de manière proactive pour répondre à la demande et éviter l'impact sur la disponibilité. 

 De nombreux services AWS sont automatiquement mis à l'échelle pour répondre à la demande. Si vous utilisez des instances Amazon EC2 ou des clusters Amazon ECS, vous pouvez configurer la mise à l'échelle automatique de ces instances pour qu'elle intervienne en fonction des métriques d'utilisation qui correspondent à la demande de votre charge de travail. Pour Amazon EC2, l'utilisation moyenne du CPU, le nombre de requêtes de l'équilibreur de charge ou la bande passante du réseau peuvent être utilisés pour augmenter (ou diminuer) les instances EC2. Pour Amazon ECS, l'utilisation moyenne du CPU, le nombre de requêtes de l'équilibreur de charge et l'utilisation de la mémoire peuvent être utilisés pour augmenter (ou diminuer) les tâches ECS. En utilisant Target Auto Scaling sur AWS, l'Autoscaler agit comme un thermostat domestique, en ajoutant ou en supprimant des ressources pour maintenir la valeur cible (par exemple, 70 % d'utilisation du CPU) que vous spécifiez. 

 AWS Auto Scaling peut également exécuter [Predictive Auto Scaling](https://aws.amazon.com/blogs/aws/new-predictive-scaling-for-ec2-powered-by-machine-learning/), qui s'appuie sur le machine learning pour analyser la charge de travail historique de chaque ressource et anticipe régulièrement la charge future des deux prochains jours. 

 Little's Law permet de calculer le nombre d'instances de calcul (instances EC2, fonctions Lambda simultanées, etc.) dont vous avez besoin. 

 *L* = *λW* 

 L = nombre d'instances (ou simultanéité moyenne dans le système) 

 λ = vitesse moyenne à laquelle les requêtes arrivent (demande/s.) 

 W = temps moyen que chaque requête passe dans le système (s.) 

 Par exemple, à 100 rps, si le traitement de chaque requête prend 0,5 seconde, vous aurez besoin de 50 instances pour prendre en charge la requête. 

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

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Obtenir des ressources après avoir réalisé qu'un plus grand nombre de ressources est nécessaire pour une charge de travail. Mettez à l'échelle les ressources de manière proactive pour répondre à la demande et éviter l'impact sur la disponibilité. 
  +  Déterminez le nombre de ressources de calcul dont vous aurez besoin (simultanéité de calcul) pour gérer un débit de demandes donné. 
    +  [Telling Stories About Little's Law](https://brooker.co.za/blog/2018/06/20/littles-law.html) 
  +  Configurez la mise à l'échelle planifiée pour Amazon EC2 Auto Scaling lorsque vous disposez d'un modèle d'utilisation historique. 
    +  [Mise à l'échelle planifiée pour Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html) 
  +  Utilisez la mise à l'échelle prédictive AWS. 
    +  [Scalabilité prédictive pour EC2 alimentée par le machine learning](https://aws.amazon.com/blogs/aws/new-predictive-scaling-for-ec2-powered-by-machine-learning/) 

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

 **Documents connexes :** 
+  [AWS Auto Scaling : Fonctionnement des plans de mise à l'échelle](https://docs.aws.amazon.com/autoscaling/plans/userguide/how-it-works.html) 
+  [AWS Marketplace : produits utilisables avec Auto Scaling](https://aws.amazon.com/marketplace/search/results?searchTerms=Auto+Scaling) 
+  [Gestion automatique de la capacité de débit avec DynamoDB Auto Scaling](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.html) 
+  [Scalabilité prédictive pour EC2 alimentée par le machine learning](https://aws.amazon.com/blogs/aws/new-predictive-scaling-for-ec2-powered-by-machine-learning/) 
+  [Mise à l'échelle planifiée pour Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html) 
+  [Telling Stories About Little's Law](https://brooker.co.za/blog/2018/06/20/littles-law.html) 
+  [Qu'est-ce que Amazon EC2 Auto Scaling ?](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) 

# REL07-BP04 Effectuer un test de charge de votre charge de travail
<a name="rel_adapt_to_changes_load_tested_adapt"></a>

 Adoptez une méthodologie de test de charge pour déterminer si la mise à l'échelle répond aux exigences de la charge de travail. 

 Il est important d'exécuter régulièrement des tests de charge. Les tests de charge devraient découvrir le point de rupture et tester les performances de votre charge de travail. AWS facilite la configuration d'environnements de test temporaires qui modélisent l'échelle de votre charge de travail de production. Dans le Cloud, vous pouvez créer un environnement d'essai à l'échelle de la production et à la demande, exécuter les tests, puis désactiver les ressources. Puisque vous ne payez l'environnement de test que lorsqu'il s'exécute, vous pouvez simuler votre environnement réel pour une fraction du coût d'un test sur site. 

 Les tests de charge en production doivent également être intégrés aux tests de simulation de pannes, lors desquels le système de production est mis sous tension pendant les périodes où le client est moins utilisé et tout le personnel est disponible pour interpréter les résultats et résoudre les problèmes qui surviennent. 

 **Anti-modèles courants :** 
+  Exécution de tests de charge sur des déploiements qui ne n'ont pas la même configuration que votre production. 
+  Effectuer un test de charge uniquement sur des éléments individuels de votre charge de travail, et non sur l'ensemble de la charge de travail. 
+  Exécution de tests de charge avec un sous-ensemble de demandes et non un ensemble représentatif de demandes réelles. 
+  Exécution de tests de charge avec un faible facteur de sécurité au-dessus de la charge prévue. 

 **Avantages liés au respect de cette bonne pratique :** Vous savez quels composants de votre architecture échouent sous charge et vous pouvez identifier les métriques à surveiller qui indiquent suffisamment à temps que vous approchez de cette charge pour que vous résolviez le problème et empêchiez ainsi l'impact de cette défaillance. 

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

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Exécutez des tests de charge pour identifier l'aspect de votre charge de travail qui indique que vous devez ajouter ou supprimer de la capacité. Les tests de charge doivent avoir un trafic représentatif similaire à ce que vous recevez en production. Augmentez la charge tout en surveillant les métriques que vous avez instrumentées pour déterminer quelle métrique indique quand vous devez ajouter ou supprimer des ressources. 
  +  [Test de charge distribuée sur AWS : simulation de milliers d'utilisateurs connectés](https://aws.amazon.com/solutions/distributed-load-testing-on-aws/) 
    +  Identifiez le mélange de demandes. Comme vous pouvez avoir divers mélanges de demandes, vous devez examiner les différentes périodes lors de l'identification de la combinaison de trafic. 
    +  Implémentez un pilote de charge. Vous pouvez utiliser un code personnalisé, un logiciel open source ou un logiciel commercial pour implémenter un pilote de charge. 
    +  Effectuez un test de charge initial avec une faible capacité. Vous constatez des effets immédiats en entraînant une charge moindre, éventuellement aussi petite qu'une instance ou un conteneur. 
    +  Effectuez un test de charge par rapport à une capacité plus importante. Étant donné que les effets seront différents sur une charge distribuée, vous devez procéder à des essais dans un environnement aussi proche que possible de celui du produit. 

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

 **Documents connexes :** 
+  [Test de charge distribuée sur AWS : simulation de milliers d'utilisateurs connectés](https://aws.amazon.com/solutions/distributed-load-testing-on-aws/) 

# REL 8  Comment implémenter les modifications ?
<a name="w2aac19b9b9b9"></a>

Des modifications contrôlées sont nécessaires pour au moins deux raisons : déployer de nouvelles fonctionnalités et s'assurer que les charges de travail et l'environnement d'exploitation fonctionnent avec des logiciels connus et peuvent être corrigés ou remplacés de manière prévisible. Si les modifications ne sont pas contrôlées, il est difficile de prédire leur effet ou de résoudre les problèmes qui en découlent. 

**Topics**
+ [REL08-BP01 Utiliser des runbooks pour les activités standard telles que le déploiement](rel_tracking_change_management_planned_changemgmt.md)
+ [REL08-BP02 Intégrer les tests fonctionnels dans le cadre de votre déploiement](rel_tracking_change_management_functional_testing.md)
+ [REL08-BP03 Intégrer les tests de résilience dans le cadre de votre déploiement](rel_tracking_change_management_resiliency_testing.md)
+ [REL08-BP04 Effectuer le déploiement à l'aide d'une infrastructure immuable](rel_tracking_change_management_immutable_infrastructure.md)
+ [REL08-BP05 Déployer les modifications avec l'automatisation](rel_tracking_change_management_automated_changemgmt.md)

# REL08-BP01 Utiliser des runbooks pour les activités standard telles que le déploiement
<a name="rel_tracking_change_management_planned_changemgmt"></a>

 Les runbooks sont les procédures prédéfinies destinées à parvenir à un résultat spécifique. Utilisez des runbooks pour effectuer des tâches manuelles ou automatiques standard. Il peut s'agir du déploiement d'une charge de travail, de l'application de correctifs à une charge de travail ou de la modification du DNS. 

 Par exemple, mettez en place des processus [pour assurer la sécurité des restaurations pendant les déploiements](https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments). Pour garantir la fiabilité d’un service, il est essentiel de s'assurer que vous pouvez restaurer un déploiement sans interruption pour vos clients. 

 Concernant les procédures de runbook, commencez par un processus manuel efficace valide, mettez-le en œuvre dans le code et, le cas échéant, déclenchez son exécution automatique. 

 Même pour les charges de travail sophistiquées hautement automatisées, les runbooks restent utiles pour [exécuter des tests de simulation de pannes](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/test-reliability.html#GameDays) ou répondre à des exigences rigoureuses en matière de rapports et d'audit. 

 Notez que les playbooks sont utilisés en réponse à des incidents spécifiques et que les runbooks le sont pour obtenir des résultats spécifiques. En règle générale, les runbooks sont destinés aux activités de routine, tandis que les playbooks sont utilisés pour répondre à des événements non réguliers. 

 **Anti-modèles courants :** 
+  Exécution de modifications imprévues de la configuration en production. 
+  Ignorer les étapes de votre plan afin d'accélérer le déploiement, ce qui entraîne un échec du déploiement. 
+  Effectuez des modifications sans tester l'annulation de la modification. 

 **Avantages liés au respect de cette bonne pratique :** Une planification efficace des modifications augmente votre capacité à exécuter correctement la modification, car vous êtes conscient de tous les systèmes concernés. Vous gagnez en confiance si vous réussissez à valider des modifications que vous apportez aux environnements de test. 

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

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Obtenez des réponses cohérentes et rapides à des événements bien compris en documentant les procédures dans des runbooks. 
  +  [Concepts AWS Well-Architected Framework : runbook](https://wa.aws.amazon.com/wat.concept.runbook.en.html) 
+  Utilisez le principe de l'infrastructure en tant que code pour définir votre infrastructure. En ayant recours à AWS CloudFormation ou à un tiers de confiance pour définir votre infrastructure, vous pouvez utiliser le contrôle de version et suivre les modifications apportées à la version du logiciel. 
  +  Utilisez AWS CloudFormation ou un fournisseur tiers de confiance pour définir votre infrastructure. 
    +  [Qu'est-ce qu'AWS CloudFormation ?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
  +  Créez des modèles qui sont singuliers et découplés, en utilisant de bons principes de conception de logiciels. 
    +  Déterminez les autorisations, les modèles et les responsables de l'implémentation 
      + [ Contrôle de l'accès avec Gestion des identités et des accès AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html)
    +  Utilisez le contrôle de code source, comme AWS CodeCommit ou un outil tiers de confiance, pour le contrôle de version. 
      +  [Qu'est-ce qu'AWS CodeCommit ?](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) 

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

 **Documents connexes :** 
+  [Partenaire APN : partenaires pouvant vous aider à créer des solutions de déploiement automatisées](https://aws.amazon.com/partners/find/results/?keyword=devops) 
+  [AWS Marketplace : produits pouvant être utilisés pour automatiser vos déploiements](https://aws.amazon.com/marketplace/search/results?searchTerms=DevOps) 
+  [Concepts AWS Well-Architected Framework : runbook](https://wa.aws.amazon.com/wat.concept.runbook.en.html) 
+  [Qu'est-ce qu'AWS CloudFormation ?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
+  [Qu'est-ce qu'AWS CodeCommit ?](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) 

   **Exemples connexes :** 
+  [Automatisation des opérations avec les playbooks et les runbooks](https://wellarchitectedlabs.com/operational-excellence/200_labs/200_automating_operations_with_playbooks_and_runbooks/) 

# REL08-BP02 Intégrer les tests fonctionnels dans le cadre de votre déploiement
<a name="rel_tracking_change_management_functional_testing"></a>

 Les tests fonctionnels sont exécutés dans le cadre du déploiement automatisé. Si les critères de réussite ne sont pas respectés, le pipeline est arrêté ou annulé. 

 Ces tests sont exécutés dans un environnement de préproduction, qui est mis en place avant la production dans le pipeline. Idéalement, cela s'effectue dans le cadre d'un pipeline de déploiement. 

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

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Intégrez les tests fonctionnels dans le cadre de votre déploiement. Les tests fonctionnels sont exécutés dans le cadre du déploiement automatisé. Si les critères de réussite ne sont pas respectés, le pipeline est arrêté ou annulé. 
  +  Appelez AWS CodeBuild lors de « l'action de test » de vos pipelines de publication de logiciels modélisés dans AWS CodePipeline. Cette fonctionnalité vous permet d'exécuter facilement divers tests sur votre code, en particulier des tests unitaires, des analyses de code statique et des tests d'intégration. 
    +  [AWS CodePipeline ajoute la prise en charge des tests unitaires et des tests d'intégration personnalisés avec AWS CodeBuild](https://aws.amazon.com/about-aws/whats-new/2017/03/aws-codepipeline-adds-support-for-unit-testing/) 
  +  Utilisez les solutions AWS Marketplace pour exécuter des tests automatisés dans le cadre de votre pipeline de distribution de logiciels. 
    +  [Automatisation des tests logiciels](https://aws.amazon.com/marketplace/solutions/devops/software-test-automation) 

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

 **Documents connexes :** 
+  [AWS CodePipeline ajoute la prise en charge des tests unitaires et des tests d'intégration personnalisés avec AWS CodeBuild](https://aws.amazon.com/about-aws/whats-new/2017/03/aws-codepipeline-adds-support-for-unit-testing/) 
+  [Automatisation des tests logiciels](https://aws.amazon.com/marketplace/solutions/devops/software-test-automation) 
+  [Qu'est-ce que AWS CodePipeline ?](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) 

# REL08-BP03 Intégrer les tests de résilience dans le cadre de votre déploiement
<a name="rel_tracking_change_management_resiliency_testing"></a>

 Les tests de résilience (basés sur les [principes de l'ingénierie du chaos](https://principlesofchaos.org/)) sont exécutés dans le cadre du pipeline de déploiement automatisé dans un environnement de préproduction. 

 Ces tests sont mis en place et exécutés dans le pipeline dans un environnement de préproduction. Ils doivent également être exécutés en production, mais dans le cadre des [https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/test-reliability.html#GameDays](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/test-reliability.html#GameDays). 

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

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Intégrez les tests de résilience dans le cadre de votre déploiement. Utilisez l'ingénierie du chaos qui est la discipline d'expérimentation d'une charge de travail afin d'améliorer votre confiance en sa capacité à supporter des conditions instables en production. 
  +  Les tests de résilience injectent des défaillances ou une dégradation des ressources pour vérifier que votre charge de travail répond avec le niveau de résilience prévue à la conception. 
    +  [Atelier Well-Architected : niveau 300 : test de la résilience d’EC2 RDS et de S3](https://wellarchitectedlabs.com/Reliability/300_Testing_for_Resiliency_of_EC2_RDS_and_S3/README.html) 
  +  Ces tests peuvent être exécutés régulièrement dans des environnements de préproduction dans des pipelines de déploiement automatisés. 
  +  Ils doivent également être exécutés en production, dans le cadre des tests de simulation de panne. 
  +  Si vous utilisez les principes de l'ingénierie du chaos, proposez des hypothèses sur les performances de votre charge de travail dans différentes situations, puis testez vos hypothèses à l'aide de tests de résilience. 
    +  [Principes de l'ingénierie du chaos](https://principlesofchaos.org/) 

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

 **Documents connexes :** 
+  [Principes de l'ingénierie du chaos](https://principlesofchaos.org/) 
+  [Qu'est qu'AWS Fault Injection Simulator (AWS FIS) ?](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html) 

 **Exemples connexes :** 
+  [Atelier Well-Architected : niveau 300 : test de la résilience d’EC2 RDS et de S3](https://wellarchitectedlabs.com/Reliability/300_Testing_for_Resiliency_of_EC2_RDS_and_S3/README.html) 

# REL08-BP04 Effectuer le déploiement à l'aide d'une infrastructure immuable
<a name="rel_tracking_change_management_immutable_infrastructure"></a>

 Une infrastructure immuable est un modèle qui exige qu'aucune mise à jour, aucune application de correctifs de sécurité ni aucun changement de configuration ne se produise sur place sur les charges de travail de production. Lorsqu'un changement est nécessaire, l'architecture est intégrée à la nouvelle infrastructure et déployée en production. 

 L'implémentation la plus courante du paradigme d'infrastructure immuable est le ***serveur immuable***. Cela signifie que si un serveur a besoin d'une mise à jour ou d'un correctif, de nouveaux serveurs sont déployés au lieu de mettre à jour ceux déjà utilisés. Ainsi, au lieu de se connecter au serveur via le protocole SSH et de mettre à jour la version logicielle, chaque modification de l'application commence par une transmission logicielle au référentiel de code, par exemple, git push. Les modifications n’étant pas autorisées dans une infrastructure immuable, vous pouvez être sûr de l'état du système déployé. Les infrastructures immuables sont, par nature, plus cohérentes, plus fiables et plus prévisibles. De plus, elles simplifient de nombreux aspects du développement et du fonctionnement des logiciels. 

 Utilisez un déploiement Canari ou bleu/vert lors du déploiement d'applications dans des infrastructures immuables. 

 [https://martinfowler.com/bliki/CanaryRelease.html](https://martinfowler.com/bliki/CanaryRelease.html) consiste à diriger un petit nombre de vos clients vers la nouvelle version, généralement exécutée sur une seule instance de service (la version Canari). Examinez ensuite en profondeur les modifications de comportement ou les erreurs générées. Vous pouvez supprimer le trafic du Canary si vous rencontrez des problèmes critiques et faire basculer les utilisateurs vers la version précédente. Si le déploiement est réussi, vous pouvez le continuer à la vitesse souhaitée, tout en surveillant les modifications (pour éviter les erreurs), jusqu’à ce qu’il soit terminé. AWS CodeDeploy peut être configuré avec une configuration de déploiement qui permettra un déploiement Canari. 

 [https://martinfowler.com/bliki/BlueGreenDeployment.html](https://martinfowler.com/bliki/BlueGreenDeployment.html) est semblable au déploiement Canari, si ce n'est qu'un parc complet de l'application est déployé en parallèle. Vos déploiements alternent entre deux piles (bleu et vert). Une fois encore, vous pouvez faire basculer le trafic vers la nouvelle version et revenir à l'ancienne si vous rencontrez des problèmes lors du déploiement. Généralement, tout le trafic est commuté en même temps. Vous pouvez toutefois également utiliser des fractions de votre trafic vers chaque version pour modifier l'adoption de la nouvelle version à l'aide des capacités de routage DNS pondéré d'Amazon Route 53. AWS CodeDeploy et AWS Elastic Beanstalk peuvent être configurés avec une configuration de déploiement qui permet un déploiement bleu/vert. 

![\[Diagramme illustrant un déploiement bleu/vert avec AWS Elastic Beanstalk et Amazon Route 53\]](http://docs.aws.amazon.com/fr_fr/wellarchitected/2022-03-31/framework/images/blue-green-deployment.png)


 Avantages d'une infrastructure immuable : 
+  **Réduction des dérives de configuration :** en remplaçant fréquemment les serveurs à partir d'une configuration de base connue et contrôlée par les versions, l'infrastructure est **réinitialisée** à un état connu, ce qui évite les dérives de configuration. 
+  **Déploiements simplifiés**: les déploiements sont simplifiés, car ils n'ont pas besoin de prendre en charge les mises à niveau. Les mises à niveau sont simplement de nouveaux déploiements. 
+  **Déploiements atomiques fiables :** les déploiements se terminent avec succès ou aucune modification n'est apportée. Le processus de déploiement est ainsi plus fiable. 
+  **Déploiements plus sûrs avec des processus de restauration et de récupération rapides :** les déploiements sont plus sûrs, car la version de travail précédente n'est pas modifiée. Vous pouvez la restaurer si des erreurs sont détectées. 
+  **Environnements de test et de débogage cohérents :** étant donné que tous les serveurs utilisent la même image, il n'y a pas de différence entre les environnements. Une version est déployée dans plusieurs environnements. Cela permet d’éviter les environnements incohérents tout en simplifiant les tests et le débogage. 
+  **Capacité de mise à l'échelle accrue :** la capacité de mise à l'échelle automatique est négligeable, car les serveurs utilisent une image de base tout en étant cohérents et répétables. 
+  **Chaîne d'outils simplifiée**: la chaîne d'outils est simplifiée. Vous pouvez en effet supprimer les outils de gestion de la configuration qui prennent en charge les mises à niveau des logiciels de production. Aucun outil ou agent supplémentaire n'est installé sur les serveurs. Les modifications sont apportées à l'image de base, testées et déployées. 
+  **Sécurité accrue :** en refusant toutes les modifications apportées aux serveurs, vous pouvez désactiver le protocole SSH sur les instances et supprimer les clés. Cela vous permet de réduire le vecteur d'attaque tout en améliorant la sécurité de votre organisation. 

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

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Effectuez le déploiement à l'aide d'une infrastructure immuable. Une infrastructure immuable est un modèle dans le cadre duquel aucune mise à jour, aucun correctif de sécurité ni aucune modification de configuration n'est effectué *sur place* sur les systèmes de production. Si un changement est nécessaire, une nouvelle version de l'architecture est créée et déployée en production. 
  +  [Présentation d'un déploiement bleu/vert](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html#welcome-deployment-overview-blue-green) 
  +  [Déploiement progressif d'applications sans serveur](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/automating-updates-to-serverless-apps.html) 
  +  [Infrastructure inaltérable : fiabilité, cohérence et confiance grâce à l'inaltérabilité](https://medium.com/@adhorn/immutable-infrastructure-21f6613e7a23) 
  +  [CanaryRelease](https://martinfowler.com/bliki/CanaryRelease.html) 

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

 **Documents connexes :** 
+  [CanaryRelease](https://martinfowler.com/bliki/CanaryRelease.html) 
+  [Déploiement progressif d'applications sans serveur](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/automating-updates-to-serverless-apps.html) 
+  [Infrastructure inaltérable : fiabilité, cohérence et confiance grâce à l'inaltérabilité](https://medium.com/@adhorn/immutable-infrastructure-21f6613e7a23) 
+  [Présentation d'un déploiement bleu/vert](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html#welcome-deployment-overview-blue-green) 
+  [L'Amazon Builders' Library : Garantir la sécurité des restaurations pendant les déploiements](https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments) 

# REL08-BP05 Déployer les modifications avec l'automatisation
<a name="rel_tracking_change_management_automated_changemgmt"></a>

 Les déploiements et l'application de correctifs sont automatisés pour éliminer l'impact négatif. 

 Les modifications apportées aux systèmes de production sont l'un des secteurs de risque les plus importants pour de nombreuses organisations. Nous considérons les déploiements comme un problème de premie ordre à résoudre, tout comme les problèmes opérationnels que le logiciel rencontre. Aujourd'hui, il convient d'appliquer l'automatisation dès que les opérations le permettent, y compris lors des tests et du déploiement de modifications, lors de l'ajout ou de la suppression de capacités et lors de la migration des données. AWS CodePipeline vous permet de gérer les étapes nécessaires à la libération de votre charge de travail. Cela englobe un état de déploiement utilisant AWS CodeDeploy pour automatiser le déploiement du code d'application sur les instances Amazon EC2, les instances sur site, les fonctions Lambda sans serveur ou les services Amazon ECS. 

**Recommandations**  
 Bien que les principes traditionnels suggèrent de garder les interventions humaines dans la boucle des procédures opérationnelles les plus complexes, nous vous conseillons justement d'automatiser ces mêmes procédures pour cette raison. 

 **Anti-modèles courants :** 
+  Modifications manuelles 
+  Saut des étapes de votre automatisation via les flux de travail d'urgence. 
+  Non suivi de vos plans. 

 **Avantages liés au respect de cette bonne pratique :** L'utilisation de l'automatisation pour déployer toutes les modifications élimine le risque d'introduction d'erreurs humaines et permet de tester avant de changer la production afin de s'assurer que vos plans sont suivis. 

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

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  Automatisez votre pipeline de déploiement. Le déploiement des pipelines vous permet d'une part d'invoquer des tests automatisés et la détection des anomalies et, d'autre part, d'arrêter le pipeline à une certaine étape avant le déploiement en production ou de restaurer automatiquement l'environnement d'avant la modification. 
  +  [L'Amazon Builders' Library : Garantir la sécurité des restaurations pendant les déploiements](https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments) 
  +  [L'Amazon Builders' Library : Aller plus vite avec la distribution continue](https://aws.amazon.com/builders-library/going-faster-with-continuous-delivery/) 
    +  Utilisez AWS CodePipeline ou un produit tiers de confiance pour définir et exécuter vos pipelines. 
      +  Configurez le pipeline pour démarrer lorsqu'une modification est apportée à votre référentiel de code. 
        +  [Qu'est-ce qu'AWS CodePipeline ?](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) 
      +  Utilisez Amazon Simple Notification Service (Amazon SNS) and Amazon Simple Email Service (Amazon SES) pour envoyer des notifications sur les problèmes dans le pipeline ou pour intégrer un outil de chat d'équipe, comme Amazon Chime. 
        +  [Qu'est-ce qu'Amazon Simple Notification Service ?](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) 
        +  [Qu'est-ce que Amazon SES ?](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html) 
        +  [Qu'est-ce qu'Amazon Chime ?](https://docs.aws.amazon.com/chime/latest/ug/what-is-chime.html) 
        +  [Automatisez les messages de chat avec les webhooks.](https://docs.aws.amazon.com/chime/latest/ug/webhooks.html) 

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

 **Documents connexes :** 
+  [Partenaire APN : partenaires pouvant vous aider à créer des solutions de déploiement automatisées](https://aws.amazon.com/partners/find/results/?keyword=devops) 
+  [AWS Marketplace : produits pouvant être utilisés pour automatiser vos déploiements](https://aws.amazon.com/marketplace/search/results?searchTerms=DevOps) 
+  [Automatisez les messages de chat avec les webhooks.](https://docs.aws.amazon.com/chime/latest/ug/webhooks.html) 
+  [L'Amazon Builders' Library : Garantir la sécurité des restaurations pendant les déploiements](https://aws.amazon.com/builders-library/ensuring-rollback-safety-during-deployments) 
+  [L'Amazon Builders' Library : Aller plus vite avec la distribution continue](https://aws.amazon.com/builders-library/going-faster-with-continuous-delivery/) 
+  [Qu'est-ce que AWS CodePipeline ?](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) 
+  [Qu'est-ce que CodeDeploy ?](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) 
+  [le gestionnaire de correctifs AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) 
+  [Qu'est-ce que Amazon SES ?](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/Welcome.html) 
+  [Qu'est-ce qu'Amazon Simple Notification Service ?](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) 

 **Vidéos connexes :** 
+  [AWS Summit 2019: CI/CD on AWS](https://youtu.be/tQcF6SqWCoY) 