

# Efficacité en matière de performance
<a name="a-performance-efficiency"></a>

**Topics**
+ [

# Sélection
](a-selection.md)
+ [

# Vérifiez.
](a-review.md)
+ [

# Surveillance
](a-monitoring.md)
+ [

# Compromis
](a-tradeoffs.md)

# Sélection
<a name="a-selection"></a>

**Topics**
+ [

# PERF 1  Comment sélectionner l'architecture la plus performante ?
](w2aac19c11b5b5.md)
+ [

# PERF 2  Comment sélectionner votre solution de calcul ?
](w2aac19c11b5b7.md)
+ [

# PERF 3  Comment sélectionner votre solution de stockage ?
](w2aac19c11b5b9.md)
+ [

# PERF 4  Comment sélectionner votre solution de bases de données ?
](w2aac19c11b5c11.md)
+ [

# PERF 5  Comment configurer votre solution de mise en réseau ?
](w2aac19c11b5c13.md)

# PERF 1  Comment sélectionner l'architecture la plus performante ?
<a name="w2aac19c11b5b5"></a>

 Plusieurs approches sont souvent nécessaires pour obtenir des performances optimales sur une charge de travail. Les systèmes à l'architecture well-architected utilisent plusieurs solutions et fonctions pour améliorer les performances. 

**Topics**
+ [

# PERF01-BP01 Comprendre les services et les ressources disponibles
](perf_performing_architecture_evaluate_resources.md)
+ [

# PERF01-BP02 Définir un processus pour les options d'architecture
](perf_performing_architecture_process.md)
+ [

# PERF01-BP03 Tenir compte compte du facteur coût dans les décisions
](perf_performing_architecture_cost.md)
+ [

# PERF01-BP04 Utiliser des stratégies ou des architectures de référence
](perf_performing_architecture_use_policies.md)
+ [

# PERF01-BP05 Profiter des conseils de votre fournisseur de cloud ou d'un partenaire approprié
](perf_performing_architecture_external_guidance.md)
+ [

# PERF01-BP06 Évaluer les charges de travail existantes
](perf_performing_architecture_benchmark.md)
+ [

# PERF01-BP07 Effectuer un test de charge de votre charge de travail
](perf_performing_architecture_load_test.md)

# PERF01-BP01 Comprendre les services et les ressources disponibles
<a name="perf_performing_architecture_evaluate_resources"></a>

 Découvrez et familiarisez-vous avec le vaste éventail de services et ressources disponibles dans le cloud. Identifiez les services et options de configuration pertinents pour votre charge de travail et apprenez à optimiser les performances. 

 Si vous évaluez une charge de travail existante, vous devez générer un inventaire des différentes ressources de services qu'elle consomme. Votre inventaire vous aide à évaluer quels composants peuvent être remplacés par des services gérés et des technologies plus récentes. 

 **Anti-modèles courants :** 
+  Vous utilisez le cloud comme centre de données hébergé. 
+  Vous utilisez un stockage partagé pour tous les objets nécessitant un stockage permanent. 
+  Vous n'utilisez pas la mise à l'échelle automatique. 
+  Vous utilisez les types d'instances qui correspondent le plus à vos standards actuels. Elles peuvent être de plus grande taille au besoin. 
+  Vous déployez et gérez les technologies disponibles en tant que services gérés. 

 **Avantages liés au respect de cette bonne pratique :** Il est possible que vous réduisiez considérablement le coût de l'infrastructure et l'effort nécessaire pour maintenir vos services en ayant recours à des services auxquels vous n'êtes peut-être pas habitués. Le déploiement de nouveaux services et de nouvelles fonctions peut être un facteur de réduction de votre délai de mise sur le marché. 

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

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

 Préparation de l'inventaire de vos charges de travail logicielles et de l'architecture des services connexes : faites un inventaire de votre charge de travail et choisissez la catégorie de produits dont vous souhaitez en savoir plus. Identifiez les composants de charge de travail susceptibles d'être remplacés par des services gérés pour améliorer les performances et réduire la complexité opérationnelle. 

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

 **Documents connexes :** 
+  [Centre d'architecture AWS](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [Bibliothèque de solutions AWS](https://aws.amazon.com/solutions/) 
+  [Centre de connaissances AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 

 **Vidéos connexes :** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Voici mon architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

 **Exemples connexes :** 
+  [Exemples AWS](https://github.com/aws-samples) 
+  [Exemples de kits SDK AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 

# PERF01-BP02 Définir un processus pour les options d'architecture
<a name="perf_performing_architecture_process"></a>

 Mobilisez l'expérience et l'expertise des ressources cloud internes ou faites appel à des ressources externes, notamment les cas d'utilisation publiés, la documentation appropriée ou des livres blancs pour définir un processus de sélection de ressources et services. Vous devez définir un processus qui encourage l'expérimentation et la définition de points de référence avec les services qui pourraient être utilisés dans votre charge de travail. 

 Lorsque vous écrivez des scénarios utilisateurs critiques pour votre architecture, incluez des exigences en matière de performances, en précisant par exemple à quelle vitesse devrait s'exécuter chaque scénario critique. Pour ces scénarios critiques, mettez en place d'autres parcours utilisateurs écrits à l'avance afin de garantir une visibilité sur la façon dont ces scénarios fonctionnent en fonction de vos exigences. 

 **Anti-modèles courants :** 
+  Vous supposez que votre architecture actuelle deviendra statique et ne sera pas mise à jour au fil du temps. 
+  Vous introduisez des modifications d'architecture au fil du temps sans justification. 

 **Avantages liés au respect de cette bonne pratique :** Un processus défini pour les modifications architecturales rend possible l'utilisation des données collectées pour influencer la conception de votre charge de travail au fil du temps. 

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

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

 Sélectionner une approche architecturale : identifiez le type d'architecture qui répond à vos exigences de performance. Identifiez les contraintes telles que les supports de distribution (ordinateur de bureau, applications Web ou mobiles, IoT), les exigences existantes et les intégrations. Identifiez les occasions de réutilisation, notamment la réfactorisation. Pour mieux choisir une architecture, consultez d'autres équipes, schémas d'architecture et ressources, notamment les architectes de solutions AWS, les schémas d'architecture de référence AWS et les partenaires AWS. 

 Définir les exigences de performance : utilisez l'expérience client pour identifier les métriques les plus importantes. Pour chaque métrique, identifiez la cible, la méthode d'évaluation et la priorité. Définissez l'expérience client. Consignez les exigences des clients en matière d'expérience pratique, en particulier la façon dont ils évaluent la performance de la charge de travail. Priorité à l'expérience pour les scénarios utilisateurs critiques Incluez des exigences en matière de performance et implémentez des parcours utilisateur chiffrés pour vous assurer que vous savez comment les narrations répondent à vos exigences. 

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

 **Documents connexes :** 
+  [Centre d'architecture AWS](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [Bibliothèque de solutions AWS](https://aws.amazon.com/solutions/) 
+  [Centre de connaissances AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 

 **Vidéos connexes :** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Voici mon architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

 **Exemples connexes :** 
+  [Exemples AWS](https://github.com/aws-samples) 
+  [Exemples de kits SDK AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 

# PERF01-BP03 Tenir compte compte du facteur coût dans les décisions
<a name="perf_performing_architecture_cost"></a>

 Le traitement des charges de travail doit souvent tenir compte du facteur coût. Utilisez les contrôles de coûts internes pour sélectionner les types et tailles de ressources en fonction des besoins en ressources prévus. 

 Déterminez quels composants de charge de travail peuvent être remplacés par des services entièrement gérés, tels que des bases de données gérées, des caches en mémoire et d'autres services ETL. Réduire votre charge de travail opérationnelle vous permet de concentrer vos ressources sur les résultats métier. 

 Pour connaître les bonnes pratiques en matière d'exigences de coûts, consultez la section *Ressources rentables* du livre blanc [Pilier Optimisation des coûts](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html). 

 **Anti-modèles courants :** 
+  Vous n'utilisez qu'une seule famille d'instances. 
+  Vous n'évaluez pas les solutions sous licence par rapport aux solutions open source. 
+  Vous utilisez uniquement le stockage par blocs. 
+  Vous déployez des logiciels courants sur des instances EC2 et des volumes Amazon EBS ou éphémères qui sont disponibles en tant que service géré. 

 **Avantages liés au respect de cette bonne pratique :** D'autres investissements seront possibles si vous tenez compte du facteur coûts lors de vos sélections. 

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

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

 Optimiser les composants de charge de travail pour réduire les coûts : dimensionnez correctement les composants de la charge de travail et gagnez en élasticité pour réduire les coûts et maximiser l'efficacité des composants. Identifiez les composants de charge de travail susceptibles d'être remplacés par des services gérés le cas échéant : bases de données gérées, caches en mémoire et proxys inverses. 

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

 **Documents connexes :** 
+  [Centre d'architecture AWS](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [Bibliothèque de solutions AWS](https://aws.amazon.com/solutions/) 
+  [Centre de connaissances AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [Optimiseur de calcul AWS](https://aws.amazon.com/compute-optimizer/) 

 **Vidéos connexes :** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Voici mon architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+  [Optimize performance and cost for your AWS compute (CMP323-R1) ](https://www.youtube.com/watch?v=zt6jYJLK8sg&ref=wellarchitected) 

 **Exemples connexes :** 
+  [Exemples AWS](https://github.com/aws-samples) 
+  [Exemples de kits SDK AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 
+  [Dimensionnement avec Compute Optimizer et activation de l'utilisation de la mémoire](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [Code de démonstration Optimiseur de calcul AWS](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF01-BP04 Utiliser des stratégies ou des architectures de référence
<a name="perf_performing_architecture_use_policies"></a>

 Optimisez les performances et l'efficacité en évaluant les stratégies internes et les architectures de référence existantes, ainsi qu'en utilisant votre analyse pour sélectionner les services et les configurations pour votre charge de travail. 

 **Anti-modèles courants :** 
+  Vous autorisez une utilisation à grande échelle de la sélection de technologies qui peut avoir un impact sur les frais généraux de gestion de votre entreprise. 

 **Avantages liés au respect de cette bonne pratique :** L'établissement d'une stratégie pour les choix d'architecture, de technologie et de fournisseur permet de prendre des décisions rapidement. 

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

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

 Déployer votre charge de travail à l'aide de stratégies existantes ou d'architectures de référence : intégrez les services à votre déploiement dans le cloud. Utilisez ensuite vos tests de performance pour vous assurer que vous pouvez continuer à répondre à vos exigences de performance. 

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

 **Documents connexes :** 
+  [Centre d'architecture AWS](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [Bibliothèque de solutions AWS](https://aws.amazon.com/solutions/) 
+  [Centre de connaissances AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 

 **Vidéos connexes :** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Voici mon architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

 **Exemples connexes :** 
+  [Exemples AWS](https://github.com/aws-samples) 
+  [Exemples de kits SDK AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 

# PERF01-BP05 Profiter des conseils de votre fournisseur de cloud ou d'un partenaire approprié
<a name="perf_performing_architecture_external_guidance"></a>

 Utilisez les ressources de l'entreprise cloud, notamment les architectes de solutions, les services professionnels ou un partenaire approprié pour éclairer vos décisions. Ces ressources peuvent vous aider à vérifier et à améliorer votre architecture pour avoir des performances optimales. 

 Contactez AWS pour obtenir de l'aide lorsque vous avez besoin de conseils ou d'informations supplémentaires sur le produit. Les architectes de solutions AWS et [les services professionnels AWS](https://aws.amazon.com/professional-services/) fournissent des conseils pour la mise en œuvre de solutions. [les partenaires AWS](https://aws.amazon.com/partners/) apportent une expertise AWS pour vous aider à gagner en agilité et favoriser l'innovation au sein de votre entreprise. 

 **Anti-modèles courants :** 
+  Vous utilisez AWS en tant que fournisseur de centre de données ordinaire. 
+  Vous utilisez les services AWS de manière non conforme à leur utilisation prévue. 

 **Avantages liés au respect de cette bonne pratique :** Vous aurez confiance aux décisions que vous prendrez après avoir consulté votre fournisseur ou un partenaire. 

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

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

 Faire appel aux ressources AWS pour obtenir de l'aide : les architectes de solutions et les services professionnels AWS prodiguent des conseils pour la mise en œuvre de solutions. Les partenaires APN apportent une expertise AWS pour vous aider à gagner en agilité et favoriser l'innovation au sein de votre entreprise. 

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

 **Documents connexes :** 
+  [Centre d'architecture AWS](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [Bibliothèque de solutions AWS](https://aws.amazon.com/solutions/) 
+  [Centre de connaissances AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 

 **Vidéos connexes :** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Voici mon architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

 **Exemples connexes :** 
+  [Exemples AWS](https://github.com/aws-samples) 
+  [Exemples de kits SDK AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 

# PERF01-BP06 Évaluer les charges de travail existantes
<a name="perf_performing_architecture_benchmark"></a>

 Définissez des points de référence des performances d'une charge de travail existante afin de comprendre ses performances sur le cloud. Utilisez les données collectées à partir de points de référence pour éclairer vos décisions architecturales. 

 Utilisez des points de référence avec des tests synthétiques et la surveillance des données utilisateur pour générer des données sur les performances des composants de votre charge de travail. La définition de points de référence est généralement plus rapide à configurer que les tests de charge. Elle est utilisée pour évaluer la technologie pour un composant en particulier. La définition de points de référence est souvent utilisée au début d'un nouveau projet, lorsque vous n'avez pas de solution complète pour le test de charge. 

 Vous pouvez créer vos propres tests de définition de points de référence, ou bien utiliser un test conforme aux normes du secteur, comme [le TPC-DS](http://www.tpc.org/tpcds/) (pour comparer vos charges de travail d'entreposage de données). Les points de référence du secteur sont utiles lorsque vous comparez différents environnements. Les points de référence personnalisés sont utiles pour cibler certains types d'opérations que vous souhaitez effectuer dans votre architecture. 

 Avec la définition de points de référence, il est important de préparer votre environnement de test pour garantir des résultats valides. Exécutez plusieurs fois le même point de référence pour être sûr d'avoir capturé toute variabilité au fil du temps. 

 Étant donné que les points de référence sont généralement plus rapides à exécuter que les tests de charge, ils peuvent être utilisés plus tôt dans le pipeline de déploiement et fournir un retour rapide sur les écarts de performances. Lorsque vous évaluez un changement important dans un composant ou un service, un point de référence peut être un moyen rapide pour voir si la modification a un intérêt. L'utilisation de la définition de points de référence avec un test de charge est essentielle, car un test de charge vous indique comment votre charge de travail se comportera dans un environnement de production. 

 **Anti-modèles courants :** 
+  Vous comptez sur des points de référence communs qui ne reflètent pas les caractéristiques de votre charge de travail. 
+  Vous utilisez les commentaires et la perception des clients comme seule référence. 

 **Avantages liés au respect de cette bonne pratique :** La définition des points de référence de votre implémentation actuelle vous permet de mesurer l'amélioration des performances. 

 **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 les performances au cours du développement : mettez en œuvre des processus garantissant une visibilité des performances au fil de l'évolution de votre charge de travail. 

 Intégration dans votre pipeline de distribution : exécutez automatiquement des tests de charge dans votre pipeline de distribution. Comparez les résultats des tests aux indicateurs de performance clés (KPI) et aux seuils prédéfinis afin de vous assurer que vous continuez à répondre aux exigences de performance. 

 Tester les parcours utilisateur : pour effectuer un test de charge, utilisez des versions de données de production factices ou légèrement altérées (supprimez les données sensibles ou les informations d'identification). Testez l'ensemble de votre architecture en utilisant les parcours utilisateur répétés ou préprogrammés via votre application à grande échelle. 

 Surveillance des données utilisateur : utilisez CloudWatch RUM pour vous aider à collecter et afficher des données côté client sur les performances de votre application. Exploitez ces données pour vous aider à établir vos points de référence en termes de performances utilisateur. 

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

 **Documents connexes :** 
+  [Centre d'architecture AWS](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [Bibliothèque de solutions AWS](https://aws.amazon.com/solutions/) 
+  [Centre de connaissances AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 

 **Vidéos connexes :** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Voici mon architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+  [Optimisez les applications grâce à Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Démonstration d'Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Exemples connexes :** 
+  [Exemples AWS](https://github.com/aws-samples) 
+  [Exemples de kits SDK AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 
+  [Tests de charge distribuée](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 
+  [Mesurer le temps de chargement des pages avec Amazon CloudWatch Synthetics](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Client web Amazon CloudWatch RUM](https://github.com/aws-observability/aws-rum-web) 

# PERF01-BP07 Effectuer un test de charge de votre charge de travail
<a name="perf_performing_architecture_load_test"></a>

 Déployez votre dernière architecture de charge de travail dans au moyen de différents types et tailles de ressources. Surveillez le déploiement pour capturer les métriques de performance qui identifient les goulots d'étranglement ou des excédents de capacité. Utilisez ces données de performance pour concevoir ou améliorer votre sélection d'architecture et de ressources. 

 Le test de charge utilise votre *charge de travail réelle* afin que vous puissiez voir les performances de votre solution dans un environnement de production. Pour effectuer un test de charge, vous devez exécuter des versions de données de production factices ou légèrement altérées (supprimez les données sensibles ou les informations d'identification). Utilisez les parcours utilisateur répétés ou préprogrammés via votre charge de travail à une échelle similaire à celle de toute votre architecture. Effectuez automatiquement des tests de charge dans le cadre de votre pipeline de livraison et comparez les résultats aux indicateurs de performance clés et aux seuils prédéfinis. Cela vous garantit de continuer à atteindre les performances requises. 

 **Anti-modèles courants :** 
+  Vous testez les différentes parties et non la totalité de votre charge de travail. 
+  Vous testez la charge sur une infrastructure qui n'est pas la même que votre environnement de production. 
+  Vous n'effectuez le test de charge que pour la charge prévue sans aller au-delà, avec pour but de prévoir où vous pourriez rencontrer des problèmes à l'avenir. 
+  Vous effectuez un test de charge sans en informer AWS Support et faites échouer le test, car il ressemble à une attaque par déni de service. 

 **Avantages liés au respect de cette bonne pratique :** La mesure de vos performances dans le cadre d'un test de charge vous indiquera où vous serez affecté au fil de l'augmentation de la charge. Cela peut vous permettre d'anticiper les changements nécessaires avant qu'ils n'affectent 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>

 Valider votre approche avec un test de charge : effectuez un test de charge d'une preuve de concept pour déterminer si l'approche répond à vos exigences en matière de performances. Vous pouvez utiliser les services AWS pour exécuter des environnements à l'échelle de la production afin de tester votre architecture. Étant donné que vous ne payez pour l'environnement de test que lorsque cela est nécessaire, vous pouvez effectuer des tests à grande échelle pour une fraction du coût d'utilisation d'un environnement sur site. 

 Surveiller les métriques : Amazon CloudWatch peut récupérer des métriques à partir des ressources de votre architecture. Vous pouvez également récupérer et publier des métriques personnalisées pour faire apparaître des métriques d'entreprise ou des métriques dérivées. Utilisez CloudWatch ou des solutions tierces pour définir des alarmes qui indiquent les dépassements de seuils. 

 Test à grande échelle : le test de charge utilise votre charge de travail réelle afin que vous puissiez voir les performances de votre solution dans un environnement de production. Vous pouvez utiliser les services AWS pour exécuter des environnements à l'échelle de la production afin de tester votre architecture. Étant donné que vous ne payez pour l'environnement de test que lorsque cela est nécessaire, vous pouvez exécuter des tests à grande échelle à un coût inférieur à celui du test dans un environnement sur site. Utilisez le AWS Cloud pour tester votre charge de travail et découvrir où elle ne parvient pas à se dimensionner ou si elle évolue de manière non linéaire. Par exemple, utilisez les instances Spot pour générer des charges à faible coût et découvrir les goulots d'étranglement avant de les rencontrer en production. 

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

 **Documents connexes :** 
+  [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
+  [Création de modèles AWS CloudFormation avec CloudFormer](https://aws.amazon.com/blogs/devops/building-aws-cloudformation-templates-using-cloudformer/) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [Test de charge distribuée sur AWS](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/welcome.html) 

 **Vidéos connexes :** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Optimisez les applications grâce à Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Démonstration d'Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Exemples connexes :** 
+  [Test de charge distribuée sur AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF 2  Comment sélectionner votre solution de calcul ?
<a name="w2aac19c11b5b7"></a>

La solution de calcul optimale pour une charge de travail peut varier en fonction des trois facteurs suivants : la conception de l'application, les modèles d'utilisation et les paramètres de configuration. Les architectures peuvent utiliser différentes solutions de calcul pour divers composants et activer différentes fonctions pour améliorer les performances. La sélection d'une solution de calcul inadaptée à une architecture peut nuire à ses performances.

**Topics**
+ [

# PERF02-BP01 Évaluer les options de calcul disponible
](perf_select_compute_evaluate_options.md)
+ [

# PERF02-BP02 Comprendre les options de configuration de calcul disponibles
](perf_select_compute_config_options.md)
+ [

# PERF02-BP03 Collecter les métriques liées au calcul
](perf_select_compute_collect_metrics.md)
+ [

# PERF02-BP04 Déterminer la configuration requise grâce au dimensionnement
](perf_select_compute_right_sizing.md)
+ [

# PERF02-BP05 Utiliser l'élasticité des ressources disponible
](perf_select_compute_elasticity.md)
+ [

# PERF02-BP06 Réévaluer les besoins de calcul en fonction des métriques
](perf_select_compute_use_metrics.md)

# PERF02-BP01 Évaluer les options de calcul disponible
<a name="perf_select_compute_evaluate_options"></a>

 Découvrez comment votre charge de travail peut bénéficier de l'utilisation de différentes options de calcul, telles que des instances, des conteneurs et des fonctions. 

 **Résultat souhaité :** En comprenant toutes les options de calcul disponibles, vous saurez identifier les opportunités permettant d'augmenter les performances, de réduire les coûts d'infrastructure inutiles et de réduire l'effort opérationnel requis pour gérer votre charge de travail. Vous pouvez également accélérer votre délai de mise sur le marché pour ce qui concerne le déploiement de nouveaux services et fonctions. 

 **Anti-modèles courants :** 
+  Dans une charge de travail post-migration, vous utilisez la même solution de calcul que celle utilisée sur site. 
+  Vous manquez de connaissances sur les solutions de calcul cloud et sur la manière dont elles pourraient améliorer vos performances de calcul. 
+  Vous surdimensionnez une solution de calcul existante pour répondre aux exigences d'évolutivité ou de performances, alors qu'une autre solution de calcul s'alignerait plus précisément sur les caractéristiques de votre charge de travail. 

 **Avantages liés au respect de cette bonne pratique :** En identifiant les besoins en calcul et en évaluant les solutions de calcul disponibles, les parties prenantes et les équipes d'ingénierie identifieraient les avantages et les limites liés à l'utilisation de la solution de calcul sélectionnée. La solution de calcul sélectionnée doit correspondre aux critères de performances de la charge de travail. Les critères clés incluent les besoins de traitement, les modèles de trafic, les modèles d'accès aux données, les besoins de mise à l'échelle et les exigences de latence. 

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

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

 Familiarisez-vous avec les solutions de virtualisation, de conteneurisation et de gestion qui peuvent bénéficier à votre charge de travail et répondre à vos exigences de performances. Une charge de travail peut contenir plusieurs types de solutions de calcul. Chaque solution de calcul a des caractéristiques différentes. En fonction de l'échelle de votre charge de travail et des exigences de calcul, une solution de calcul peut être sélectionnée et configurée pour répondre à vos besoins. L'architecte cloud doit connaître les avantages et les inconvénients des instances, des conteneurs et des fonctions. Les étapes suivantes vous aideront à sélectionner votre solution de calcul en fonction des caractéristiques de votre charge de travail et de vos exigences de performances. 


|  **Type**  |  **Serveur**  |  **Conteneurs**  |  **Fonction**  | 
| --- | --- | --- | --- | 
|  Service AWS  |  Les instances de serveur virtuel Amazon Elastic Compute Cloud (Amazon EC2)  |  Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS)  |  AWS Lambda  | 
|  Caractéristiques clés  |  Possède une option dédiée pour les exigences de licence matérielle, les options de placement et une large sélection de différentes familles d'instances basées sur des métriques de calcul  |  Déploiement facile, environnements cohérents, exécution sur des instances EC2, évolutivité  |  Courte durée d'exécution (15 minutes ou moins), la mémoire maximale et le processeur ne sont pas aussi élevés que les autres services, couche matérielle gérée, s'adapte à des millions de demandes simultanées  | 
|  Cas d'utilisation courants  |  Migration « lift-and-shift », application monolithique, environnements hybrides, applications d'entreprise  |  Microservices, environnements hybrides  |  Microservices, applications basées sur les événements  | 

 

 **Étapes d'implémentation :** 

1.  Sélectionnez l'emplacement où la solution de calcul doit résider en évaluant [PERF05-BP06 Choisir l'emplacement de votre charge de travail en fonction des exigences réseau](perf_select_network_location.md). Cet emplacement limite les types de solutions de calcul à votre disposition. 

1.  Identifier le type de solution de calcul qui fonctionne avec les exigences liées à l'emplacement et à l'application  

   1.  [https://aws.amazon.com/ec2/](https://aws.amazon.com/ec2/) Les instances de serveur virtuel sont disponibles dans diverses familles et tailles. Elles proposent un large éventail de fonctionnalités, y compris des disques SSD et des unités de traitement graphique (GPU). Les instances EC2 offrent la plus grande flexibilité en matière de choix des instances. Lorsque vous lancez une instance EC2, le type d'instance que vous spécifiez détermine le matériel de votre instance. Chaque type d'instance propose différentes capacités de calcul, de mémoire et de stockage. Les types d'instance sont regroupés en familles d'instances en fonction de ces capacités. Les cas d'utilisation typiques incluent : l'exécution d'applications d'entreprise, le calcul haute performance (HPC), l'entraînement et le déploiement d'applications de machine learning et l'exécution d'applications cloud natives. 

   1.  [https://aws.amazon.com/ecs/](https://aws.amazon.com/ecs/) est un service d'orchestration de conteneurs entièrement géré qui vous permet d'exécuter et de gérer automatiquement des conteneurs sur un cluster d'instances EC2 ou d'instances sans serveur à l'aide d'AWS Fargate. Vous pouvez utiliser Amazon ECS avec d'autres services comme Amazon Route 53, Secrets Manager, Gestion des identités et des accès AWS (IAM) et Amazon CloudWatch. Amazon ECS est recommandé si votre application est conteneurisée et que votre équipe d'ingénieurs préfère les conteneurs Docker. 

   1.  [https://aws.amazon.com/eks/](https://aws.amazon.com/eks/) est un service Kubernetes entièrement géré. Vous pouvez choisir d'exécuter vos clusters EKS à l'aide d'AWS Fargate et éviter ainsi d'avoir à mettre en service et à gérer les serveurs. La gestion d'Amazon EKS est simplifiée grâce aux intégrations avec AWS Services, tels qu'Amazon CloudWatch, les groupes groupe Auto Scaling, Gestion des identités et des accès AWS (IAM) et Amazon Virtual Private Cloud (VPC). Lorsque vous utilisez des conteneurs, vous devez utiliser des métriques de calcul pour sélectionner le type optimal pour votre charge de travail, de la même manière que vous utilisez des métriques de calcul pour sélectionner vos types d'instance EC2 ou AWS Fargate. Amazon EKS est recommandé si votre application est conteneurisée et que votre équipe d'ingénieurs préfère Kubernetes aux conteneurs Docker. 

   1.  Vous pouvez utiliser [https://aws.amazon.com/lambda/](https://aws.amazon.com/lambda/) pour exécuter du code prenant en charge les options d'exécution, de mémoire et de processeur autorisées. Il suffit de charger votre code pour qu'AWS Lambda gère tout ce qui est nécessaire à son exécution et à sa mise à l'échelle. Vous pouvez configurer votre code pour qu'il se déclenche automatiquement à partir d'autres services AWS ou l'appeler directement. Lambda est recommandé pour les architectures de microservices à court terme développées pour le cloud.  

1.  Après avoir testé votre nouvelle solution de calcul, planifiez votre migration et validez vos métriques de performance. Il s'agit d'un processus continu, voir [PERF02-BP04 Déterminer la configuration requise grâce au dimensionnement](perf_select_compute_right_sizing.md). 

 **Niveau d'effort du plan d'implémentation :** Si une charge de travail passe d'une solution de calcul à une autre, il peut y avoir un niveau d'effort *modéré* lors de la refactorisation de l'application.   

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

 **Documents connexes :** 
+  [Calcul sur le cloud avec AWS ](https://aws.amazon.com/products/compute/?ref=wellarchitected) 
+  [Types d'instances EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html?ref=wellarchitected) 
+  [Contrôle de l'état du processeur pour votre instance EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html?ref=wellarchitected) 
+  [Conteneurs EKS : nœuds de travail EKS ](https://docs.aws.amazon.com/eks/latest/userguide/worker.html?ref=wellarchitected) 
+  [Conteneurs Amazon ECS : instances de conteneur Amazon Amazon ECS ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html?ref=wellarchitected) 
+  [Fonctions : configuration des fonctions Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html?ref=wellarchitected#function-configuration) 
+  [Conseils prescriptifs pour les conteneurs](https://aws.amazon.com/prescriptive-guidance/?apg-all-cards.sort-by=item.additionalFields.sortText&apg-all-cards.sort-order=desc&awsf.apg-new-filter=*all&awsf.apg-content-type-filter=*all&awsf.apg-code-filter=*all&awsf.apg-category-filter=categories%23containers&awsf.apg-rtype-filter=*all&awsf.apg-isv-filter=*all&awsf.apg-product-filter=*all&awsf.apg-env-filter=*all) 
+  [Conseils prescriptifs pour les modèles sans serveur](https://aws.amazon.com/prescriptive-guidance/?apg-all-cards.sort-by=item.additionalFields.sortText&apg-all-cards.sort-order=desc&awsf.apg-new-filter=*all&awsf.apg-content-type-filter=*all&awsf.apg-code-filter=*all&awsf.apg-category-filter=categories%23serverless&awsf.apg-rtype-filter=*all&awsf.apg-isv-filter=*all&awsf.apg-product-filter=*all&awsf.apg-env-filter=*all) 

 **Vidéos connexes :** 
+  [Comment choisir l'option de calcul pour les startups](https://aws.amazon.com/startups/start-building/how-to-choose-compute-option/) 
+  [Optimize performance and cost for your AWS compute (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [Amazon EC2 foundations (CMP211-R2) ](https://www.youtube.com/watch?v=kMMybKqC2Y0&ref=wellarchitected) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system ](https://www.youtube.com/watch?v=rUY-00yFlE4&ref=wellarchitected) 
+  [Deliver high-performance ML inference with AWS Inferentia (CMP324-R1) ](https://www.youtube.com/watch?v=17r1EapAxpk&ref=wellarchitected) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2 (CMP202-R1) ](https://www.youtube.com/watch?v=_dvh4P2FVbw&ref=wellarchitected) 

 **Exemples connexes :** 
+  [Migrer l'application Web vers des conteneurs](https://application-migration-with-aws.workshop.aws/en/container-migration.html) 
+  [Exécuter un modèle Hello World sans serveur](https://aws.amazon.com/getting-started/hands-on/run-serverless-code/) 

# PERF02-BP02 Comprendre les options de configuration de calcul disponibles
<a name="perf_select_compute_config_options"></a>

 Chaque solution de calcul propose des options et des configurations pour prendre en charge les caractéristiques de votre charge de travail. Vous devez savoir comment les différentes options soutiennent votre charge de travail et connaître celles qui sont optimales pour votre système. Parmi ces options, citons, par exemple) la famille d'instances, les tailles, les fonctionnalités (GPU, E/S), la capacité de débordement (bursting), les délais d'attente, les tailles de fonction, les instances de conteneur et la simultanéité. 

 **Résultat souhaité :** Les caractéristiques de la charge de travail, notamment le processeur, la mémoire, le débit réseau, le processeur graphique, les IOPS, les modèles de trafic et les modèles d'accès aux données, sont documentées et utilisées pour configurer la solution de calcul afin qu'elle corresponde aux caractéristiques de la charge de travail. Chacune de ces métriques ainsi que des métriques personnalisées spécifiques à votre charge de travail sont enregistrées, surveillées, puis exploitées pour optimiser la configuration de calcul afin de répondre au mieux aux exigences. 

 **Anti-modèles courants :** 
+  Vous utilisez la même solution de calcul que celle utilisée sur site. 
+  Vous ne vérifiez pas que les options de calcul ou la famille d'instances correspondent aux caractéristiques de la charge de travail. 
+  Vous surdimensionnez le calcul pour garantir une capacité de débordement (bursting). 
+  Vous utilisez plusieurs plateformes de gestion de calcul pour la même charge de travail. 

** Avantages liés au respect de cette bonne pratique :** Connaître les offres de calcul AWS afin de pouvoir identifier la solution la plus adaptée à chacune de vos charges de travail. Après la sélection des offres de calcul pour votre charge de travail, vous pouvez rapidement les tester pour déterminer si elles répondent aux besoins de vos charges de travail. Une solution de calcul optimisée pour répondre aux caractéristiques de votre charge de travail accroît les performances, réduit les coûts et renforce la fiabilité.

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

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

 Si votre charge de travail utilise la même option de calcul depuis plus de quatre semaines et que vous anticipez que les caractéristiques resteront les mêmes à l'avenir, vous pouvez utiliser [Optimiseur de calcul AWS](https://aws.amazon.com/compute-optimizer/) pour recevoir une recommandation basée sur vos caractéristiques de calcul. Si Optimiseur de calcul AWS n'est pas une option en raison du manque de métriques, [un type d'instance non pris en charge](https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html#requirements-ec2-instances) ou un changement prévisible de vos caractéristiques, vous devrez prédire vos métriques en vous basant sur des tests de charge et des expérimentations.  

 **Étapes d'implémentation :** 

1.  Exécutez-vous des instances EC2 ou des conteneurs avec le type de lancement EC2 ? 

   1.  Votre charge de travail peut-elle utiliser des GPU pour augmenter les performances ? 

      1.  [Calcul accéléré](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Accelerated_Computing) Les instances de calcul accéléré sont des instances basées sur GPU qui offrent des performances optimales pour l'entraînement du machine learning, l'inférence et le calcul haute performance. 

   1.  Votre charge de travail exécute-t-elle des applications d'inférence de machine learning ? 

      1.  [AWS Inferentia (Inf1)](https://aws.amazon.com/ec2/instance-types/inf1/) — Les instances Inf1 sont conçues pour prendre en charge les applications d'inférence de machine learning. En utilisant des instances Inf1, les clients peuvent exécuter à grande échelle des applications d'inférence de machine learning telles que la reconnaissance des images, la reconnaissance vocale, le traitement du langage naturel, la personnalisation et la détection des fraudes. Vous pouvez créer un modèle dans l'un des frameworks de machine learning les plus courants tels que TensorFlow, PyTorch ou MXNet, et utiliser des instances GPU pour entraîner votre modèle. Une fois que votre modèle de machine learning a été entraîné pour répondre à vos besoins, vous pouvez déployer votre modèle sur des instances Inf1 en utilisant [AWS Neuron](https://aws.amazon.com/machine-learning/neuron/)est un kit de développement logiciel (kit SDK) spécialisé composé d'un compilateur, d'un environnement d'exécution et d'outils de profilage qui optimisent les performances d'inférence de machine learning des puces Inferentia. 

   1.  Votre charge de travail s'intègre-t-elle au matériel de bas niveau pour améliorer les performances ?  

      1.  [Circuits logiques programmables (FPGA)](https://aws.amazon.com/ec2/instance-types/f1/) — Avec les FPGA, vous pouvez optimiser vos charges de travail en bénéficiant d'une exécution à accélération matérielle personnalisée pour vos charges de travail les plus exigeantes. Vous pouvez définir vos algorithmes en exploitant des langages de programmation à usage général pris en charge, comme C ou Go, ou des langages orientés matériel comme Verilog ou VHDL. 

   1.  Disposez-vous d'au moins quatre semaines de métriques et pouvez-vous prédire que votre modèle de trafic et vos métriques resteront à peu près les mêmes à l'avenir ? 

      1.  Utilisez [Compute Optimizer](https://aws.amazon.com/compute-optimizer/) pour recevoir une recommandation de machine learning sur la configuration de calcul qui correspond le mieux à vos caractéristiques de calcul. 

   1.  Les performances de votre charge de travail sont-elles limitées par les métriques du processeur ?  

      1.  [Les instances optimisées pour le calcul](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Compute_Optimized) sont idéales pour les charges de travail nécessitant des processeurs hautes performances.  

   1.  Les performances de votre charge de travail sont-elles limitées par les métriques de la mémoire ?  

      1.  [Les instances optimisées pour la mémoire](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Memory_Optimized) offrent de grandes quantités de mémoire pour soutenir les charges de travail gourmandes en mémoire. 

   1.  Les performances de votre charge de travail sont-elles limitées par les IOPS ? 

      1.  [Les instances optimisées pour le stockage](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Storage_Optimized) sont conçues pour les charges de travail nécessitant un accès séquentiel élevé en lecture et en écriture (IOPS) au stockage local. 

   1.  Les caractéristiques de votre charge de travail représentent-elles un besoin équilibré pour toutes les métriques ? 

      1.  Le processeur de votre charge de travail doit-il fonctionner en débordement (mode bursting) pour gérer les pics de trafic ? 

         1.  [Les instances de performance à capacité extensible](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Instance_Features) sont similaires aux instances optimisées pour le calcul, sauf qu'elles offrent la possibilité de dépasser le point de référence de base fixe du processeur identifié dans une instance optimisée pour le calcul. 

      1.  [Polyvalent](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#General_Purpose) Les instances à usage général fournissent un juste milieu entre toutes les caractéristiques afin de permettre l'exécution d'une variété de charges de travail. 

   1.  Votre instance de calcul s'exécute-t-elle sous Linux et est-elle limitée par le débit réseau sur la carte d'interface réseau ? 

      1.  Vérifiez. [la question de performance 5, bonne pratique 2 : évaluation des fonctionnalités de mise en réseau disponibles](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/network-architecture-selection.html) pour trouver le type d'instance et la famille les plus adaptés à vos besoins de performances. 

   1.  Votre charge de travail nécessite-t-elle des instances cohérentes et prévisibles dans une zone de disponibilité spécifique sur laquelle vous pouvez vous engager pendant un an ?  

      1.  [Instances réservées](https://aws.amazon.com/ec2/pricing/reserved-instances/) Les instances réservées vous permettent de confirmer les réservations de capacité dans une zone de disponibilité spécifique. Les instances réservées sont idéales pour la puissance de calcul requise dans une zone de disponibilité spécifique.  

   1.  Votre charge de travail a-t-elle des licences qui nécessitent du matériel dédié ? 

      1.  [Hôtes dédiés](https://aws.amazon.com/ec2/dedicated-hosts/) Les hôtes dédiés prennent en charge les licences logicielles existantes et vous aident à respecter les exigences de conformité. 

   1.  Votre solution de calcul fonctionne-t-elle en débordement (mode bursting) et nécessite-t-elle un traitement synchrone ? 

      1.  [Instances à la demande](https://aws.amazon.com/ec2/pricing/on-demand/) Les instances à la demande vous permettent d'utiliser la capacité de calcul à l'heure ou à la seconde sans engagement à long terme. Ces instances sont idéales pour dépasser les besoins de base en matière de performances. 

   1.  Votre solution de calcul est-elle sans état, tolérante aux pannes et asynchrone ?  

      1.  [Instances Spot](https://aws.amazon.com/ec2/spot/) Les instances Spot vous permettent de tirer parti de la capacité d'instance inutilisée pour vos charges de travail sans état et tolérantes aux pannes.  

1.  Exécutez-vous des conteneurs sur [Fargate](https://aws.amazon.com/fargate/)? 

   1.  Les performances de vos tâches sont-elles limitées par la mémoire ou le processeur ? 

      1.  Utilisez la boîte à outils [Taille de la tâche](https://docs.aws.amazon.com/AmazonECS/latest/bestpracticesguide/capacity-tasksize.html) pour ajuster la mémoire ou le processeur. 

   1.  Vos performances sont-elles affectées par vos pics de trafic ? 

      1.  Utilisez la boîte à outils [Auto Scaling](https://docs.aws.amazon.com/AmazonECS/latest/bestpracticesguide/capacity-autoscaling.html) configuration Auto Scaling pour correspondre à vos modèles de trafic. 

1.  Votre solution de calcul est-elle sur [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-features.html)? 

   1.  Disposez-vous d'au moins quatre semaines de métriques et pouvez-vous prédire que votre modèle de trafic et vos métriques resteront à peu près les mêmes à l'avenir ? 

      1.  Utilisez [Compute Optimizer](https://aws.amazon.com/compute-optimizer/) pour recevoir une recommandation de machine learning sur la configuration de calcul qui correspond le mieux à vos caractéristiques de calcul. 

   1.  N'avez-vous pas assez de métriques pour utiliser Optimiseur de calcul AWS ? 

      1.  Si vous n'avez pas de métriques disponibles pour utiliser Compute Optimizer, optez pour [AWS Lambda Power Tuning](https://docs.aws.amazon.com/lambda/latest/operatorguide/profile-functions.html) pour vous aider à choisir la meilleure configuration. 

   1.  Les performances de votre fonction sont-elles limitées par la mémoire ou le processeur ? 

      1.  Configurez la [mémoire Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console) pour répondre à vos besoins de performance. 

   1.  Votre fonction expire-t-elle lors de l'exécution ? 

      1.  Modifiez les [paramètres d'expiration.](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html) 

   1.  Les performances de votre fonction sont-elles limitées par des pics d'activité et la simultanéité ?  

      1.  Configurez les [paramètres de simultanéité](https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html) pour répondre à vos besoins de performance. 

   1.  Votre fonction s'exécute-t-elle de manière asynchrone et échoue-t-elle lors des tentatives ? 

      1.  Configurez l'ancienneté maximale de l'événement et la limite maximale de nouvelles tentatives dans les [paramètres de configuration](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html) asynchrone. 

## Niveau d'effort du plan d'implémentation : 
<a name="level-of-effort-for-the-implementation-plan-to-establish-this-best-practice-you-must-be-aware-of-your-current-compute-characteristics-and-metrics.-gathering-those-metrics-establishing-a-baseline-and-then-using-those-metrics-to-identify-the-ideal-compute-option-is-a-low-to-moderate-level-of-effort.-this-is-best-validated-by-load-tests-and-experimentation."></a>

Pour respecter cette bonne pratique, vous devez connaître vos caractéristiques et métriques de calcul actuelles. La collecte de ces métriques, l'établissement d'un point de référence, puis l'utilisation de ces métriques pour identifier l'option de calcul idéale indique un niveau d'effort *faible* to *modéré* . La validation par des tests de charge et des expérimentations est conseillée. 

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

 **Documents connexes :** 
+  [Calcul sur le cloud avec AWS ](https://aws.amazon.com/products/compute/?ref=wellarchitected) 
+  [Optimiseur de calcul AWS](https://aws.amazon.com/compute-optimizer/) 
+  [Types d'instances EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html?ref=wellarchitected) 
+  [Contrôle de l'état du processeur pour votre instance EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html?ref=wellarchitected) 
+  [Conteneurs EKS : nœuds de travail EKS ](https://docs.aws.amazon.com/eks/latest/userguide/worker.html?ref=wellarchitected) 
+  [Conteneurs Amazon ECS : instances de conteneur Amazon Amazon ECS ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html?ref=wellarchitected) 
+  [Fonctions : configuration des fonctions Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html?ref=wellarchitected#function-configuration) 

 **Vidéos connexes :** 
+  [Amazon EC2 foundations (CMP211-R2) ](https://www.youtube.com/watch?v=kMMybKqC2Y0&ref=wellarchitected) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system ](https://www.youtube.com/watch?v=rUY-00yFlE4&ref=wellarchitected) 
+  [Optimize performance and cost for your AWS compute (CMP323-R1) ](https://www.youtube.com/watch?v=zt6jYJLK8sg&ref=wellarchitected) 

 **Exemples connexes :** 
+  [Dimensionnement avec Compute Optimizer et activation de l'utilisation de la mémoire](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [Code de démonstration Optimiseur de calcul AWS](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF02-BP03 Collecter les métriques liées au calcul
<a name="perf_select_compute_collect_metrics"></a>

Pour comprendre les performances de vos systèmes de calcul, vous devez enregistrer et suivre l'utilisation de divers systèmes. Ces données peuvent être utilisées pour évaluer les besoins en ressources avec plus de précision.  

 Les charges de travail peuvent générer de gros volumes de données telles que des métriques, des journaux et des événements. Déterminez si votre service de stockage, de surveillance et d'observabilité existant peut gérer les données générées. Identifiez les métriques qui reflètent l'utilisation des ressources et qui peuvent être collectées, agrégées et corrélées sur une seule plateforme. Ces mesures devraient représenter toutes vos ressources de charge de travail, applications et services, afin que vous ayez une visibilité optimale à l'échelle du système et que vous puissiez identifier rapidement les améliorations possibles des performances et les problèmes.

 **Résultat souhaité :** Toutes les métriques relatives aux ressources liées au calcul sont identifiées, collectées, agrégées et corrélées sur une plateforme unique avec la mise en œuvre de la rétention afin de soutenir les objectifs de coût et opérationnels. 

 **Anti-modèles courants :** 
+  Vous utilisez uniquement la recherche manuelle des fichiers journaux pour les métriques.  
+  Vous publiez des métriques uniquement dans des outils internes. 
+  Vous n'utilisez que les métriques par défaut enregistrées par le logiciel de surveillance que vous avez sélectionné. 
+  Vous n'examinez les métriques qu'en cas de problème. 

 

 **Avantages liés au respect de cette bonne pratique :** L'enregistrement de plusieurs métriques de performance sur une période donnée est nécessaire pour la surveillance des performances de vos charges de travail. Ces métriques permettent de détecter les anomalies de performances. Elles vous aident également à comparer les performances par rapport aux métriques de l'entreprise pour vous assurer que vous répondez aux besoins de 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>

 Identifiez, collectez, agrégez et corrélez les métriques liées au calcul. L'utilisation d'un service comme Amazon CloudWatch peut accélérer la mise en œuvre et en faciliter la gestion. En plus des métriques par défaut enregistrées, identifiez et suivez des métriques supplémentaires au niveau du système dans votre charge de travail. Enregistrez des données telles que l'utilisation du processeur, la mémoire, les E/S de disque et les métriques entrantes et sortantes du réseau, pour obtenir des informations sur les niveaux d'utilisation ou les goulets d'étranglement. Ces données sont essentielles pour comprendre à la fois les performances de la charge de travail et l'utilisation de la solution de calcul. Utilisez ces métriques dans le cadre d'une approche fondée sur les données pour ajuster activement et optimiser les ressources de votre charge de travail.  

 **Étapes d'implémentation :** 

1.  Quelles sont les métriques de la solution de calcul à suivre ? 

   1.  [Métriques EC2 par défaut](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html) 

   1.  [Métriques Amazon ECS par défaut](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-metrics.html) 

   1.  [Métriques EKS par défaut](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/kubernetes-eks-metrics.html) 

   1.  [Métriques Lambda par défaut](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-access-metrics.html) 

   1.  [Métriques de mémoire et de disque EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html) 

1.  Une solution de journalisation et de surveillance approuvée est-elle actuellement à ma disposition ? 

   1.  [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) 

   1.  [AWS Distro for OpenTelemetry](https://aws.amazon.com/otel/) 

   1.  [Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/grafana/latest/userguide/prometheus-data-source.html) 

1.  Est-ce que j'ai identifié et configuré mes politiques de conservation des données pour qu'elles correspondent à mes objectifs de sécurité et d'exploitation ? 

   1.  [Métriques de conservation des données pour CloudWatch](https://aws.amazon.com/cloudwatch/faqs/#AWS_resource_.26_custom_metrics_monitoring) 

   1.  [Conservation des données pour CloudWatch Logs](https://aws.amazon.com/cloudwatch/faqs/#Log_management) 

1.  Comment déployez-vous vos agents d'agrégation de métriques et de journaux ? 

   1.  [Automatisation AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html?ref=wellarchitected) 

   1.  [Collecteur OpenTelemetry](https://aws-otel.github.io/docs/getting-started/collector) 

 **Niveau d'effort du plan d'implémentation : **Il existe un niveau d'effort *moyen* pour identifier, suivre, collecter, agréger et corréler les métriques de toutes les ressources de calcul. 

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

 **Documents connexes :** 
+  [Documentation Amazon CloudWatch](https://docs.aws.amazon.com/cloudwatch/index.html?ref=wellarchitected) 
+  [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?ref=wellarchitected) 
+  [Accès à Amazon CloudWatch Logs pour AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html?ref=wellarchitected) 
+  [Utiliser CloudWatch Logs avec des instances de conteneur](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_cloudwatch_logs.html?ref=wellarchitected) 
+  [Publier des métriques personnalisées](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html?ref=wellarchitected) 
+  [AWS Answers : journalisation centralisée](https://aws.amazon.com/answers/logging/centralized-logging/?ref=wellarchitected) 
+  [Services AWS publiant des métriques CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html?ref=wellarchitected) 
+  [Surveillance d'Amazon EKS sur AWS Fargate](https://aws.amazon.com/blogs/containers/monitoring-amazon-eks-on-aws-fargate-using-prometheus-and-grafana/) 

 

 **Vidéos connexes :** 
+  [Application Performance Management on AWS](https://www.youtube.com/watch?v=5T4stR-HFas&ref=wellarchitected) 
+  [Élaborer un plan de surveillance](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 

 

 **Exemples connexes :** 
+  [Niveau 100 : surveillance avec les tableaux de bord CloudWatch](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 
+  [Niveau 100 : surveillance d'une instance Windows EC2 avec les tableaux de bord CloudWatch](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_windows_ec2_cloudwatch/) 
+  [Niveau 100 : surveillance d'une instance Amazon Linux EC2 avec les tableaux de bord CloudWatch](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_linux_ec2_cloudwatch/) 

# PERF02-BP04 Déterminer la configuration requise grâce au dimensionnement
<a name="perf_select_compute_right_sizing"></a>

 Analysez les différentes caractéristiques de performances de votre charge de travail et la façon dont ces caractéristiques se rapportent à la mémoire, au réseau et à l'utilisation du processeur. Utilisez ces données pour choisir les ressources qui correspondent le mieux au profil de votre charge de travail. Par exemple, une charge de travail gourmande en mémoire, telle qu'une base de données, peut être mieux servie par la famille d'instances r. Toutefois, une charge de travail soumise à des pics d'utilisation peut tirer davantage profit d'un système de conteneurs Elastic. 

 **Anti-modèles courants :** 
+  Vous choisissez la plus grande instance disponible pour toutes les charges de travail. 
+  Vous standardisez tous les types d'instances en un seul type pour une gestion aisée. 

 **Avantages liés au respect de cette bonne pratique :** Une bonne connaissance des offres de calcul AWS vous aidera à identifier la solution appropriée pour vos différentes charges de travail. Une fois que vous aurez sélectionné les différentes offres de calcul pour votre charge de travail, vous aurez l'agilité nécessaire pour tester rapidement ces offres de calcul afin d'identifier celles qui répondent aux besoins de votre charge de travail. 

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

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

 Modifier la configuration de votre charge de travail grâce au dimensionnement : pour l'optimisation des performances et l'efficacité globale, commencez par identifier les ressources dont votre charge de travail a besoin. Choisissez des instances optimisées pour la mémoire pour les systèmes qui requièrent plus de mémoire que de processeur. Vous pouvez également choisir des instances optimisées pour le calcul pour les composants qui effectuent un traitement de données peu gourmand en mémoire. Le choix de la bonne taille permet à votre charge de travail de fonctionner le mieux possible tout en utilisant seulement la quantité de ressources nécessaires. 

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

 **Documents connexes :** 
+  [Optimiseur de calcul AWS](https://aws.amazon.com/compute-optimizer/)  
+  [Calcul sur le cloud avec AWS](https://aws.amazon.com/products/compute/) 
+  [Types d'instances EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [Conteneurs ECS : instances de conteneur Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Conteneurs EKS : composants master EKS](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) 
+  [Fonctions : configuration des fonctions Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) 
+  [Contrôle de l'état du processeur pour votre instance EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html) 

 **Vidéos connexes :** 
+  [Amazon EC2 foundations (CMP211-R2)](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2 (CMP202-R1)](https://www.youtube.com/watch?v=_dvh4P2FVbw) 
+  [Deliver high performance ML inference with AWS Inferentia (CMP324-R1)](https://www.youtube.com/watch?v=17r1EapAxpk) 
+  [Optimize performance and cost for your AWS compute (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system](https://www.youtube.com/watch?v=rUY-00yFlE4) 
+  [Comment choisir l'option de calcul pour les startups](https://aws.amazon.com/startups/start-building/how-to-choose-compute-option/) 
+  [Optimize performance and cost for your AWS compute (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 

 **Exemples connexes :** 
+  [Dimensionnement avec Compute Optimizer et activation de l'utilisation de la mémoire](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [Code de démonstration Optimiseur de calcul AWS](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF02-BP05 Utiliser l'élasticité des ressources disponible
<a name="perf_select_compute_elasticity"></a>

 Le cloud vous apporte la flexibilité dont vous avez besoin pour développer ou réduire vos ressources de manière dynamique via une grande variété de mécanismes afin de répondre aux fluctuations de la demande. En prenant en compte les métriques liées au calcul, vous pouvez faire en sorte qu'une charge de travail réagisse automatiquement à ces fluctuations et utilise les ressources optimales pour atteindre son objectif. 

 L'équilibre optimal de l'offre et de la demande donne lieu aux coûts les plus bas pour une charge de travail, mais vous devez également planifier une offre suffisante pour compenser les délais de mise en service et les panne de ressources individuelles. La demande peut être fixe ou variable, et nécessiter des métriques et des automatisations afin de s'assurer que la gestion ne devient pas un coût important et disproportionné. 

 Dans AWS, vous pouvez utiliser plusieurs approches pour adapter l'offre à la demande. Le livre blanc Pilier Optimisation des coûts décrit comment utiliser les approches suivantes en matière de coût : 
+  Approche basée sur la demande 
+  Approche basée sur la mise en attente 
+  Approche basée sur le temps 

 Vous devez vous assurer que les déploiements de charge de travail peuvent gérer les événements de mise à l'échelle ascendante et descendante. Créez des scénarios de test pour les événements de diminution de charge de travail afin de vous assurer que cette dernière se comporte comme prévu. 

 **Anti-modèles courants :** 
+  Vous réagissez aux alertes en augmentant manuellement la capacité. 
+  Vous conservez une capacité accrue après un événement de mise à l'échelle au lieu de la réduire. 

 **Avantages liés au respect de cette bonne pratique :** La configuration et le test de l'élasticité de la charge de travail permettent de réaliser des économies, de gérer des points de référence des performances et d'améliorer la fiabilité à mesure que le trafic change. La plupart des instances non liées à la production devraient être arrêtées lorsqu'elles ne sont pas utilisées. Quoique possible, l'arrêt manuel des instances inutilisées n'est pas pratique à des échelles plus importantes. Vous pouvez également tirer parti de l'élasticité basée sur le volume, qui vous permet d'optimiser les performances et les coûts en augmentant automatiquement le nombre d'instances de calcul pendant les pics de demande et en réduisant la capacité lorsque la demande diminue. 

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

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

 Tirer parti de l'élasticité : l'élasticité fait référence aux ressources disponibles par rapport à la demande pour ces ressources. Les instances, les conteneurs et les fonctions fournissent les mécanismes pour l'élasticité soit en combinaison avec la mise à l'échelle automatique, soit en tant que fonction du service. Utilisez l'élasticité dans votre architecture afin de vous assurer que vous disposez d'une capacité suffisante pour répondre aux exigences de performances à toutes les échelles d'utilisation. Assurez-vous que les métriques de l'augmentation ou de la diminution des ressources Elastic sont validées par rapport au type de charge de travail déployée. Si vous déployez une application de transcodage vidéo, une utilisation de 100 % du processeur est attendue. N'en faites pas votre métrique principale. Une alternative consiste à mesurer la longueur de la file d'attente des tâches de transcodage en attente pour mettre à l'échelle vos types d'instances. Assurez-vous que les déploiements de charges de travail peuvent gérer à la fois les événements d'augmentation ou de diminution des charges de travail. Il est aussi essentiel de diminuer les composants de charges de travail en toute sécurité que d'augmenter les ressources lorsque la demande l'exige. Créez des scénarios de test pour les événements de diminution de charge de travail afin de vous assurer que cette dernière se comporte comme prévu. 

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

 **Documents connexes :** 
+  [Calcul sur le cloud avec AWS](https://aws.amazon.com/products/compute/) 
+  [Types d'instances EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [Conteneurs ECS : instances de conteneur Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Conteneurs EKS : composants master EKS](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) 
+  [Fonctions : configuration des fonctions Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) 
+  [Contrôle de l'état du processeur pour votre instance EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html) 

 **Vidéos connexes :** 
+  [Amazon EC2 foundations (CMP211-R2)](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2 (CMP202-R1)](https://www.youtube.com/watch?v=_dvh4P2FVbw) 
+  [Deliver high performance ML inference with AWS Inferentia (CMP324-R1)](https://www.youtube.com/watch?v=17r1EapAxpk) 
+  [Optimize performance and cost for your AWS compute (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system](https://www.youtube.com/watch?v=rUY-00yFlE4) 

 **Exemples connexes :** 
+  [Exemples de groupes Amazon EC2 Auto Scaling](https://github.com/aws-samples/amazon-ec2-auto-scaling-group-examples) 
+  [Tutoriels Amazon EFS](https://github.com/aws-samples/amazon-efs-tutorial) 

# PERF02-BP06 Réévaluer les besoins de calcul en fonction des métriques
<a name="perf_select_compute_use_metrics"></a>

 Utilisez les métriques au niveau du système pour identifier le comportement et les exigences de votre charge de travail au fil du temps. Évaluez les besoins de votre charge de travail en comparant les ressources disponibles avec ces exigences et apportez des modifications à votre environnement de calcul pour le faire mieux correspondre au profil de votre charge de travail. Par exemple, au fil du temps, on peut observer chez un système une utilisation plus intensive de la mémoire qu'initialement prévue. Dans ces conditions, le passage à une autre famille ou taille d'instances peut améliorer les performances et l'efficacité. 

 **Anti-modèles courants :** 
+  Vous surveillez uniquement les métriques au niveau du système pour obtenir des informations sur votre charge de travail. 
+  Vous concevez l'architecture de vos besoins de calcul de sorte à répondre aux pics de charges de travail. 
+  Vous surdimensionnez la solution de calcul pour répondre aux exigences de mise à l'échelle ou de performances alors que l'utilisation d'une nouvelle solution de calcul correspondrait aux caractéristiques de votre charge de travail 

 **Avantages liés au respect de cette bonne pratique :** Pour optimiser les performances et l'utilisation des ressources, vous avez besoin d'une vue opérationnelle unifiée, de données granulaires en temps réel et d'une référence historique. Vous pouvez créer des tableaux de bord automatiques pour visualiser ces données et effectuer des calculs de métriques pour en tirer des informations opérationnelles et d'utilisation. 

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

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

 Adopter une approche basée sur les données pour optimiser les ressources : pour des performances et une efficacité maximales, utilisez les données historiques recueillies à partir de votre charge de travail afin d'ajuster et d'optimiser vos ressources. Examinez les tendances de l'utilisation des ressources actuelles par votre charge de travail et identifiez le niveau auquel vous pouvez apporter des modifications afin de mieux répondre aux besoins de votre charge de travail. Lorsque les ressources sont surexploitées, les performances du système se dégradent. De même, une sous-exploitation entraîne une utilisation moins efficace des ressources et des coûts élevés. 

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

 **Documents connexes :** 
+  [Calcul sur le cloud avec AWS ](https://aws.amazon.com/products/compute/?ref=wellarchitected) 
+  [Optimiseur de calcul AWS](https://aws.amazon.com/compute-optimizer/) 
+  [Calcul sur le cloud avec AWS](https://aws.amazon.com/products/compute/) 
+  [Types d'instances EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [Conteneurs ECS : instances de conteneur Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Conteneurs EKS : composants master EKS](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) 
+  [Fonctions : configuration des fonctions Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) 
+  [Contrôle de l'état du processeur pour votre instance EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html) 

 **Vidéos connexes :** 
+  [Amazon EC2 foundations (CMP211-R2)](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2 (CMP202-R1)](https://www.youtube.com/watch?v=_dvh4P2FVbw) 
+  [Deliver high performance ML inference with AWS Inferentia (CMP324-R1)](https://www.youtube.com/watch?v=17r1EapAxpk) 
+  [Optimize performance and cost for your AWS compute (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system](https://www.youtube.com/watch?v=rUY-00yFlE4) 

 **Exemples connexes :** 
+  [Dimensionnement avec Compute Optimizer et activation de l'utilisation de la mémoire](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [Code de démonstration Optimiseur de calcul AWS](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF 3  Comment sélectionner votre solution de stockage ?
<a name="w2aac19c11b5b9"></a>

 La solution de stockage optimale pour un système varie en fonction du type de méthode d'accès (bloc, fichier ou objet), des modèles d'accès (aléatoire ou séquentiel), du débit requis, de la fréquence d'accès (en ligne, hors ligne, l'archivage), de la fréquence de mise à jour (WORM, dynamique), et de la disponibilité et la durabilité des contraintes. Les systèmes bien architecturés utilisent plusieurs solutions de stockage et autorisent différentes fonctions pour améliorer les performances et utiliser efficacement les ressources. 

**Topics**
+ [

# PERF03-BP01 Comprendre les exigences et les caractéristiques de stockage
](perf_right_storage_solution_understand_char.md)
+ [

# PERF03-BP02 Évaluer les options de configuration disponibles
](perf_right_storage_solution_evaluated_options.md)
+ [

# PERF03-BP03 Prendre des décisions sur la base des métriques et des modèles d'accès
](perf_right_storage_solution_optimize_patterns.md)

# PERF03-BP01 Comprendre les exigences et les caractéristiques de stockage
<a name="perf_right_storage_solution_understand_char"></a>

 Identifiez et documentez les besoins en stockage de la charge de travail et définissez les caractéristiques de stockage de chaque emplacement. Les exemples de caractéristiques de stockage incluent : le partage d'accès, la taille des fichiers, le taux de croissance, le débit, les IOPS, la latence, les modèles d'accès et la persistance des données. Utilisez ces caractéristiques pour évaluer si les services de stockage par blocs, de fichiers, d'objets ou d'instances sont les solutions les plus efficaces pour vos besoins en stockage. 

 **Résultat souhaité :** Identifiez et documentez les exigences en stockage par exigence de stockage et évaluez les solutions de stockage disponibles. En se basant sur les principales caractéristiques de stockage, votre équipe comprendra en quoi les services de stockage sélectionnés sont avantageux pour les performances de vos charge de travail. Les critères clés incluent les modèles d'accès aux données, le taux de croissance, les besoins de mise à l'échelle et les exigences de latence. 

 **Anti-modèles courants :** 
+  Vous n'utilisez qu'un seul type de stockage, comme Amazon Elastic Block Store (Amazon EBS), pour toutes les charges de travail. 
+  Vous supposez que toutes les charges de travail ont des exigences de performances d'accès au stockage similaires. 

 **Avantages liés au respect de cette bonne pratique :** le fait de sélectionner la solution de stockage en fonction des caractéristiques identifiées et requises permettra d'améliorer les performances de vos charges de travail, de baisser les coûts et de réduire vos efforts opérationnels pour maintenir vos charges de travail. Les performances de vos charges de travail profiteront de la solution, de la configuration et de l'emplacement du service de stockage. 

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

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

 Identifiez les métriques de performances de stockage les plus importantes de votre charge de travail et utilisez la définition de points de référence et les tests de charge pour implémenter des améliorations dans le cadre d'une approche axée sur les données. Utilisez ces données pour identifier les limites de votre solution de stockage et examinez les options de configuration pour améliorer la solution. Déterminez le taux de développement attendu pour votre charge de travail et choisissez une solution de stockage qui sera en adéquation avec ce taux. Examinez les offres de stockage AWS et identifiez la solution de stockage appropriée pour vos diverses charges de travail. La mise en service des solutions de stockage dans AWS augmente vos chances de tester les offres de stockage et de déterminer si elles sont adaptées aux besoins de vos charges de travail. 


| Service AWS | Principales caractéristiques | Cas d'utilisation courants | 
| --- | --- | --- | 
| Amazon S3 |  99,999999999 % de durabilité, croissance illimitée, accessible de n'importe où, plusieurs modèles de coûts basés sur l'accès et la résilience  |  Données d'application natives cloud, archivage de données, sauvegardes, analytique, lacs de données, hébergement de sites web statiques, données IoT   | 
| Amazon Glacier |  Latence de quelques secondes à plusieurs heures, croissance illimitée, coût le plus bas, stockage à long terme  |  Archivage des données, archives multimédia, conservation longue durée des sauvegardes.  | 
| Amazon EBS | Taille de stockage nécessitant gestion et surveillance, faible latence, stockage persistant, 99,8 % à 99,9 % de durabilité, majorité des types de volumes accessibles uniquement à partir d'une instance EC2. |  Applications de logiciel commercial, applications nécessitant des entrées/sorties importantes, bases de données relationnelles et NoSQL, sauvegarde et restauration  | 
| Stockage d'instances EC2 |  Taille de stockage prédéterminée, faible latence, stockage pas conservé, accessible uniquement à partir d'une instance EC2  |  Applications de logiciel commercial, applications nécessitant des entrées/sorties importantes, stockage de données en mémoire  | 
| Amazon EFS |  99,999999999 % de durabilité, croissance illimitée, accessible de plusieurs services de calcul  |  Applications modernisées partageant des fichiers sur plusieurs services de calcul, stockage de fichiers pour la mise à l'échelle des systèmes de gestion de contenu  | 
| Amazon FSx |  Prise en charge de quatre systèmes de fichiers (NetApp, OpenZFS, Windows File Server et Amazon FSx for Lustre), différents stockages disponibles par système de fichiers, accessible par plusieurs services de calcul  |  Charges de travail natives cloud, private cloud bursting, charges de travail migrées exigeant un système de fichiers spécifique, VMC, systèmes ERP, stockage et sauvegardes de fichiers sur site   | 
| Snow Family |  Appareils portables, chiffrement de 256 bits, point de terminaison NFS, calcul intégré, To de stockage  |  Migration des données vers le cloud, stockage et calcul dans des conditions sur site extrêmes, reprise après sinistre, collecte de données distante  | 
| AWS Storage Gateway |  Accès sur site à faible latence au stockage sauvegardé sur le cloud, cache sur site entièrement géré   |  Migrations des données sur site vers le cloud, remplissage des lacs de données cloud à partir des sources sur site, partage de fichiers modernisé.  | 

 **Étapes d'implémentation :** 

1. Utiliser le benchmarking ou charger des tests pour récupérer les principales caractéristiques de vos besoins en stockage. Les principales caractéristiques incluent : 

   1. Partage de stockage (quels composants accèdent à ce stockage) 

   1. Taux de croissance 

   1. débit 

   1. Latence 

   1. Taille d'E/S 

   1. Durabilité 

   1. Modèles d'accès (lectures ou écritures, fréquence, pics de charge ou cohérence) 

1. Identifier le type de solution de stockage capable de prendre en charge vos caractéristiques de stockage. 

   1. [Amazon S3](https://aws.amazon.com/s3/) est un service de stockage d'objets avec une capacité de mise à l'échelle illimitée, une haute disponibilité et plusieurs options d'accessibilité. Pour transférer des objets et accéder à des objets dans et en dehors d'Amazon S3, utilisez un service, tel que [Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration/) ou [Points d'accès](https://aws.amazon.com/s3/features/access-points/) pour prendre en charge votre emplacement, vos besoins en sécurité et les modèles d'accès. Utilisez la boîte à outils [recommandations de performances Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance-guidelines.html) pour vous aider à optimiser votre configuration Amazon S3 afin de répondre aux besoins de performances de vos charges de travail. 

   1. [Amazon Glacier](https://aws.amazon.com/s3/storage-classes/glacier/) est une classe de stockage d'Amazon S3 créée pour l'archivage de données. Choisissez parmi trois solutions d'archivage allant d'un accès en quelques millisecondes à un accès de 5 à 12 heures avec différentes options de coût et de sécurité. Amazon Glacier peut vous aider à répondre à vos exigences de performances en implémentant un cycle de vie des données capable de prendre en charge vos exigences métier et les caractéristiques des données. 

   1. [Amazon Elastic Block Store (Amazon EBS)](https://aws.amazon.com/ebs/) est un service de stockage par blocs hautes performances conçu pour Amazon Elastic Compute Cloud (Amazon EC2). Choisissez parmi des solutions [basées sur SSD ou HDD](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html) avec différentes caractéristiques qui donnent la priorité aux [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/provisioned-iops.html) ou [au débit](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hdd-vols.html). Les volumes EBS sont parfaitement bien adaptés aux charges de travail hautes performances, au stockage primaire pour les systèmes de fichiers, les bases de données ou les applications pouvant uniquement accéder aux systèmes en état attaché. 

   1. [Stockage d'instances Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) est semblable à Amazon EBS, car il s'attache à une instance Amazon EC2. Toutefois, le stockage d'instances est seulement un stockage temporaire qui devrait idéalement être utilisé comme tampon, cache ou autre contenu temporaire. Vous ne pouvez pas détacher un stockage d'instances, car toutes vos données seront perdues si l'instance s'arrête. Les stockages d'instances peuvent être utilisés pour les performances d'E/S élevées et les cas d'utilisation de faible latence dans lesquels les données ne doivent pas être conservées. 

   1. [Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) est un système de fichiers montable accessible par plusieurs types de solutions de calcul. Amazon EFS augmente et diminue automatiquement et est optimisé pour fournir de faibles latences. EFS offre [deux modes de configuration de performances](https://docs.aws.amazon.com/efs/latest/ug/performance.html) : polyvalent et E/S max. Le mode Polyvalent possède une latence de lecture inférieure à une milliseconde et une latence d'écriture de moins de 10 millisecondes. La fonctionnalité E/S max peut prendre en charge des milliers d'instances de calcul exigeant un système de fichiers partagé. Amazon EFS prend en charge [deux modes de débit](https://docs.aws.amazon.com/efs/latest/ug/managing-throughput.html) : en rafales et alloué. Une charge de travail connaissant un modèle de pic d'accès profitera du mode de débit en rafales, tandis qu'une charge de travail constamment élevée sera performante avec un mode de débit alloué. 

   1. [Amazon FSx](https://aws.amazon.com/fsx/) est basé sur les dernières solutions de calcul AWS pour prendre en charge quatre systèmes de fichiers fréquemment utilisés : NetApp ONTAP, OpenZFS, Windows File Serve et Lustre. [La latence, le débit et les IOPS Amazon FSx](https://aws.amazon.com/fsx/when-to-choose-fsx/) varient par système de fichiers et doivent être pris en compte lorsque vous sélectionnez le système de fichiers adapté aux besoins de vos charges de travail. 

   1. [AWS Snow Family](https://aws.amazon.com/snow/) sont des appareils de stockage et de calcul prenant en charge la migration des données en ligne et hors ligne vers le cloud ainsi que le stockage des données et le calcul sur site. Les appareils AWS Snow prennent en charge la collecte de grands volumes de données sur site, le traitement de ces données et la migration des données vers le cloud. Il existe plusieurs [bonnes pratiques documentées sur les performances](https://docs.aws.amazon.com/snowball/latest/developer-guide/performance.html) en matière de nombre de fichiers, de tailles de fichiers et de compression. 

   1. [AWS Storage Gateway](https://aws.amazon.com/storagegateway/) fournit aux applications sur site un accès au stockage basé sur le cloud. AWS Storage Gateway prend en charge plusieurs services de stockage cloud dont Amazon S3, Amazon Glacier, Amazon FSx et Amazon EBS. Il prend en charge différents protocoles tels que iSCSI, SMB et NFS. Il fournit des performances de faible latence en mettant en cache sur site les données fréquemment lues et envoie uniquement les données modifiées et compressées vers AWS. 

1. Après avoir testé votre nouvelle solution de stockage et identifié la configuration optimale, planifier votre migration et valider vos métriques de performance. Il s'agit d'un processus continu qui devrait être réévalué en cas de modification des principales caractéristiques ou des services et options disponibles. 

 **Niveau d'effort du plan d'implémentation : **Si une charge de travail passe d'une solution de stockage à une autre, il peut y avoir un niveau d'effort *modéré* lors de la refactorisation de l'application.   

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

 **Documents connexes :** 
+  [Types de volume Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Stockage Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS : Amazon EFS Performance](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Amazon FSx for Lustre Performance](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Amazon FSx for Windows File Server Performance](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+ [Amazon FSx for NetApp ONTAP Performance](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/performance.html)
+ [Amazon FSx for OpenZFS Performance](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html)
+  [Amazon Glacier : documentation Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3 : directives en matière de débit de demandes et de performances](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Stockage cloud avec AWS](https://aws.amazon.com/products/storage/) 
+ [AWS Snow Family](https://aws.amazon.com/snow/#Feature_comparison)
+  [Caractéristiques d'E/S EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 

 **Vidéos connexes :** 
+  [Deep dive on Amazon EBS (STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Optimize your storage performance with Amazon S3 (STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **Exemples connexes :** 
+  [Pilote CSI Amazon EFS](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Pilote CSI Amazon EBS](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Utilitaires Amazon EFS](https://github.com/aws/efs-utils) 
+  [Amazon EBS Autoscale](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Exemples Amazon S3](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 
+ [Pilote d'interface de stockage de conteneur (CSI) Amazon FSx for Lustre](https://github.com/kubernetes-sigs/aws-fsx-csi-driver)

# PERF03-BP02 Évaluer les options de configuration disponibles
<a name="perf_right_storage_solution_evaluated_options"></a>

 Évaluez les différentes caractéristiques, options de configuration, ainsi que leur impact sur le stockage. Comprenez où et comment utiliser les IOPS provisionnés, les disques SSD, le stockage magnétique, le stockage d'objets, le stockage d'archives ou le stockage éphémère pour optimiser l'espace de stockage et les performances de votre charge de travail. 

 [Amazon EBS](https://aws.amazon.com/ebs) propose un large éventail d'options qui permettent d'optimiser les performances de stockage et le coût de votre charge de travail. Ces options sont divisées en deux catégories principales : le stockage sur disque SSD pour les charges de travail transactionnelles, comme les bases de données et les volumes de démarrage (les performances dépendent principalement des IOPS) et le stockage sur disque dur pour les charges de travail à débit élevé comme MapReduce et le traitement des journaux (les performances dépendent principalement du débit en Mo/s). 

 Les volumes sur disque SSD comprennent les disques SSD à IOPS provisionnés offrant les plus hautes performances possible pour les charges de travail transactionnelles sensibles à la latence et des disques SSD à usage général qui offrent un bon rapport prix/performances pour un large éventail de données transactionnelles. 

 [Amazon S3 Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration/) permet de transférer rapidement des fichiers sur de longues distances entre votre client et votre compartiment S3. Transfer Acceleration tire parti des emplacements périphériques répartis à l'international d'Amazon CloudFront afin d'acheminer les données sur un chemin de réseau optimisé. Pour une charge de travail dans un compartiment S3 avec des demandes GET intensives, utilisez Amazon S3 avec CloudFront. Lorsque vous chargez des fichiers volumineux, utilisez des chargements partitionnés, avec plusieurs parties chargées simultanément pour optimiser le débit réseau. 

 [Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) fournit un système de fichiers élastique entièrement géré, simple et évolutif en vue d'une utilisation avec des services AWS Cloud et des ressources sur site. Pour prendre en charge une grande variété de charges de travail de stockage dans le cloud, Amazon EFS propose deux modes de performances : le mode de performances à usage général et le mode de performances E/S maximales. Vous avez également le choix entre deux modes de débit pour votre système de fichiers : Débit en rafales et Débit alloué. Pour déterminer les paramètres à utiliser pour votre charge de travail, consultez le [Guide de l'utilisateur Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/performance.html). 

 [Amazon FSx](https://aws.amazon.com/fsx/) propose quatre systèmes de fichiers : [Amazon FSx for Windows File Server](https://aws.amazon.com/fsx/windows/) pour les charges de travail d'entreprise, [Amazon FSx for Lustre](https://aws.amazon.com/fsx/lustre/) pour les charges de travail hautes performances, [Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/index.html) pour le système de fichiers ONTAP populaire de NetApp et [Amazon FSx for OpenZFS](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) pour les serveurs de fichiers basés sur Linux. FSx est basé sur SSD et est conçu pour fournir des performances rapides, prévisibles, évolutives et constantes. Les systèmes de fichiers Amazon FSx offrent des vitesses de lecture et d'écriture élevées et un accès cohérent aux données à faible latence. Vous pouvez choisir le niveau de débit dont vous avez besoin pour répondre aux besoins de votre charge de travail. 

 **Anti-modèles courants :** 
+  Vous n'utilisez qu'un seul type de stockage (comme Amazon EBS) pour toutes les charges de travail. 
+  Vous utilisez les IOPS provisionnées pour toutes les charges de travail sans effectuer de test en situation réelle sur tous les niveaux de stockage. 
+  Vous supposez que toutes les charges de travail ont des exigences de performances d'accès au stockage similaires. 

 **Avantages liés au respect de cette bonne pratique :** L'évaluation de toutes les options de service de stockage peut réduire le coût de l'infrastructure et les efforts nécessaires pour maintenir vos charges de travail. Cela peut potentiellement accélérer votre délai de mise sur le marché pour ce qui concerne le déploiement de nouveaux services et fonctions. 

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

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

 Déterminer les caractéristiques de stockage : lorsque vous évaluez une solution de stockage, identifiez les caractéristiques dont vous avez besoin : possibilité de partage, taille des fichiers, taille de la mémoire cache, latence, débit et persistance des données. Faites ensuite correspondre vos exigences au service AWS le plus adapté à vos besoins. 

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

 **Documents connexes :** 
+  [Stockage cloud avec AWS](https://aws.amazon.com/products/storage/?ref=wellarchitected) 
+  [Types de volume Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Stockage Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS : Amazon EFS Performance](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Amazon FSx for Lustre Performance](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Amazon FSx for Windows File Server Performance](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+  [Amazon Glacier : documentation Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3 : directives en matière de débit de demandes et de performances](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Stockage cloud avec AWS](https://aws.amazon.com/products/storage/) 
+  [Stockage cloud avec AWS](https://aws.amazon.com/products/storage/?ref=wellarchitected) 
+  [Caractéristiques d'E/S EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 

 **Vidéos connexes :** 
+  [Deep dive on Amazon EBS (STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Optimize your storage performance with Amazon S3 (STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **Exemples connexes :** 
+  [Pilote CSI Amazon EFS](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Pilote CSI Amazon EBS](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Utilitaires Amazon EFS](https://github.com/aws/efs-utils) 
+  [Amazon EBS Autoscale](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Exemples Amazon S3](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 

# PERF03-BP03 Prendre des décisions sur la base des métriques et des modèles d'accès
<a name="perf_right_storage_solution_optimize_patterns"></a>

 Choisissez des systèmes de stockage en fonction des modèles d'accès de votre charge de travail et configurez-les en identifiant la façon dont la charge de travail accède aux données. Augmentez l'efficacité du stockage en choisissant le stockage d'objets plutôt que le stockage par blocs. Configurez les options de stockage que vous choisissez en fonction de vos habitudes d'accès aux données. 

 La manière dont vous accédez aux données a un impact sur les performances de votre solution de stockage. Sélectionnez la solution de stockage qui correspond le mieux à vos modèles d'accès, ou modifiez vos modèles d'accès en fonction de la solution de stockage pour optimiser les performances. 

 La création d'une matrice RAID 0 permet d'obtenir un niveau de performances plus élevé pour un système de fichiers que sur un volume unique. Envisagez d'utiliser RAID 0 lorsque les performances d'E/S ont plus d'importance que la tolérance aux pannes. Par exemple, vous pouvez l'utiliser avec une base de données très sollicitée où la réplication de données est déjà configurée séparément. 

 Sélectionnez les métriques de stockage appropriées pour votre charge de travail dans toutes les solutions de stockage consommées pour la charge de travail. Lorsque vous utilisez des systèmes de fichiers qui utilisent des crédits en rafales, créez des alarmes pour vous avertir lorsque vous approchez de ces limites de crédits. Vous devez créer des tableaux de bord de stockage pour afficher l'état global du stockage de la charge de travail. 

 Pour les systèmes de stockage dont la taille est fixe, tels qu'Amazon EBS ou Amazon FSx, veillez à surveiller la quantité de stockage utilisée par rapport à la taille de stockage globale et créez une automatisation si possible pour augmenter la taille de stockage lorsque vous atteignez un seuil. 

 **Anti-modèles courants :** 
+  Vous supposez que les performances de stockage sont adéquates si les clients ne se plaignent pas. 
+  Vous n'utilisez qu'une seule offre de stockage, en supposant que toutes les charges de travail en font partie. 

 **Avantages liés au respect de cette bonne pratique :** Vous avez besoin d'une vue opérationnelle unifiée, de données granulaires en temps réel et d'une référence historique pour optimiser les performances et l'utilisation des ressources. Vous pouvez créer des tableaux de bord et des données automatiques avec une granularité d'une seconde pour effectuer des calculs de métriques sur vos données et obtenir des informations opérationnelles et d'utilisation pour vos besoins de stockage. 

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

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

 Optimiser l'utilisation de votre stockage et les modèles d'accès : choisissez des systèmes de stockage en fonction des modèles d'accès de votre charge de travail et des caractéristiques des options de stockage disponibles. Déterminez le meilleur emplacement pour stocker des données qui vous permettent de répondre à vos besoins tout en réduisant les frais généraux. Utilisez l'optimisation des performances et des modèles d'accès lors de la configuration et de l'interaction avec les données en fonction des caractéristiques de votre stockage (par exemple, agrégation des volumes ou partitionnement des données). 

 Sélectionner les métriques appropriées pour les options de stockage : veillez à sélectionner les métriques de stockage appropriées pour la charge de travail. Chaque option de stockage propose différentes métriques de suivi des performances de votre charge de travail au fil du temps. Assurez-vous que vos mesures se font par rapport à des métriques de stockage de systèmes à taille extensibles (par exemple, surveillance des crédits de transmission en rafales pour Amazon EFS). Pour les systèmes de stockage à taille fixe comme Amazon Elastic Block Store ou Amazon FSx, surveillez la quantité de stockage utilisée par rapport à la taille de stockage globale. Créez l'automatisation lorsque cela est possible pour augmenter la taille de stockage lorsque vous atteignez un seuil donné. 

 Surveiller les métriques : Amazon CloudWatch peut récupérer des métriques à partir des ressources de votre architecture. Vous pouvez également récupérer et publier des métriques personnalisées pour faire apparaître des métriques d'entreprise ou des métriques dérivées. Utilisez CloudWatch ou des solutions tierces pour définir des alarmes qui indiquent les dépassements de seuils. 

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

 **Documents connexes :** 
+  [Types de volume Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Stockage Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS : Amazon EFS Performance](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Amazon FSx for Lustre Performance](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Amazon FSx for Windows File Server Performance](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+  [Amazon Glacier : documentation Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3 : directives en matière de débit de demandes et de performances](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Stockage cloud avec AWS](https://aws.amazon.com/products/storage/) 
+  [Caractéristiques d'E/S EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 
+  [Surveiller et comprendre les performances Amazon EBS à l'aide d'Amazon CloudWatch](https://aws.amazon.com/blogs/storage/valuable-tips-for-monitoring-and-understanding-amazon-ebs-performance-using-amazon-cloudwatch/) 

 **Vidéos connexes :** 
+  [Deep dive on Amazon EBS (STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Optimize your storage performance with Amazon S3 (STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **Exemples connexes :** 
+  [Pilote CSI Amazon EFS](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Pilote CSI Amazon EBS](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Utilitaires Amazon EFS](https://github.com/aws/efs-utils) 
+  [Amazon EBS Autoscale](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Exemples Amazon S3](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 

# PERF 4  Comment sélectionner votre solution de bases de données ?
<a name="w2aac19c11b5c11"></a>

 La solution de base de données optimale pour un système varie en fonction des exigences de cohérence, de disponibilité, de tolérance des partitions, de latence, de durabilité, d'évolutivité et de capacités de requête. De nombreux systèmes utilisent des solutions de base de données différentes pour divers sous-systèmes et activent des fonctionnalités distinctes pour améliorer les performances. La sélection d'une solution de base de données et de fonctionnalités incorrectes pour un système peut conduire à une efficacité moindre des performances. 

**Topics**
+ [

# PERF04-BP01 Comprendre les caractéristiques des données
](perf_right_database_solution_understand_char.md)
+ [

# PERF04-BP02 Évaluer les options disponibles
](perf_right_database_solution_evaluate_options.md)
+ [

# PERF04-BP03 Collecter et archiver les métriques de performance de la base de données
](perf_right_database_solution_collect_metrics.md)
+ [

# PERF04-BP04 Choisir le stockage de données en fonction des modèles d'accès
](perf_right_database_solution_access_patterns.md)
+ [

# PERF04-BP05 Optimiser le stockage de données en fonction des métriques et des modèles d'accès
](perf_right_database_solution_optimize_metrics.md)

# PERF04-BP01 Comprendre les caractéristiques des données
<a name="perf_right_database_solution_understand_char"></a>

 Choisissez vos solutions de gestion des données pour qu'elles correspondent de manière optimale aux caractéristiques, aux modèles d'accès et aux exigences des jeux de données de votre charge de travail. Lors de la sélection et de la mise en œuvre d'une solution de gestion des données, vous devez vous assurer que les caractéristiques d'interrogation, de mise à l'échelle et de stockage prennent en charge les exigences de données de votre charge de travail. Découvrez dans quelle mesure les différentes options de base de données correspondent à vos modèles de données et quelles options de configuration conviennent le mieux à votre cas d'utilisation.  

 AWS fournit de nombreux moteurs de base de données dédiés, y compris des bases de données relationnelles, de valeurs-clés, de documents, en mémoire, graphiques, de séries chronologiques et de registre. Chaque solution de gestion de données propose des options et des configurations pour prendre en charge vos cas d'utilisation et vos modèles de données. Il se peut que votre charge de travail fonctionne avec plusieurs solutions de base de données différentes, selon les caractéristiques des données. En sélectionnant les solutions de base de données les plus adaptées à un problème spécifique, vous vous éloignez des bases de données monolithiques qui offrent une approche universelle restrictive et se concentrent sur la gestion des données pour répondre aux besoins de votre client. 

 **Résultat souhaité :** Les caractéristiques des données de charge de travail sont documentées avec suffisamment de détails pour permettre la sélection et la configuration des solutions de base de données sous-jacentes et fournir un aperçu des alternatives potentielles. 

 **Anti-modèles courants :** 
+  Ne pas envisager des moyens de segmenter les grands jeux de données en plus petites collections de données ayant des caractéristiques similaires, ce qui empêche d'utiliser des bases de données plus spécialisées qui correspondent mieux aux caractéristiques des données et à leur croissance. 
+  Ne pas identifier les modèles d'accès aux données à l'avance, ce qui entraîne des retouches coûteuses et complexes par la suite. 
+  Limiter la croissance en utilisant des stratégies de stockage de données qui ne s'adaptent pas assez rapidement. 
+  Choisir un seul type de base de données et un seul fournisseur pour toutes les charges de travail. 
+  S'en tenir à une solution de base de données, car l'équipe interne sait comment tirer parti de ce type particulier de solution. 
+  Conserver une solution de base de données, car elle fonctionnait bien dans un environnement sur site. 

 **Avantages liés au respect de cette bonne pratique :** Connaître toutes les solutions de base de données AWS afin de pouvoir identifier celle qui est adéquate pour vos différentes charges de travail. Une fois que vous avez sélectionné la solution de base de données appropriée pour votre charge de travail, vous pouvez tester rapidement chacune de ces offres de base de données pour savoir si elles demeurent pertinentes pour vos besoins en matière de charge de travail. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Débit 
+  Les économies de coûts potentielles peuvent ne pas être identifiées. 
+  Les données peuvent ne pas être sécurisées au niveau requis. 
+  L'accès aux données et les performances de stockage peuvent ne pas être optimaux. 

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

 Définissez les caractéristiques des données et les modèles d'accès de votre charge de travail. Passez en revue toutes les solutions de base de données disponibles pour identifier celle qui répond à vos besoins en matière de données. Plusieurs bases de données peuvent être sélectionnées pour une charge de travail spécifique. Évaluez chaque service ou groupe de services individuellement. Si d'autres solutions potentielles de gestion des données sont identifiées pour une partie ou la totalité des données, expérimentez d'autres implémentations susceptibles de vous faire bénéficier d'avantages supplémentaires en termes de coût, de sécurité, de performances et de fiabilité. Mettez à jour la documentation existante, si une nouvelle approche de gestion des données est adoptée. 


|  **Type**  |  **Services AWS**  |  **Caractéristiques clés**  |  **Cas d'utilisation courants**  | 
| --- | --- | --- | --- | 
|  Relationnel  |  Amazon RDS, Amazon Aurora  |  Intégrité référentielle, transactions ACID, Schema-On-Write  |  ERP, CRM, logiciels commerciaux prêts à l'emploi  | 
|  Clé-valeur  |  Amazon DynamoDB  |  Haut débit, faible latence, évolutivité quasi infinie  |  Paniers d'achat (commerce électronique), catalogues de produits, applications de chat  | 
|  Documents  |  Amazon DocumentDB  |  Stockage de documents JSON et requêtes portant sur n'importe quel attribut  |  Gestion de contenu (CMS), profils clients, applications mobiles  | 
|  En mémoire  |  Amazon ElastiCache, Amazon MemoryDB  |  Latence de l'ordre de la microseconde  |  Mise en cache, classements de joueurs en ligne  | 
|  Graphes  |  Amazon Neptune  |  Données hautement relationnelles où les relations entre les données ont un sens  |  Réseaux sociaux, moteurs de personnalisation, détection des fraudes  | 
|  Série chronologique  |  Amazon Timestream  |  Données dont la dimension principale est le temps  |  DevOps, IoT, surveillance  | 
|  Larges colonnes  |  Amazon Keyspaces  |  Charges de travail Cassandra  |  Maintenance des équipements industriels, optimisation des itinéraires  | 
|  Registre  |  Amazon QLDB  |  Registre des changements immuable et cryptographiquement vérifiable  |  Systèmes d'enregistrement, santé, chaînes d'approvisionnement, institutions financières  | 

 **Étapes d'implémentation** 

1.  Comment les données sont-elles structurées (par exemple, non structurées, clé-valeur, semi-structurées, relationnelles) ? 

   1.  Si les données ne sont pas structurées, envisagez un stockage d'objets comme [Amazon S3](https://aws.amazon.com/products/storage/data-lake-storage/) ou une base de données NoSQL telle qu' [Amazon DocumentDB.](https://aws.amazon.com/documentdb/) 

   1.  Pour les données clé-valeur, envisagez [DynamoDB](https://aws.amazon.com/documentdb/), [ElastiCache for Redis](https://aws.amazon.com/elasticache/redis/) ou [MemoryDB.](https://aws.amazon.com/memorydb/) 

   1.  Si les données ont une structure relationnelle, quel niveau d'intégrité référentielle est requis ? 

      1.  Pour les contraintes de clé étrangère, les bases de données relationnelles comme [Amazon RDS](https://aws.amazon.com/rds/) et [Aurora](https://aws.amazon.com/rds/aurora/) peuvent fournir ce niveau d'intégrité. 

      1.  En règle générale, dans un modèle de données NoSQL, vous dénormalisez les données en un seul document ou en une collection de documents à récupérer en une seule requête au lieu de joindre des documents ou des tables.  

1.  La conformité ACID (atomicité, cohérence, isolement, durabilité) est-elle requise ? 

   1.  Si les propriétés ACID associées aux bases de données relationnelles sont requises, envisagez une base de données relationnelle comme [Amazon RDS](https://aws.amazon.com/rds/) et [Aurora.](https://aws.amazon.com/rds/aurora/) 

1.  Quel modèle de cohérence est requis ? 

   1.  Si votre application peut tolérer une cohérence éventuelle, envisagez une implémentation NoSQL. Passez en revue les autres caractéristiques pour choisir [la base de données NoSQL](https://aws.amazon.com/nosql/) la plus appropriée. 

   1.  Si une cohérence forte est requise, vous pouvez utiliser des lectures fortement cohérentes avec [DynamoDB](https://aws.amazon.com/documentdb/) ou une base de données relationnelle comme [Amazon RDS](https://aws.amazon.com/rds/). 

1.  Quels formats de requête et de résultat doivent être pris en charge (par exemple, SQL, CSV, Parque, Avro, JSON, etc.) ? 

1.  Quels types de données, tailles de champ et quantités globales sont présents (par exemple, texte, numérique, spatial, série temporelle calculée, binaire ou blob, document) ? 

1.  Comment les exigences de stockage vont-elles évoluer au fil du temps ? Comment cela affectera-t-il l'évolutivité ? 

   1.  Les bases de données sans serveur comme [DynamoDB](https://aws.amazon.com/documentdb/) et [Amazon Quantum Ledger Database](https://aws.amazon.com/qldb/) évoluent dynamiquement jusqu'à un stockage quasi illimité. 

   1.  Les bases de données relationnelles ont des limites supérieures sur le stockage alloué et doivent souvent être partitionnées horizontalement via des mécanismes tels que le partitionnement une fois qu'elles atteignent ces limites. 

1.  Quelle est la proportion de requêtes en lecture par rapport aux requêtes en écriture ? La mise en cache pourrait-elle améliorer les performances ? 

   1.  Les charges de travail à lecture intensive peuvent bénéficier d'une couche de mise en cache, comme [ElastiCache](https://aws.amazon.com/elasticache/) ou [DAX,](https://aws.amazon.com/dynamodb/dax/) si la base de données est DynamoDB. 

   1.  Les lectures peuvent également être déchargées pour lire des réplicas avec des bases de données relationnelles comme [Amazon RDS](https://aws.amazon.com/rds/). 

1.  Le stockage et la modification (OLTP - Online Transaction Processing) ou la récupération et le reporting (OLAP - Online Analytical Processing) ont-ils une priorité plus élevée ? 

   1.  Pour un traitement transactionnel à haut débit, envisagez une base de données NoSQL comme DynamoDB ou Amazon DocumentDB. 

   1.  Pour les requêtes analytiques, envisagez une base de données en colonnes comme [Amazon Redshift](https://aws.amazon.com/redshift/) ou exportez les données vers Amazon S3 et effectuez des analyses à l'aide d' [Athena](https://aws.amazon.com/athena/) ou [QuickSight.](https://aws.amazon.com/quicksight/) 

1.  Ces données sont-elles sensibles et quel niveau de protection et de chiffrement nécessitent-elles ? 

   1.  Tous les moteurs Amazon RDS et Aurora prennent en charge le chiffrement des données au repos via AWS KMS. Microsoft SQL Server et Oracle prennent également en charge le chiffrement de données transparent (TDE) natif lors de l'utilisation de Amazon RDS. 

   1.  Pour DynamoDB, vous pouvez utiliser un contrôle d'accès précis avec [IAM](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-overview.html) pour contrôler qui a accès à quelles données au niveau de la clé. 

1.  Quel est le niveau de durabilité requis pour les données ? 

   1.  Aurora réplique automatiquement vos données sur trois zones de disponibilité au sein d'une région. Autrement dit, vos données sont très durables avec moins de risque de perte de données. 

   1.  DynamoDB est automatiquement répliqué sur plusieurs zones de disponibilité, assurant ainsi la haute disponibilité et la durabilité des données. 

   1.  Amazon S3 fournit une durabilité de 99,999999999 %. De nombreux services de base de données comme Amazon RDS et DynamoDB prennent en charge l'exportation de données vers Amazon S3 pour une conservation et un archivage à long terme. 

1.  Les exigences [d'objectif de temps de récupération (RTO) ou d'objectifs de point de récupération (RPO)](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/plan-for-disaster-recovery-dr.html) ont-elles une incidence sur la solution ? 

   1.  Amazon RDS, Aurora, DynamoDB, Amazon DocumentDB, et Neptune prennent tous en charge la récupération ponctuelle, ainsi que la sauvegarde et la restauration à la demande.  

   1.  Pour les exigences de haute disponibilité, les tables DynamoDB peuvent être répliquées globalement à l'aide de la fonction de [tables globales,](https://aws.amazon.com/dynamodb/global-tables/) et les clusters Aurora les clusters peuvent être répliqués sur plusieurs régions à l'aide de la fonction de base de données globale. De plus, les compartiments S3 peuvent être répliqués dans les Régions AWS à l'aide de la réplication entre régions.  

1.  Souhaitez-vous vous éloigner des moteurs de base de données commerciaux/des coûts de licence ? 

   1.  Envisagez des moteurs open source tels que PostgreSQL et MySQL sur Amazon RDS ou Aurora. 

   1.  Exploitez [AWS DMS](https://aws.amazon.com/dms/) et [AWS SCT](https://aws.amazon.com/dms/schema-conversion-tool/) pour passer des moteurs de bases de données commerciaux vers des moteurs open source. 

1.  Qu'attendez-vous de la base de données du point de vue opérationnel ? Le passage aux services gérés est-il une préoccupation majeure ? 

   1.  L'utilisation de Amazon RDS au lieu d'Amazon EC2 et de DynamoDB ou d'Amazon DocumentDB au lieu de l'auto-hébergement d'une base de données NoSQL contribue à réduire les frais généraux opérationnels. 

1.  Comment accédez-vous actuellement à la base de données ? S'agit-il uniquement d'un accès via une application, ou y a-t-il des utilisateurs BI et d'autres applications prêtes à l'emploi qui y sont connectées ? 

   1.  Si vous dépendez d'outils externes, vous devrez peut-être préserver la compatibilité avec les bases de données qu'ils prennent en charge. Amazon RDS est entièrement compatible avec les différentes versions de moteur qu'il prend en charge, notamment Microsoft SQL Server, Oracle, MySQL et PostgreSQL. 

1.  Voici une liste de services de gestion de données potentiels et des cas d'utilisation les plus adaptés : 

   1.  Les bases de données relationnelles stockent des données avec des schémas prédéfinis et des relations mutuelles. Ces bases de données sont conçues pour prendre en charge les transactions ACID (atomicité, cohérence, isolation et durabilité) et maintenir l'intégrité référentielle et la cohérence des données. De nombreuses applications traditionnelles, la planification des ressources d'entreprise (ERP), la gestion de la relation client (CRM) et l'e-commerce utilisent des bases de données relationnelles pour stocker leurs données. Vous pouvez exécuter un grand nombre de ces moteurs de base de données sur Amazon EC2 ou choisir parmi l'un des [services de base de données gérés par AWS](https://aws.amazon.com/products/databases/) : [Amazon Aurora](https://aws.amazon.com/rds/aurora), [Amazon RDS](https://aws.amazon.com/rds)et [Amazon Redshift](https://aws.amazon.com/redshift). 

   1.  Les bases de données de valeurs-clés sont optimisées pour les modèles d'accès courants, généralement pour stocker et récupérer de gros volumes de données. Ces bases de données fournissent des temps de réponse rapides, même en cas de volumes extrêmes de demandes simultanées. Les applications Web à trafic élevé, les systèmes d'e-commerce et les applications de jeu sont des cas d'utilisation typiques pour les bases de données de valeurs-clés. Dans AWS, vous pouvez utiliser [Amazon DynamoDB](https://aws.amazon.com/dynamodb/), une base de données durable, multi-région et multi-maître entièrement gérée, dotée d'une sécurité intégrée, d'une sauvegarde et d'une restauration, ainsi que d'une mise en cache en mémoire pour les applications à l'échelle d'Internet. 

   1.  Les bases de données en mémoire sont utilisées pour les applications qui nécessitent un accès en temps réel aux données, la latence la plus faible et le débit le plus élevé. En stockant les données directement dans la mémoire, ces bases de données fournissent une latence en microsecondes aux applications pour lesquelles une latence en millisecondes n'est pas suffisante. Vous pouvez utiliser des bases de données en mémoire pour la mise en cache des applications, la gestion des sessions, les classements de jeux et les applications géospatiales. [Amazon ElastiCache](https://aws.amazon.com/elasticache/) est un magasin de données en mémoire entièrement géré, compatible avec [Redis](https://aws.amazon.com/elasticache/redis/) ou [Memcached](https://aws.amazon.com/elasticache/memcached). Dans le cas où les applications ont également des exigences de durabilité plus élevées, [Amazon MemoryDB for Redis](https://aws.amazon.com/memorydb/) offre cela en combinaison avec un service de base de données en mémoire durable pour des performances ultra-rapides. 

   1.  Les bases de données de documents sont conçues pour stocker des données semi-structurées sous forme de documents de type JSON. Ces bases de données aident les développeurs à créer et mettre à jour rapidement des applications telles que la gestion de contenu, les catalogues et les profils utilisateur. [Amazon DocumentDB](https://aws.amazon.com/documentdb/) est un service de base de données de documents rapide, évolutif, hautement disponible et entièrement géré, qui prend en charge les charges de travail MongoDB. 

   1.  Un magasin à colonnes larges est un type de base de données NoSQL. Il utilise des tables, des lignes et des colonnes, mais contrairement à une base de données relationnelle, les noms et le format des colonnes peuvent varier d'une ligne à l'autre dans la même table. Généralement, vous voyez un magasin de colonnes larges dans les applications industrielles à grande échelle pour la maintenance des équipements, la gestion des parcs et l'optimisation des itinéraires. [Amazon Keyspaces (pour Apache Cassandra)](https://aws.amazon.com/mcs/) est un service de base de données évolutif, hautement disponible et géré, compatible avec Apache Cassandra. 

   1.  Les bases de données de graphiques sont destinées aux applications qui doivent parcourir et interroger des millions de relations entre des ensembles de données graphiques hautement connectés avec une latence de millisecondes à grande échelle. De nombreuses entreprises utilisent des bases de données de graphiques pour la détection des fraudes, les réseaux sociaux et les moteurs de recommandation. [Amazon Neptune](https://aws.amazon.com/neptune/) est un service de base de données de graphiques rapide, fiable et entièrement géré qui facilite la création et l'exécution d'applications fonctionnant avec des ensembles de données hautement connectés. 

   1.  Les bases de données chronologiques collectent, synthétisent et extraient efficacement des informations à partir de données qui changent au fil du temps. Les applications IoT, les DevOps et la télémétrie industrielle peuvent utiliser des bases de données en séries chronologiques. [Amazon Timestream](https://aws.amazon.com/timestream/) est un service de base de données en séries chronologiques rapide, évolutif et entièrement géré pour l'IoT et les applications opérationnelles, qui facilite le stockage et l'analyse de milliards d'événements par jour. 

   1.  Les bases de données de registre fournissent une autorité centralisée et fiable pour conserver un enregistrement évolutif, immuable et vérifiable grâce au chiffrement des transactions pour chaque application. Il n'est pas rare de voir des bases de données de registre utilisées pour les systèmes d'enregistrement, la chaîne d'approvisionnement, les inscriptions et même les transactions bancaires. [Amazon Quantum Ledger Database (Amazon QLDB)](https://aws.amazon.com/qldb/) est une base de données de registre entièrement gérée qui fournit un journal des transactions transparent, immuable et vérifiable grâce au chiffrement appartenant à une autorité centrale de confiance. Amazon QLDB suit chaque modification des données d'application et tient à jour un historique complet et vérifiable des modifications au fil du temps. 

 **Niveau d'effort du plan d'implémentation : **Si une charge de travail passe d'une solution de de base de données à une autre, il peut y avoir un niveau d'effort *élevé* lors de la refactorisation des données et de l'application.   

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

 **Documents connexes :** 
+  [Bases de données cloud avec AWS ](https://aws.amazon.com/products/databases/?ref=wellarchitected) 
+  [Mise en cache de bases de données AWS ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [Amazon DynamoDB Accelerator ](https://aws.amazon.com/dynamodb/dax/?ref=wellarchitected) 
+  [Bonnes pratiques Amazon Aurora ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html?ref=wellarchitected) 
+  [Performances Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html?ref=wellarchitected) 
+  [Les 10 meilleures techniques pour améliorer les performances d'Amazon Athena ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [Bonnes pratiques Amazon Redshift Spectrum ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/?ref=wellarchitected) 
+  [Bonnes pratiques Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html?ref=wellarchitected) 
+  [Choisir entre EC2 et Amazon RDS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/comparison.html) 
+  [Bonnes pratiques d'implémentation pour Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.html) 

 **Vidéos connexes :** 
+ [AWS purpose-built databases (DAT209-L) ](https://www.youtube.com/watch?v=q81TVuV5u28) 
+ [Amazon Aurora storage demystified: How it all works (DAT309-R) ](https://www.youtube.com/watch?v=uaQEGLKtw54) 
+ [Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM) 

 **Exemples connexes :** 
+  [Optimiser le modèle de données à l'aide du partage de données Amazon Redshift](https://wellarchitectedlabs.com/sustainability/300_labs/300_optimize_data_pattern_using_redshift_data_sharing/) 
+  [Migrations des bases de données](https://github.com/aws-samples/aws-database-migration-samples) 
+  [Démonstration de réplication MS SQL Server - AWS Database Migration Service (DMS)](https://github.com/aws-samples/aws-dms-sql-server) 
+  [Atelier pratique sur la modernisation des bases de données](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [Exemples Amazon Neptune](https://github.com/aws-samples/amazon-neptune-samples) 

# PERF04-BP02 Évaluer les options disponibles
<a name="perf_right_database_solution_evaluate_options"></a>

 Identifiez les options de base de données disponibles et déterminez comment elles peuvent optimiser vos performances avant de sélectionner votre solution de gestion des données. À l'aide des tests de charge, identifiez les métriques de base de données qui sont essentiels à votre charge de travail. Pendant que vous explorez les options de base de données, tenez compte de divers aspects tels que les groupes de paramètres, les options de stockage, la mémoire, le calcul, le réplica en lecture, la cohérence éventuelle, le regroupement de connexions et les options de mise en cache. Testez ces différentes options de configuration pour améliorer les métriques. 

 **Résultat souhaité :** Une charge de travail peut utiliser une ou plusieurs solutions de base de données en fonction des types de données. La fonctionnalité et les avantages de la base de données correspondent de manière optimale aux caractéristiques des données, aux modèles d'accès et aux exigences de la charge de travail. Pour optimiser les performances et les coûts de votre base de données, vous devez évaluer les modèles d'accès aux données afin d'identifier les options de base de données appropriées. Évaluez les temps de requête acceptables pour vous assurer que les options de base de données sélectionnées répondent aux exigences. 

 **Anti-modèles courants :** 
+  Ne pas identifier les modèles d'accès aux données. 
+  Ne pas connaître les options de configuration de la solution de gestion de données que vous avez choisie. 
+  Se concentrer uniquement sur l'augmentation de la taille de l'instance sans examiner les autres options de configuration disponibles. 
+  Ne pas tester les caractéristiques de mise à l'échelle de la solution choisie. 

 

 **Avantages liés au respect de cette bonne pratique :** En explorant et en expérimentant les options de base de données, vous pourriez réduire le coût de l'infrastructure, améliorer les performances et l'évolutivité et réduire l'effort requis pour maintenir vos charges de travail. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Débit 
+  Devoir optimiser son infrastructure *pour une base de données universelle* signifie faire des compromis inutiles. 
+  Coûts plus élevés en raison de la non-configuration de la solution de base de données pour qu'elle corresponde aux modèles de trafic. 
+  Des problèmes opérationnels peuvent découler des problèmes de mise à l'échelle. 
+  Les données peuvent ne pas être sécurisées au niveau requis. 

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

 Comprenez les caractéristiques des données de votre charge de travail afin de pouvoir configurer vos options de base de données. Exécutez des tests de charge pour identifier les métriques clés de performance et les goulots d'étranglement. Utilisez ces caractéristiques et ces métriques pour évaluer les options de base de données et tester différentes configurations. 


|  Services AWS  |  Amazon RDS, Amazon Aurora  |  Amazon DynamoDB  |  Amazon DocumentDB  |  Amazon ElastiCache  |  Amazon Neptune  |  Amazon Timestream  |  Amazon Keyspaces  |  Amazon QLDB  | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | 
|  Mise à l'échelle du calcul  |  Augmentation de la taille de l'instance, les instances Aurora Serverless se mettent à l'échelle automatiquement en réponse aux changements de charge  |  Mise à l'échelle automatique en lecture/écriture avec mode « capacité à la demande » ou mise à l'échelle automatique de la capacité de lecture/écriture allouée en mode « capacité allouée »  |  Augmentez la taille de l'instance  |  Augmentation de la taille de l'instance, ajout de nœuds au cluster  |  Augmentez la taille de l'instance  |  Mise à l'échelle automatique pour ajuster la capacité  |  Mise à l'échelle automatique en lecture/écriture avec mode « capacité à la demande » ou mise à l'échelle automatique de la capacité de lecture/écriture allouée en mode « capacité allouée »  |  Mise à l'échelle automatique pour ajuster la capacité  | 
|  Mise à l'échelle verticale des lectures  |  Tous les moteurs prennent en charge les réplicas en lecture. Aurora prend en charge la mise à l'échelle automatique des instances de réplica en lecture  |  Augmentation des unités de capacité de lecture allouées  |  Réplicas en lecture  |  Réplicas en lecture  |  Réplicas en lecture. Prend en charge la mise à l'échelle automatique des instances de réplica en lecture  |  Mise à l'échelle automatique  |  Augmentation des unités de capacité de lecture allouées  |  Augmentation automatique jusqu'aux limites de simultanéité documentées  | 
|  Mise à l'échelle verticale des écritures  |  Augmentation la taille de l'instance, regroupement des écritures dans l'application ou ajout d'une file d'attente devant la base de données. Mise à l'échelle horizontale via le partitionnement au niveau de l'application sur plusieurs instances  |  Augmentation des unités de capacité d'écriture allouées Assurer une clé de partition optimale pour empêcher la limitation d'écriture au niveau de la partition  |  Augmentation de la taille de l'instance principale  |  Utilisation de Redis en mode cluster pour répartir les écritures sur les partitions  |  Augmentation de la taille de l'instance  |  Les demandes d'écriture peuvent être limitées lors de la mise à l'échelle. Si vous rencontrez des exceptions de limitation, continuez à envoyer des données au même débit (ou supérieur) pour une mise à l'échelle automatique. Écritures par lots pour réduire les demandes d'écriture simultanées  |  Augmentation des unités de capacité d'écriture allouées Assurer une clé de partition optimale pour empêcher la limitation d'écriture au niveau de la partition  |  Augmentation automatique jusqu'aux limites de simultanéité documentées  | 
|  Configuration du moteur  |  Groupes de paramètres  |  Ne s'applique pas  |  Groupes de paramètres  |  Groupes de paramètres  |  Groupes de paramètres  |  Ne s'applique pas  |  Ne s'applique pas  |  Ne s'applique pas  | 
|  Mise en cache  |  Mise en cache en mémoire, configurable via des groupes de paramètres. Association à un cache dédié tel qu'ElastiCache pour Redis pour décharger les demandes d'éléments fréquemment consultés  |  Cache entièrement géré DAX (DAX) disponible  |  Mise en cache en mémoire. Association à un cache dédié tel qu'ElastiCache pour Redis pour décharger les demandes d'éléments fréquemment consultés (facultatif)  |  La fonction principale est la mise en cache  |  Utilisation du cache des résultats de requête pour mettre en cache le résultat d'une requête en lecture seule  |  Timestream a deux niveaux de stockage ; l'un d'entre eux est un niveau de stockage en mémoire hautes performances  |  Déploiement d'un cache dédié tel qu'ElastiCache pour Redis pour décharger les demandes d'éléments fréquemment consultés  |  Ne s'applique pas  | 
|  Haute disponibilité et reprise après sinistre  |  La configuration recommandée pour les charges de travail de production consiste à exécuter une instance de secours dans une deuxième zone de disponibilité pour assurer la résilience au sein d'une région.  Pour la résilience entre les régions, Aurora Global Database peut être utilisé  |  Hautement disponible dans une région. Les tables peuvent être répliquées dans les régions à l'aide des tables globales DynamoDB  |  Créez plusieurs instances dans les zones de disponibilité pour assurer la disponibilité.  Les instantanés peuvent être partagés entre les régions, et les clusters peuvent être répliqués à l'aide de DMS pour fournir une réplication/reprise après sinistre entre régions  |  La configuration recommandée pour les clusters de production consiste à créer au moins un nœud dans une zone de disponibilité secondaire.  ElastiCache Global Datastore peut être utilisé pour répliquer des clusters dans des régions.  |  Les réplicas en lecture dans d'autres zones de disponibilité servent de cibles de basculement.  Les instantanés peuvent être partagés entre les régions, et les clusters peuvent être répliqués à l'aide de flux Neptune pour répliquer les données entre deux clusters dans deux régions différentes.  |  Hautement disponible dans une région. La réplication entre régions nécessite le développement d'applications personnalisées à l'aide du SDK Timestream  |  Hautement disponible dans une région.  La réplication entre régions nécessite une logique d'application personnalisée ou des outils tiers  |  Hautement disponible dans une région.  Pour assurer la réplication entre les régions, exportez le contenu du journal Amazon QLDB vers un compartiment S3 et configurez le compartiment pour la réplication entre régions.  | 

 

 **Étapes d'implémentation** 

1.  Quelles sont les options de configuration disponibles pour les bases de données sélectionnées ? 

   1.  Les groupes de paramètres pour Amazon RDS et Aurora vous permettent d'ajuster les paramètres communs au niveau du moteur de base de données tels que la mémoire allouée pour le cache ou l'ajustement du fuseau horaire de la base de données 

   1.  Pour les services de base de données alloués comme Amazon RDS, Aurora, Neptune, Amazon DocumentDB et ceux déployés sur Amazon EC2, vous pouvez modifier le type d'instance, le stockage alloué et ajouter des réplicas en lecture. 

   1.  DynamoDB vous permet de spécifier deux modes de capacité : à la demande et alloué. Pour tenir compte des différentes charges de travail, vous pouvez basculer entre ces modes et augmenter la capacité allouée en mode alloué à tout moment. 

1.  La charge de travail en lecture ou en écriture est-elle importante ?  

   1.  Quelles sont les solutions disponibles pour décharger les lectures (réplicas en lecture, mise en cache, etc.) ?  

      1.  Pour les tables DynamoDB, vous pouvez décharger les lectures à l'aide de DAX pour la mise en cache. 

      1.  Pour les bases de données relationnelles, vous pouvez créer un cluster ElastiCache pour Redis et configurer votre application pour qu'elle lise d'abord les données à partir du cache, en revenant à la base de données si l'élément demandé n'est pas présent. 

      1.  Les bases de données relationnelles comme Amazon RDS et Aurora, et les bases de données NoSQL allouées telles que Neptune et Amazon DocumentDB prennent toutes en charge l'ajout de réplicas en lecture pour décharger les parties lues de la charge de travail. 

      1.  Les bases de données sans serveur comme DynamoDB se mettent à l'échelle automatiquement. Assurez-vous que vous disposez de suffisamment d'unités de capacité de lecture (RCU) allouées pour gérer la charge de travail. 

   1.  Quelles sont les solutions disponibles pour la mise à l'échelle des écritures (sharding des clés de partition, introduction d'une file d'attente, etc.) ? 

      1.  Pour les bases de données relationnelles, vous pouvez augmenter la taille de l'instance pour qu'elle s'adapte à une charge de travail accrue ou augmenter les IOPS provisionnés pour permettre un débit accru vers le stockage sous-jacent. 
         +  Vous pouvez également ajouter une file d'attente devant votre base de données plutôt que d'écrire directement dans la base de données. Ce modèle vous permet de dissocier l'ingestion de la base de données et de contrôler le débit afin que la base de données ne soit pas submergée.  
         +  Regrouper vos demandes d'écriture plutôt que de créer de nombreuses transactions de courte durée contribue à améliorer le débit dans les bases de données relationnelles à volume d'écriture élevé. 

      1.  Les bases de données sans serveur comme DynamoDB peuvent mettre à l'échelle le débit d'écriture automatiquement ou en ajustant les unités de capacité d'écriture allouées (WCU) en fonction du mode de capacité.  
         +  Cependant, vous pouvez toujours rencontrer des problèmes *avec les partitions actives* lorsque vous atteignez les limites de débit pour une clé de partition donnée. Pour pallier à ce problème, choisissez une clé de partition distribuée plus uniformément ou partitionnez en écriture la clé de partition.  

1.  Quels sont les pics de transactions par seconde (TPS) actuels ou attendus ? Testez l'utilisation de ce volume de trafic et de ce \$1X % de volume pour comprendre les caractéristiques de mise à l'échelle. 

   1.  Des outils natifs tels que pg\$1bench pour PostgreSQL peuvent être utilisés pour tester la base de données et identifier les goulots d'étranglement et les caractéristiques de mise à l'échelle. 

   1.  Le trafic de type production doit être capturé afin de pouvoir être réexécuté pour simuler des conditions réelles en plus des charges de travail synthétiques. 

1.  Si vous utilisez un calcul sans serveur ou élastiquement évolutif, testez l'impact de cette mise à l'échelle sur la base de données. Le cas échéant, ajoutez la gestion ou le regroupement des connexions pour réduire l'impact sur la base de données.  

   1.  RDS Proxy peut être utilisé avec Amazon RDS et Aurora pour gérer les connexions à la base de données.  

   1.  Les bases de données sans serveur comme DynamoDB n'ont pas de connexions associées, mais tenez compte de la capacité allouée et des politiques de mise à l'échelle automatique pour faire face aux pics de charge. 

1.  La charge est-elle prévisible, y a-t-il des pics de charge et des périodes d'inactivité ? 

   1.  En cas de périodes d'inactivité, envisagez de réduire la capacité allouée ou la taille de l'instance pendant ces périodes. Aurora Serverless V2 augmente et diminue automatiquement la capacité en fonction de la charge. 

   1.  Pour les instances hors production, envisagez de les suspendre ou de les arrêter en dehors des heures de travail. 

1.  Avez-vous besoin de segmenter et de décomposer vos modèles de données en fonction des modèles d'accès et des caractéristiques des données ? 

   1.  Envisagez d'utiliser AWS DMS ou AWS SCT pour déplacer vos données vers d'autres services. 

## Niveau d'effort du plan d'implémentation : 
<a name="level-of-effort-for-the-implementation-plan-to-establish-this-best-practice-you-must-be-aware-of-your-current-data-characteristics-and-metrics.-gathering-those-metrics-establishing-a-baseline-and-then-using-those-metrics-to-identify-the-ideal-database-configuration-options-is-a-low-to-moderate-level-of-effort.-this-is-best-validated-by-load-tests-and-experimentation."></a>

Pour respecter cette bonne pratique, vous devez connaître vos caractéristiques et métriques de données actuelles. La collecte de ces métriques, l'établissement d'un point de référence, puis l'utilisation de ces métriques pour identifier l'option de configuration de base de données idéale indique un niveau d'effort *faible* to *modéré* . La validation par des tests de charge et des expérimentations est conseillée. 

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

 **Documents connexes :** 
+  [Bases de données cloud avec AWS ](https://aws.amazon.com/products/databases/?ref=wellarchitected) 
+  [Mise en cache de bases de données AWS ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [Amazon DynamoDB Accelerator ](https://aws.amazon.com/dynamodb/dax/?ref=wellarchitected) 
+  [Bonnes pratiques Amazon Aurora ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html?ref=wellarchitected) 
+  [Performances Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html?ref=wellarchitected) 
+  [Les 10 meilleures techniques pour améliorer les performances d'Amazon Athena ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [Bonnes pratiques Amazon Redshift Spectrum ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/?ref=wellarchitected) 
+  [Bonnes pratiques Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html?ref=wellarchitected) 

 

 **Vidéos connexes :** 
+  [AWS purpose-built databases (DAT209-L) ](https://www.youtube.com/watch?v=q81TVuV5u28)
+ [Amazon Aurora storage demystified: How it all works (DAT309-R) ](https://www.youtube.com/watch?v=uaQEGLKtw54) 
+  [Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **Exemples connexes :** 
+  [Exemples Amazon DynamoDB](https://github.com/aws-samples/aws-dynamodb-examples) 
+  [Exemples de migration de base de données AWS](https://github.com/aws-samples/aws-database-migration-samples) 
+  [Atelier sur la modernisation des bases de données](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [Utilisation des paramètres de votre instance de base de données Amazon RDS for PostgreSQL](https://github.com/awsdocs/amazon-rds-user-guide/blob/main/doc_source/Appendix.PostgreSQL.CommonDBATasks.Parameters.md) 

# PERF04-BP03 Collecter et archiver les métriques de performance de la base de données
<a name="perf_right_database_solution_collect_metrics"></a>

 Pour comprendre les performances de vos systèmes de gestion des données, il est important de suivre les métriques pertinentes. Ces métriques vous aideront à optimiser vos ressources de gestion de données, à vous assurer que les exigences de votre charge de travail sont satisfaites et que vous avez une vue d'ensemble claire sur le mode de fonctionnement de la charge de travail. Utilisez des outils, des bibliothèques et des systèmes qui enregistrent des mesures de performances liées aux performances de la base de données. 

 

 Il existe des métriques liées au système sur lequel la base de données est hébergée (par exemple, processeur, stockage, mémoire, IOPS), et il existe des métriques pour l'accès aux données elles-mêmes (par exemple, transactions par seconde, taux de requêtes, délais de réponse, erreurs). Ces métriques doivent être facilement accessibles à tous les membres des équipes d'assistance ou d'exploitation, et doivent contenir un historique suffisant pour permettre d'identifier les tendances, les anomalies et les goulots d'étranglement. 

 

 **Résultat souhaité :** L'enregistrement de plusieurs métriques de performance sur une période donnée est obligatoire pour la surveillance des performances des charges de travail de votre base de données. Cette surveillance vous permet non seulement de détecter les anomalies, mais aussi d'évaluer les performances par rapport aux métriques métier afin de vous assurer que vous répondez aux besoins de votre charge de travail. 

 **Anti-modèles courants :** 
+  Vous utilisez uniquement la recherche manuelle des fichiers journaux pour les métriques. 
+  Vous publiez uniquement des métriques sur les outils internes utilisés par votre équipe et vous n'avez pas une visibilité complète de votre charge de travail. 
+  Vous n'utilisez que les métriques par défaut enregistrées par le logiciel de surveillance que vous avez sélectionné. 
+  Vous n'examinez les métriques qu'en cas de problème. 
+  Vous ne surveillez que les métriques au niveau du système, sans capturer les métriques d'accès ou d'utilisation des données. 

 **Avantages liés au respect de cette bonne pratique :** La définition de points de référence pour les performances permet de mieux comprendre le comportement normal et les exigences des charges de travail. Les modèles anormaux peuvent être identifiés et débogués plus rapidement, améliorant ainsi les performances et la fiabilité de la base de données. La capacité de la base de données peut être configurée pour garantir un coût optimal sans compromettre les performances. 

 **Niveau de risque exposé si cette bonne pratique n'est pas respectée :** Débit 
+  L'incapacité à faire la différence entre le niveau de performance normal et le niveau de performance anormal crée des difficultés dans l'identification des problèmes et la prise de décision. 
+  Les économies de coûts potentielles peuvent ne pas être identifiées. 
+  Les modèles de croissance ne sont pas identifiés, ce qui peut entraîner une dégradation de la fiabilité ou des performances. 

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

 Identifiez, collectez, agrégez et corrélez les métriques liées à la base de données. Ces métriques doivent inclure à la fois le système sous-jacent qui prend en charge la base de données et les métriques de la base de données. Les métriques système sous-jacentes peuvent inclure l'utilisation du processeur, la mémoire, le stockage sur disque disponible, les E/S de disque et les métriques entrantes et sortantes du réseau, tandis que les métriques de la base de données peuvent inclure les transactions par seconde, les principales requêtes, les taux de requêtes moyens, les temps de réponse, l'utilisation de l'index, les verrouillages de table, les délais d'expiration des requêtes et le nombre de connexions ouvertes. Ces données sont essentielles pour comprendre à la fois les performances de la charge de travail et l'utilisation de la solution de base de données. Utilisez ces métriques dans le cadre d'une approche fondée sur les données pour ajuster et optimiser les ressources de votre charge de travail.  

 **Étapes d'implémentation :** 

1.  Quelles sont les métriques de base de données à suivre ? 

   1.  [Métriques de surveillance pour Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Monitoring.html) 

   1.  [Surveillance avec Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 

   1.  [Surveillance améliorée](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.overview.html) 

   1.  [Métriques DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/metrics-dimensions.html) 

   1.  [Surveillance de DynamoDB DAX](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.Monitoring.html) 

   1.  [Surveillance de MemoryDB](https://docs.aws.amazon.com/memorydb/latest/devguide/monitoring-cloudwatch.html) 

   1.  [Surveillance d'Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/metrics.html) 

   1.  [Métriques et dimensions des séries chronologiques](https://docs.aws.amazon.com/timestream/latest/developerguide/metrics-dimensions.html) 

   1.  [Métriques au niveau du cluster pour Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.Monitoring.Metrics.html) 

   1.  [Surveillance d'Amazon Keyspaces](https://docs.aws.amazon.com/keyspaces/latest/devguide/monitoring.html) 

   1.  [Surveillance de Amazon Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/monitoring.html) 

1.  La surveillance de la base de données bénéficierait-elle d'une solution de machine learning qui détecte les problèmes de performances et les anomalies opérationnelles ? 

   1.  [Amazon DevOps Guru pour Amazon RDS](https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-rds.overview.how-it-works.html) assure la visibilité des problèmes de performance et suggère des actions correctives. 

1.  Avez-vous besoin de détails au niveau de l'application sur l'utilisation de SQL ? 

   1.  [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html#api-segmentdocuments-sql) peut être instrumenté dans l'application pour obtenir des informations et encapsuler tous les points de données pour une seule requête. 

1.  Une solution de journalisation et de surveillance approuvée est-elle actuellement à ma disposition ? 

   1.  [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) peut récupérer des métriques à partir des ressources de votre architecture. Vous pouvez également récupérer et publier des métriques personnalisées pour faire apparaître des métriques d'entreprise ou des métriques dérivées. Utilisez CloudWatch ou des solutions tierces pour définir des alarmes qui indiquent les dépassements de seuils. 

1.  Est-ce que vous avez identifié et configuré des politiques de conservation des données pour qu'elles correspondent à vos objectifs de sécurité et d'exploitation ? 

   1.  [Métriques de conservation des données pour CloudWatch](https://aws.amazon.com/cloudwatch/faqs/#AWS_resource_.26_custom_metrics_monitoring) 

   1.  [Conservation des données pour CloudWatch Logs](https://aws.amazon.com/cloudwatch/faqs/#Log_management) 

 **Niveau d'effort du plan d'implémentation : **Il existe un niveau d'effort *moyen* pour identifier, suivre, collecter, agréger et corréler les métriques de toutes les ressources de base de données. 

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

 **Documents connexes :** 
+ [Mise en cache de bases de données AWS](https://aws.amazon.com/caching/database-caching/) 
+ [ Les 10 meilleures techniques pour améliorer les performances d'Amazon Athena ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/)
+ [ Bonnes pratiques Amazon Aurora ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html)
+  [Amazon DynamoDB Accelerator ](https://aws.amazon.com/dynamodb/dax/)
+ [Bonnes pratiques Amazon DynamoDB ](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html) 
+ [Bonnes pratiques Amazon Redshift Spectrum ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/) 
+ [Performances Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html) 
+ [Bases de données cloud avec AWS](https://aws.amazon.com/products/databases/) 
+  [Amazon RDS Performance Insights](https://aws.amazon.com/rds/performance-insights/) 

 **Vidéos connexes :** 
+ [AWS purpose-built databases (DAT209-L) ](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [Amazon Aurora storage demystified: How it all works (DAT309-R) ](https://www.youtube.com/watch?v=uaQEGLKtw54)
+  [Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **Exemples connexes :** 
+  [Niveau 100 : surveillance avec les tableaux de bord CloudWatch](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 
+  [Infrastructure de collecte de métriques d'ingestion de jeux de données AWS](https://github.com/awslabs/aws-dataset-ingestion-metrics-collection-framework) 
+  [Atelier sur la surveillance Amazon RDS](https://www.workshops.aws/?tag=Enhanced%20Monitoring) 

# PERF04-BP04 Choisir le stockage de données en fonction des modèles d'accès
<a name="perf_right_database_solution_access_patterns"></a>

 Utilisez les modèles d'accès de la charge de travail pour décider les services et technologies que vous allez utiliser. Outre les exigences non fonctionnelles telles que les performances et l'échelle, les modèles d'accès influencent fortement le choix de la base de données et des solutions de stockage. La première dimension à prendre en compte est le nécessité de prendre en charge ou non les transactions, la conformité ACID et les lectures cohérentes. Toutes les bases de données ne prennent pas en charge ces opérations, et la plupart des bases de données NoSQL fournissent un modèle de cohérence éventuel. La deuxième dimension importante est la répartition des écritures et des lectures dans le temps et dans l'espace. Les applications distribuées à l'échelle mondiale doivent tenir compte des modèles de trafic, de la latence et des exigences d'accès afin d'identifier la solution de stockage optimale. Le troisième aspect crucial à choisir est la flexibilité du modèle de requête, les modèles d'accès aléatoire et les requêtes uniques. Les considérations relatives aux fonctionnalités de requête hautement spécialisées pour le traitement du texte et du langage naturel, les séries chronologiques et les graphiques doivent également être prises en considération. 

 **Résultat souhaité :** Le stockage des données a été sélectionné en fonction des modèles d'accès aux données identifiés et documentés. Cela peut inclure les requêtes de lecture, d'écriture et de suppression les plus courantes, la nécessité d'effectuer des calculs et des agrégations ad hoc, la complexité des données, l'interdépendance des données et les besoins de cohérence requis. 

 **Anti-modèles courants :** 
+  Sélectionnez un seul fournisseur de base de données afin de simplifier la gestion des opérations. 
+  Vous supposez que les modèles d'accès aux données resteront cohérents au fil du temps. 
+  Vous implémentez des transactions complexes, la restauration et une logique de cohérence dans l'application. 
+  La base de données est configurée pour prendre en charge une rafale de trafic potentiellement élevé. Dès lors, les ressources de la base de données restent inactives la plupart du temps. 
+  Vous utilisez une base de données partagée pour des usages transactionnels et analytiques. 

 **Avantages liés au respect de cette bonne pratique :** La sélection et l'optimisation de votre stockage de données en fonction des modèles d'accès contribuent à réduire la complexité du développement et à optimiser vos opportunités de performances. Savoir quand utiliser les réplicas en lecture, les tables globales, le partitionnement des données et la mise en cache vous aidera à réduire les frais généraux opérationnels et à évoluer en fonction des besoins de votre charge de travail. 

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

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

 Identifiez et évaluez votre modèle d'accès aux données pour sélectionner la configuration de stockage appropriée. Chaque solution de base de données dispose d'options pour configurer et optimiser votre solution de stockage. Utilisez les métriques et les journaux collectés et testez les options pour trouver la configuration optimale. Utilisez le tableau suivant pour passer en revue les options de stockage par service de base de données. 


|  Services AWS  |  Amazon RDS, Amazon Aurora  |  Amazon DynamoDB  |  Amazon DocumentDB  |  Amazon ElastiCache  |  Amazon Neptune  |  Amazon Timestream  |  Amazon Keyspaces  |  Amazon QLDB  | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | 
|  Mise à l'échelle du stockage  |  Option de mise à l'échelle automatique du stockage disponible pour mettre automatiquement à l'échelle le stockage alloué. Les IOPS peuvent également être mises à l'échelle indépendamment du stockage alloué lors de l'utilisation des types de stockage IOPS provisionnés  |  Mise à l'échelle automatique. Les tables ne sont pas contraintes en termes de taille.  |  Option de mise à l'échelle automatique du stockage disponible pour mettre à l'échelle le stockage alloué  |  Le stockage est en mémoire, lié au type ou au nombre d'instances  |  Option de mise à l'échelle automatique du stockage disponible pour mettre automatiquement à l'échelle le stockage alloué  |  Configuration de la période de rétention pour les niveaux en mémoire et magnétiques, en jours  |  Augmentation et diminution automatiques du stockage des tables  |  Mise à l'échelle automatique. Les tables ne sont pas contraintes en termes de taille.  | 

 

 **Étapes d'implémentation :** 

1.  Identifiez et documentez la croissance prévue des données et du trafic. 

   1.  Amazon RDS et Aurora prennent en charge la mise à l'échelle automatique du stockage jusqu'aux limites documentées. Au-delà de ces limites, envisagez de transférer des données plus anciennes vers Amazon S3 pour l'archivage, d'agréger les données historiques à des fins d'analyse ou de les mettre à l'échelle horizontalement via le partitionnement. 

   1.  DynamoDB et Amazon S3 se mettent automatiquement à l'échelle pour atteindre un volume de stockage presque illimité. 

   1.  Les instances Amazon RDS et les bases de données exécutées sur EC2 peuvent être redimensionnées manuellement, et de nouveaux volumes EBS peuvent être ajoutés ultérieurement sur les instances EC2 pour un stockage supplémentaire.  

   1.  Les types d'instance peuvent être modifiés en fonction des changements d'activité. Par exemple, vous pouvez commencer avec une instance plus petite en phase de test, puis mettre à l'échelle l'instance lorsque vous commencez à recevoir du trafic de production vers le service. Aurora Serverless V2 se met automatiquement à l'échelle en fonction des changements de charge.  

1.  Documentez les exigences relatives aux performances normales et maximales (transactions par seconde, TPS, et requêtes par seconde, QPS) et à la cohérence (ACID et cohérence éventuelle). 

1.  Documentez les aspects de déploiement de la solution et les exigences d'accès à la base de données (global, multi-AZ, réplication en lecture, plusieurs nœuds d'écriture) 

 **Niveau d'effort du plan d'implémentation : **Si vous ne disposez pas de journaux ni de métriques pour votre solution de gestion des données, vous devrez les mettre en place avant d'identifier et de documenter vos modèles d'accès aux données. Une fois que votre modèle d'accès aux données sera identifié, la sélection et la configuration de votre stockage de données présenteront un niveau d'effort *faible* . 

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

 **Documents connexes :** 
+ [ Mise en cache de bases de données AWS](https://aws.amazon.com/caching/database-caching/)
+ [Les 10 meilleures techniques pour améliorer les performances d'Amazon Athena ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/) 
+ [Bonnes pratiques Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html) 
+ [Amazon DynamoDB Accelerator ](https://aws.amazon.com/dynamodb/dax/) 
+ [Bonnes pratiques Amazon DynamoDB ](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html) 
+ [Bonnes pratiques Amazon Redshift Spectrum ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/) 
+ [Performances Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html) 
+  [Bases de données cloud avec AWS](https://aws.amazon.com/products/databases/)
+  [Types de stockage Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html) 

 **Vidéos connexes :** 
+ [AWS purpose-built databases (DAT209-L)](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [Amazon Aurora storage demystified: How it all works (DAT309-R) ](https://www.youtube.com/watch?v=uaQEGLKtw54)
+ [ Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **Exemples connexes :** 
+  [Effectuer des expérimentations et des tests avec les tests de charge distribués sur AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF04-BP05 Optimiser le stockage de données en fonction des métriques et des modèles d'accès
<a name="perf_right_database_solution_optimize_metrics"></a>

 Utilisez les caractéristiques de performances et les modèles d'accès qui optimisent la façon dont les données sont stockées ou interrogées pour obtenir les meilleures performances possible. Mesurez la façon dont les optimisations telles que l'indexation, la distribution de clé, la conception de l'entrepôt de données ou les stratégies de mise en cache affectent les performances du système ou l'efficacité globale. 

 **Anti-modèles courants :** 
+  Vous utilisez uniquement la recherche manuelle des fichiers journaux pour les métriques. 
+  Vous publiez des métriques uniquement dans des outils internes. 

 **Avantages liés au respect de cette bonne pratique :** Afin de vous assurer que vous avez les métriques requises pour la charge de travail, vous devez surveiller les métriques de performance de la base de données liées à la lecture et à l'écriture. Vous pouvez utiliser ces données pour ajouter de nouvelles optimisations pour les lectures et les écritures dans la couche de stockage de données. 

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

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

 Optimiser le stockage des données en fonction de métriques et de modèles : utilisez les métriques rapportées pour identifier les zones présentant des performances insuffisantes dans votre charge de travail et pour optimiser les composants de votre base de données. Chaque système de base de données possède différentes caractéristiques de performances à évaluer, en particulier la façon dont les données sont indexées, mises en cache ou distribuées entre plusieurs systèmes. Mesurez l'impact de vos optimisations. 

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

 **Documents connexes :** 
+  [Mise en cache de bases de données AWS](https://aws.amazon.com/caching/database-caching/) 
+  [Les 10 meilleures techniques pour améliorer les performances d'Amazon Athena](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/) 
+  [Bonnes pratiques Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html) 
+  [Amazon DynamoDB Accelerator](https://aws.amazon.com/dynamodb/dax/) 
+  [Bonnes pratiques Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html) 
+  [Bonnes pratiques Amazon Redshift Spectrum](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/) 
+  [Performances Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html) 
+  [Bases de données cloud avec AWS](https://aws.amazon.com/products/databases/) 
+  [Analyser les anomalies de performances avec DevOps Guru pour RDS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/devops-guru-for-rds.html) 
+  [Mode de capacité lecture/écriture pour DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html) 

 **Vidéos connexes :** 
+  [AWS purpose-built databases (DAT209-L)](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [Amazon Aurora storage demystified: How it all works (DAT309-R)](https://www.youtube.com/watch?v=uaQEGLKtw54) 
+  [Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1)](https://www.youtube.com/watch?v=6yqfmXiZTlM) 

 **Exemples connexes :** 
+  [Ateliers pratiques pour Amazon DynamoDB](https://amazon-dynamodb-labs.workshop.aws/hands-on-labs.html) 

# PERF 5  Comment configurer votre solution de mise en réseau ?
<a name="w2aac19c11b5c13"></a>

 La solution réseau optimale pour une charge de travail varie en fonction des exigences de latence, de bande passante, de registre et de débit. Le choix des options d'emplacement est tributaire des contraintes physiques telles que les ressources pour utilisateur ou sur site. Ces contraintes peuvent être compensées avec les emplacements périphériques ou le placement des ressources. 

**Topics**
+ [

# PERF05-BP01 Comprendre l'impact de la mise en réseau sur les performances
](perf_select_network_understand_impact.md)
+ [

# PERF05-BP02 Évaluer les fonctionnalités de mise en réseau disponibles
](perf_select_network_evaluate_features.md)
+ [

# PERF05-BP03 Choisir une connectivité dédiée ou un VPN de taille appropriée pour les charges de travail hybrides
](perf_select_network_hybrid.md)
+ [

# PERF05-BP04 Tirer parti de l'équilibrage de charge et du déchargement du chiffrement
](perf_select_network_encryption_offload.md)
+ [

# PERF05-BP05 Choisir des protocoles réseau afin d'améliorer les performances
](perf_select_network_protocols.md)
+ [

# PERF05-BP06 Choisir l'emplacement de votre charge de travail en fonction des exigences réseau
](perf_select_network_location.md)
+ [

# PERF05-BP07 Optimiser la configuration réseau en fonction de métriques
](perf_select_network_optimize.md)

# PERF05-BP01 Comprendre l'impact de la mise en réseau sur les performances
<a name="perf_select_network_understand_impact"></a>

 Analysez et comprenez l'impact des décisions liées au réseau sur les performances des charges de travail. Le réseau est responsable de la connectivité entre les composants d'application, les services cloud, les réseaux périphériques et les données sur site et, par conséquent, il peut avoir un impact majeur sur les performances de la charge de travail. Outre les performances de la charge de travail, l'expérience utilisateur est également affectée par la latence du réseau, la bande passante, les protocoles, l'emplacement, la congestion du réseau, l'instabilité, le débit et les règles de routage. 

 **Résultat souhaité :** Avoir une liste documentée des exigences de mise en réseau de la charge de travail, y compris la latence, la taille des paquets, les règles de routage, les protocoles et les modèles de trafic pris en charge. Passez en revue les solutions de mise en réseau disponibles et identifiez le service qui répond aux caractéristiques de mise en réseau de votre charge de travail. Les réseaux basés sur le cloud peuvent être rapidement recréés. L'évolution de votre architecture réseau au fil du temps est donc nécessaire pour améliorer l'efficacité des performances. 

 **Anti-modèles courants :** 
+  Tout le trafic passe par vos centres de données existants. 
+  Vous créez des sessions Direct Connect de manière excessive sans connaître les exigences d'utilisation réelles. 
+  Vous ne tenez pas compte des caractéristiques de la charge de travail et de la surcharge de chiffrement lors de la définition de vos solutions de mise en réseau. 
+  Vous utilisez des concepts et des stratégies sur site pour les solutions de mise en réseau dans le cloud. 

 **Avantages liés au respect de cette bonne pratique :** Comprendre comment la mise en réseau affecte les performances de la charge de travail vous aidera à identifier les goulots d'étranglement potentiels, à améliorer l'expérience utilisateur, à accroître la fiabilité et à réduire la maintenance opérationnelle à mesure que la charge de travail évolue. 

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

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

 Identifiez les métriques de performance réseau clés de votre charge de travail et capturez ses caractéristiques de mise en réseau. Définissez et documentez les exigences dans le cadre d'une approche axée sur les données, à l'aide de la définition de points de référence ou de tests de charge. Utilisez ces données pour identifier les points où votre solution réseau est limitée, et examinez les options de configuration susceptibles d'améliorer la charge de travail. Familiarisez-vous avec les fonctionnalités et les options de mise en réseau cloud native disponibles et leur impact sur les performances de votre charge de travail en fonction des exigences. Chaque fonction de mise en réseau présente des avantages et des inconvénients et peut être configurée pour répondre aux caractéristiques et à l'échelle de votre charge de travail en fonction de vos besoins. 

 **Étapes d'implémentation :** 

1.  Définir et documenter les exigences de performances réseau : 

   1.  Inclure des métriques telles que la latence du réseau, la bande passante, les protocoles, les emplacements, les modèles de trafic (pics et fréquence), le débit, le chiffrement, l'inspection et les règles de routage 

1.  Capturer les caractéristiques de mise en réseau fondamentales : 

   1.  [Journaux de flux VPC ](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

   1.  [Métriques AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-cloudwatch-metrics.html) 

   1.  [Métriques AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-cloudwatch-metrics.html) 

1.  Capturer les caractéristiques de mise en réseau des applications : 

   1.  [Adaptateur de réseau élastique (ENA)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html) 

   1.  [Métriques AWS App Mesh](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy-metrics.html) 

   1.  [Métriques Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-metrics-and-dimensions.html) 

1.  Capturer les caractéristiques de mise en réseau à la périphérie : 

   1.  [Métriques Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html) 

   1.  [Métriques Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/monitoring-cloudwatch.html) 

   1.  [Métriques AWS Global Accelerator](https://docs.aws.amazon.com/global-accelerator/latest/dg/cloudwatch-monitoring.html) 

1.  Capturer les caractéristiques de mise en réseau hybride : 

   1.  [Métriques Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/monitoring-cloudwatch.html) 

   1.  [Métriques AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/monitoring-cloudwatch-vpn.html) 

   1.  [Métriques AWS Client VPN](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/monitoring-cloudwatch.html) 

   1.  [Métriques AWS Cloud WAN](https://docs.aws.amazon.com/vpc/latest/cloudwan/cloudwan-cloudwatch-metrics.html) 

1.  Capturer les caractéristiques de mise en réseau de la sécurité : 

   1.  [Métriques AWS Shield, WAF et Network Firewall](https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html) 

1.  Capturer les métriques de performance de bout en bout avec des outils de traçabilité : 

   1.  [AWS X-Ray](https://aws.amazon.com/xray/) 

   1.  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 

1.  Définir des points de référence et et tester les performances du réseau : 

   1.  [Évaluer](https://aws.amazon.com/premiumsupport/knowledge-center/network-throughput-benchmark-linux-ec2/) le débit réseau : certains facteurs peuvent affecter les performances du réseau EC2 lorsque les instances se trouvent dans le même VPC. Mesurez la bande passante réseau entre les instances EC2 Linux dans le même VPC. 

   1.  Effectuer [des tests de charge](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) pour expérimenter des solutions et des options de mise en réseau 

 **Niveau d'effort du plan d'implémentation : **Il existe un niveau d'effort *moyen* pour documenter les exigences de mise en réseau de la charge de travail, les options et les solutions disponibles. 

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

 **Documents connexes :** 
+ [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+ [Mise en réseau améliorée d'EC2 sous Linux ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+ [Capacité réseau améliorée d'EC2 sous Windows ](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+ [Groupes de placement EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+ [Activation de la mise en réseau améliorée avec Elastic Network Adapter (ENA) sur les instances de Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+ [Network Load Balancer ](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+ [Mise en réseau de produits avec AWS](https://aws.amazon.com/products/networking/) 
+  [Transit Gateway ](https://docs.aws.amazon.com/vpc/latest/tgw)
+ [Transition vers le routage basé sur la latence dans Amazon Route 53 ](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+ [Points de terminaison d'un VPC ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+ [Journaux de flux VPC ](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

 **Vidéos connexes :** 
+ [Connectivity to AWS and hybrid AWS network architectures (NET317-R1) ](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+ [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) ](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [Improve Global Network Performance for Applications](https://youtu.be/vNIALfLTW9M) 
+  [EC2 Instances and Performance Optimization Best Practices](https://youtu.be/W0PKclqP3U0) 
+  [Optimizing Network Performance for Amazon EC2 Instances](https://youtu.be/DWiwuYtIgu0) 
+  [Networking best practices and tips with the Well-Architected Framework](https://youtu.be/wOMNpG49BeM) 
+  [AWS networking best practices in large-scale migrations](https://youtu.be/qCQvwLBjcbs) 

 **Exemples connexes :** 
+  [AWS Transit Gateway et solutions de sécurité évolutives](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [Ateliers sur la mise en réseau AWS](https://networking.workshop.aws/) 

# PERF05-BP02 Évaluer les fonctionnalités de mise en réseau disponibles
<a name="perf_select_network_evaluate_features"></a>

Évaluez les fonctions de mise en réseau dans le cloud qui peuvent améliorer les performances. Mesurez l'impact de ces fonctions au moyen de tests, de métriques et de l'analyse. Par exemple, tirez parti des fonctions au niveau du réseau qui sont disponibles pour réduire la latence, la perte de paquets ou l'instabilité. 

De nombreux services sont créés afin d'améliorer les performances et d'autres offrent généralement des fonctionnalités pour optimiser les performances réseau. Des services tels qu'AWS Global Accelerator et Amazon CloudFront existent pour améliorer les performances, tandis que la plupart des autres services disposent de fonctionnalités de produits pour optimiser le trafic réseau. Examinez des fonctionnalités de service comme la fonctionnalité de réseau d'instance EC2, les types d'instance de mise en réseau améliorés, les instances optimisées pour Amazon EBS, Amazon S3 Transfer Acceleration et la fonctionnalité CloudFront pour optimiser les performances réseau. 

**Résultat souhaité :** Vous avez documenté l'inventaire des composants dans votre charge de travail et identifié quelles configurations de mise en réseau par composant vous aideraient à répondre à vos exigences de performances. Après avoir évalué les fonctionnalités de mise en réseau, vous avez testé et mesuré les métriques de performances afin d'identifier comment utiliser les fonctionnalités à votre disposition. 

**Anti-modèles courants :** 
+ Placement de toutes vos charges de travail dans l'Région AWS la plus proche de votre siège, plutôt que dans une Région AWS plus proche de vos utilisateurs finaux. 
+ Échec du test comparatif des performances de vos charges de travail et évaluation continue des performances de vos charges de travail grâce à ce test comparatif.
+ Pas d'examen des configurations de service pour les options d'amélioration des performances. 

**Avantages liés au respect de cette bonne pratique :** L'évaluation de toutes les options et fonctionnalités de service peut augmenter les performances de vos charges de travail, baisser le coût d'infrastructure, réduire les efforts nécessaires à la maintenance de vos charges de travail et améliorer votre posture générale en matière de sécurité. Vous pouvez utiliser la couverture mondiale d'AWS pour garantir à vos clients une expérience de mise en réseau optimale. 

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

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

Examinez les options de configuration liées au réseau disponibles et leur impact potentiel sur votre charge de travail. Pour optimiser les performances, il est essentiel de comprendre les interactions entre ces options et votre architecture, ainsi que l'impact qu'elles auront à la fois sur les performances mesurées et les performances perçues par les utilisateurs. 

**Étapes d'implémentation :** 

1. Créer une liste des composants de la charge de travail. 

   1. Créez, gérez et surveillez le réseau de votre entreprise grâce à [AWS Cloud WAN](https://aws.amazon.com/cloud-wan/). 

   1. Disposez d'une visibilité sur votre réseau grâce à [Network Manager](https://docs.aws.amazon.com/vpc/latest/tgwnm/what-is-network-manager.html). Utilisez un outil de base de données de gestion de la configuration (CMDB) ou un outil tel qu' [AWS Config](https://aws.amazon.com/config/) pour créer un inventaire de votre charge de travail et de sa configuration. 

1. Identifier et documenter le test comparatif pour vos métriques de performances s'il s'agit d'une charge de travail existante, en vous concentrant sur les goulots d'étranglement et les zones à améliorer. Les métriques de mise en réseau liées aux performances diffèrent par charge de travail en fonction des exigences métier et des caractéristiques de charge de travail. Pour commencer, il pourrait être important d'examiner ces métriques pour votre charge de travail : bande passante, latence, perte de paquets, instabilité et retransmissions. 

1. S'il s'agit d'une nouvelle charge de travail, réaliser [des tests de charge](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) pour identifier les goulots d'étranglement au niveau des performances. 

1. Concernant l'identification des goulots d'étranglement au niveau des performances, examiner les options de configuration pour les solutions afin d'identifier les opportunités d'amélioration des performances. 

1. Si vous ne connaissez pas votre chemin réseau, utiliser [Network Access Analyzer](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/what-is-vaa.html) pour l'identifier. 

1. Examiner vos protocoles réseau pour réduire davantage votre latence.
   + [PERF05-BP05 Choisir des protocoles réseau afin d'améliorer les performances](perf_select_network_protocols.md) 

1. Si vous utilisez un AWS Site-to-Site VPN sur plusieurs emplacements pour vous connecter à une Région AWS, examiner [les connexions Site-to-Site VPN accélérées](https://docs.aws.amazon.com/vpn/latest/s2svpn/accelerated-vpn.html) pour chercher des occasions d'améliorer les performances de mise en réseau.

1. Lorsque le trafic de votre charge de travail est réparti sur plusieurs comptes, évaluer la topologie de votre réseau et les services pour réduire la latence. 
   + Évaluez vos compromis de performances et opérationnels entre [Appairage des VPC](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) et [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/) lors de la connexion à plusieurs comptes. AWS Transit Gateway prend en charge le débit AWS Site-to-Site VPN pour mettre à l'échelle au-delà d'une seule [limite maximum IPsec](https://aws.amazon.com/blogs/networking-and-content-delivery/scaling-vpn-throughput-using-aws-transit-gateway/) en utilisant un multi-chemin. Le trafic entre Amazon VPC et AWS Transit Gateway reste sur le réseau AWS privé et n'est pas exposé à Internet. AWS Transit Gateway simplifie la façon dont vous interconnectez tous vos VPC, qui peuvent s'étendre sur des milliers d'Comptes AWS et des réseaux sur site. Partagez votre AWS Transit Gateway entre plusieurs comptes à l'aide de [Resource Access Manager](https://aws.amazon.com/ram/). Pour disposer d'une visibilité sur votre trafic réseau mondial, utilisez [Network Manager](https://aws.amazon.com/transit-gateway/network-manager/) pour profiter d'une vue centrale de vos métriques réseau. 

1. Examiner vos emplacements utilisateur et réduire la distance entre vos utilisateurs et la charge de travail.

   1. [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) est un service qui améliore de 60 % les performances du trafic réseau de vos utilisateurs grâce à l'infrastructure réseau mondiale Amazon Web Services. Lorsque la connexion Internet est encombrée, AWS Global Accelerator optimise le chemin vers votre application pour maintenir la perte de paquets, l'instabilité et la latence à un niveau continuellement bas. Il fournit également des adresses IP statiques qui facilitent le déplacement de points de terminaison entre des zones de disponibilité ou des Régions AWS sans avoir besoin de mettre à jour votre configuration DNS ou de modifier les applications orientées client. 

   1. [Amazon CloudFront](https://aws.amazon.com/cloudfront/) peut améliorer la diffusion du contenu de votre charge de travail et la latence à l'échelle mondiale. CloudFront possède plus de 410 points de présence dispersés dans le monde et capables de mettre en cache votre contenu et de réduire la latence pour l'utilisateur final. 

   1. Amazon Route 53 offre des options de [routage basé sur la latence](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-latency.html), [routage de géolocalisation](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geo.html), [routage de proximité géographique](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geoproximity.html)et [routage basé sur IP](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-ipbased.html) pour vous permettre d'améliorer les performances de votre charge de travail pour satisfaire un public international. Identifiez l'option de routage qui optimiserait les performances de votre charge de travail en étudiant le trafic de votre charge de travail et l'emplacement de l'utilisateur. 

1. Évaluer des fonctionnalités Amazon S3 supplémentaires pour améliorer les IOPS de stockage. 

   1.  [Amazon S3 Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration/) est une fonction qui permet aux utilisateurs externes de bénéficier des optimisations de mise en réseau de CloudFront pour charger des données dans Amazon S3. Cela améliore le transfert d'importants volumes de données à partir d'emplacements distants qui n'ont pas de connectivité dédiée au AWS Cloud. 

   1.  [Les points d'accès multi-régions dans Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPoints.html) répliquent le contenu vers plusieurs régions et simplifient la charge de travail en fournissant un point d'accès. Lorsqu'un point d'accès multi-région est utilisé, vous pouvez demander ou écrire des données à Amazon S3 tandis que le service identifie le compartiment à la latence la plus faible. 

1. Examiner votre bande passante du réseau de ressources de calcul.

   1. Les interfaces réseau Elastic (ENI) utilisées par des instances EC2, des conteneurs et des fonctions Lambda sont limitées par flux. Examinez vos groupes de placement pour optimiser votre [débit de mise en réseau EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html). Pour éviter le goulot d'étranglement de la conception par flux, créez votre application pour qu'elle utilise plusieurs flux. Pour surveiller et disposer d'une visibilité sur vos métriques de mise en réseau liée au calcul, utilisez [les métriques CloudWatch](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-network-bandwidth.html) et [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html). `ethtool` est inclus dans le pilote ENA et expose des métriques liées au réseau supplémentaires capables d'être publiées en tant que [métriques personnalisées](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) sur CloudWatch. 

   1. Les instances EC2 plus récentes peuvent tirer parti d'une capacité réseau améliorée. [Les instances EC2 de la série N](https://aws.amazon.com/ec2/nitro/), telles que `M5n` et `M5dn`, profitent de la quatrième génération de cartes Nitro personnalisées pour diffuser jusqu'à 100 Gbps de débit réseau dans une instance unique. Ces instances offrent quatre fois plus de bande passante réseau et de processus de paquets que les instances `M5` de base et sont idéales pour les applications gourmandes en réseau. 

   1. [Les Amazon Elastic Network Adapters](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) (ENA) fournissent une optimisation ultérieure en diffusant un meilleur débit pour vos instances dans un [groupe de placement du cluster](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html#placement-groups-cluster%23placement-groups-limitations-cluster). 

   1. [Elastic Fabric Adapter](https://aws.amazon.com/hpc/efa/) (EFA) est une interface réseau pour les instances Amazon EC2 qui vous permet d'exécuter des charges de travail nécessitant des niveaux élevés de communication entre les nœuds à grande échelle sur AWS. Avec EFA, les applications de calcul hautes performances (HPC) utilisant l'interface de transmission de message (MPI) et les applications de machine learning (ML) utilisant NVIDIA Collective Communications Library (NCCL) peuvent s'adapter à des milliers de CPU ou de GPU. 

   1. [Les instances optimisées par Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) utilisent une pile de configuration optimisée et offrent une capacité dédiée supplémentaire pour les E/S Amazon EBS. Cette optimisation offre les meilleures performances pour vos volumes EBS : elle réduit les conflits entre les E/S Amazon EBS et le reste du trafic issu de votre instance. 

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

Pour créer cette bonne pratique, vous devez connaître vos options actuelles en matière de composants de la charge de travail capables d'impacter les performances du réseau. La collecte des composants, l'évaluation des options d'amélioration du réseau, l'expérimentation, l'implémentation et la documentation de ces améliorations est un niveau d'effort *faible* to *modéré* . 

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

 **Documents connexes :** 
+  [Amazon EBS – Instances optimisées](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Bande passante du réseau d'instance Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html) 
+  [Mise en réseau améliorée d'EC2 sous Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Capacité réseau améliorée d'EC2 sous Windows](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [Groupes de placement EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [Activation de la mise en réseau améliorée avec Elastic Network Adapter (ENA) sur les instances de Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [Mise en réseau de produits avec AWS](https://aws.amazon.com/products/networking/) 
+  [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [Transition vers le routage basé sur la latence dans Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [Points de terminaison d'un VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [Journaux de flux VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [Création d'une CMDB cloud](https://aws.amazon.com/blogs/mt/building-a-cloud-cmdb-on-aws-for-consistent-resource-configuration-in-hybrid-environments/) 
+  [Mise à l'échelle du débit VPN à l'aide d'AWS Transit Gateway](https://aws.amazon.com/blogs/networking-and-content-delivery/scaling-vpn-throughput-using-aws-transit-gateway/) 

 **Vidéos connexes :** 
+  [Connectivity to AWS and hybrid AWS network architectures (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [AWS Global Accelerator](https://www.youtube.com/watch?v=lAOhr-5Urfk) 

 **Exemples connexes :** 
+  [AWS Transit Gateway et solutions de sécurité évolutives](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [Ateliers sur la mise en réseau AWS](https://networking.workshop.aws/) 

# PERF05-BP03 Choisir une connectivité dédiée ou un VPN de taille appropriée pour les charges de travail hybrides
<a name="perf_select_network_hybrid"></a>

 Lorsqu'un réseau commun est requis pour connecter des ressources sur site et des ressources cloud dans AWS, assurez-vous que vous disposez d'une bande passante adéquate pour répondre à vos exigences de performances. Estimez les exigences en matière de bande passante et de latence pour votre charge de travail hybride. Ces chiffres permettront d'établir les exigences de dimensionnement pour AWS Direct Connect ou vos points de terminaison VPN. 

 **Résultat souhaité :** Lorsque vous déployez une charge de travail nécessitant une connectivité réseau hybride, vous disposez de plusieurs options de configuration pour la connectivité, telles que des VPN gérés ou non gérés, ou Direct Connect. Sélectionnez le type de connexion approprié pour chaque charge de travail tout en vous assurant que les exigences de bande passante et de chiffrement entre votre emplacement et le cloud sont adéquates. 

 **Anti-modèles courants :** 
+  Vous n'évaluez les solutions VPN que pour les exigences de chiffrement de votre réseau. 
+  Vous n'évaluez pas les options de sauvegarde ou de connectivité parallèle. 
+  Vous utilisez les configurations par défaut pour les routeurs, les tunnels et les sessions BGP. 
+  Vous ne parvenez pas à comprendre ni à identifier toutes les exigences de la charge de travail (chiffrement, protocole, bande passante et trafic requis). 

 **Avantages liés au respect de cette bonne pratique :** La sélection et la configuration de solutions de réseau hybride de taille appropriée contribuent à accroître la fiabilité de votre charge de travail et optimisent les possibilités de performances. En identifiant les exigences de la charge de travail, en effectuant une planification appropriée et en évaluant les solutions hybrides, vous minimiserez les modifications coûteuses du réseau physique et les frais généraux opérationnels tout en augmentant le délai de mise sur le marché. 

 **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évelopper une architecture de mise en réseau hybride basée sur vos besoins en bande passante : évaluez les besoins de vos applications hybrides en matière de bande passante et de latence. Il est possible qu'une seule connexion VPN ou Direct Connect ne suffise pas et que vous deviez concevoir une configuration hybride pour permettre l'équilibrage de la charge de trafic sur plusieurs connexions. Le scénario pertinent sera fonction des besoins en bande passante. Direct Connect peut être nécessaire, ce qui offre des performances plus prévisibles et cohérentes en raison de sa connectivité au réseau privé. Direct Connect est idéal pour les charges de travail de production qui nécessitent une latence constante et une instabilité quasi nulle. 

 AWS Direct Connect fournit une connectivité dédiée à l'environnement AWS, de 50 Mbit/s à 10 Gbit/s. Cela vous permet de gérer et de contrôler la latence et de profiter d'une bande passante provisionnée. Ainsi, vos charges de travail peuvent se connecter facilement et de manière performante à d'autres environnements. En tirant parti de l'un des partenaires AWS Direct Connect, vous pouvez bénéficier d'une connectivité de bout en bout à partir de plusieurs environnements, ce qui vous donne accès à un réseau étendu aux performances constantes. 

 AWS Site-to-Site VPN est un service VPN géré pour les VPC. Lorsqu'une connexion VPN est créée, AWS fournit des tunnels vers deux points de terminaison VPN différents. Avec AWS Transit Gateway, vous pouvez simplifier la connectivité entre plusieurs VPC et vous connecter à n'importe quel VPC attaché à AWS Transit Gateway avec une seule connexion VPN. AWS Transit Gateway permet également une mise à l'échelle au-delà de la limite de débit VPN IPsec de 1,25 Gbit/s en activant la prise en charge du routage multi-chemins d'accès (ECMP) à coût égal sur plusieurs tunnels VPN. 

 **Niveau d'effort du plan d'implémentation : **Il existe un niveau d'effort *élevé* pour évaluer les besoins de la charge de travail pour les réseaux hybrides et mettre en œuvre des solutions de mise en réseau hybrides. 

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

 **Documents connexes :** 
+ [Network Load Balancer ](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+ [Mise en réseau de produits avec AWS](https://aws.amazon.com/products/networking/) 
+ [Transit Gateway ](https://docs.aws.amazon.com/vpc/latest/tgw) 
+ [Transition vers le routage basé sur la latence dans Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+ [Points de terminaison d'un VPC ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+ [Journaux de flux VPC ](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [de site à site AWS](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) 
+  [Création d'une infrastructure réseau AWS multi-VPC évolutive et sécurisée](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/welcome.html) 
+  [Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) 
+  [Client VPN](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html) 

 **Vidéos connexes :** 
+ [Connectivity to AWS and hybrid AWS network architectures (NET317-R1) ](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+ [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) ](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [AWS Global Accelerator](https://www.youtube.com/watch?v=lAOhr-5Urfk) 
+  [Direct Connect* *](https://www.youtube.com/watch?v=DXFooR95BYc&t=6s) 
+  [Transit Gateway Connect](https://www.youtube.com/watch?v=_MPY_LHSKtM&t=491s) 
+  [Solutions VPN](https://www.youtube.com/watch?v=qmKkbuS9gRs) 
+  [Sécurité avec les solutions VPN](https://www.youtube.com/watch?v=FrhVV9nG4UM) 

 **Exemples connexes :** 
+  [AWS Transit Gateway et solutions de sécurité évolutives](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [Ateliers sur la mise en réseau AWS](https://networking.workshop.aws/) 

# PERF05-BP04 Tirer parti de l'équilibrage de charge et du déchargement du chiffrement
<a name="perf_select_network_encryption_offload"></a>

 Répartissez le trafic sur plusieurs ressources ou services pour permettre à votre charge de travail de tirer parti de l'élasticité fournie par le cloud. Vous pouvez également utiliser l'équilibrage de charge afin de décharger le chiffrement pour améliorer les performances, gérer et acheminer efficacement le trafic. 

 Lors de la mise en œuvre d'une architecture évolutive dans laquelle vous souhaitez utiliser plusieurs instances pour le contenu du service, vous pouvez utiliser des équilibreurs de charge dans votre Amazon VPC. AWS fournit plusieurs modèles pour vos applications dans le service ELB. Application Load Balancer est le mieux adapté à l'équilibrage de charge du trafic HTTP et HTTPS et fournit un routage avancé des demandes destiné à la livraison d'architectures d'applications modernes, y compris des microservices et des conteneurs. 

 Le Network Load Balancer (équilibreur de charge de réseau) est tout indiqué pour l'équilibrage de charge du trafic TCP, qui nécessite des performances extrêmes. Il est capable de traiter des millions de requêtes par seconde tout en maintenant de très faibles latences. Il est optimisé pour gérer les tendances soudaines et instables du trafic. 

 [https://aws.amazon.com/elasticloadbalancing/](https://aws.amazon.com/elasticloadbalancing/) assure la gestion intégrée des certificats et le déchiffrement SSL/TLS, ce qui vous permet de gérer de façon centralisée les paramètres SSL de l'équilibreur de charge et de décharger les tâches gourmandes en CPU de votre charge de travail. 

 **Anti-modèles courants :** 
+  Vous acheminez tout le trafic Internet via des équilibreurs de charge existants. 
+  Vous utilisez l'équilibrage de charge TCP générique et faites en sorte que chaque nœud de calcul gère le chiffrement SSL. 

 **Avantages liés au respect de cette bonne pratique :** Un équilibreur de charge gère la charge variable du trafic de votre application dans une seule ou plusieurs zones de disponibilité. Les équilibreurs de charge offrent la haute disponibilité, la mise à l'échelle automatique et la sécurité robuste nécessaires pour rendre vos applications tolérantes aux pannes. 

 **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 l'équilibreur de charge approprié pour votre charge de travail : sélectionnez l'équilibreur de charge approprié pour votre charge de travail. Si vous devez équilibrer la charge des demandes HTTP, nous vous recommandons l'équilibreur de charge d'application (Application Load Balancer). Pour l'équilibrage de charge des protocoles réseau et de transport (couche 4 - TCP, UDP), et pour les applications à performances extrêmes et à faible latence, nous recommandons Network Load Balancer. Les équilibreurs de charge Application Load Balancers prennent en charge HTTPS, tandis que les Network Load Balancers prennent en charge le déchargement du chiffrement TLS. 

 Activer le déchargement du chiffrement HTTPS ou TLS : Elastic Load Balancing inclut la gestion intégrée des certificats, l'authentification des utilisateurs et le déchiffrement SSL/TLS. Il offre la flexibilité nécessaire pour gérer de manière centralisée les paramètres TLS et décharger les charges de travail gourmandes en CPU de vos applications. Chiffrez tout le trafic HTTPS dans le cadre du déploiement de votre équilibreur de charge. 

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

 **Documents connexes :** 
+  [Amazon EBS – Instances optimisées](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Mise en réseau améliorée d'EC2 sous Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Capacité réseau améliorée d'EC2 sous Windows](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [Groupes de placement EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [Activation de la mise en réseau améliorée avec Elastic Network Adapter (ENA) sur les instances de Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [Mise en réseau de produits avec AWS](https://aws.amazon.com/products/networking/) 
+  [Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [Transition vers le routage basé sur la latence dans Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [Points de terminaison d'un VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [Journaux de flux VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

 **Vidéos connexes :** 
+  [Connectivity to AWS and hybrid AWS network architectures (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 

 **Exemples connexes :** 
+  [AWS Transit Gateway et solutions de sécurité évolutives](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [Ateliers sur la mise en réseau AWS](https://networking.workshop.aws/) 

# PERF05-BP05 Choisir des protocoles réseau afin d'améliorer les performances
<a name="perf_select_network_protocols"></a>

 Prenez des décisions concernant les protocoles de communication entre les systèmes et les réseaux en fonction de l'impact sur les performances de la charge de travail. 

 Il existe une relation entre la latence et la bande passante pour atteindre le débit. Si votre transfert de fichiers utilise TCP, des latences plus élevées réduiront le débit global. Il existe des approches pour résoudre ce problème avec le réglage du protocole TCP et les protocoles de transfert optimisés. Certaines approches utilisent le protocole UDP. 

 **Anti-modèles courants :** 
+  Vous utilisez TCP pour toutes les charges de travail, quelles que soient les exigences de performance. 

 **Avantages liés au respect de cette bonne pratique :** Pour vous assurer d'obtenir les meilleures performances pour cette charge de travail, vous devez choisir le bon protocole de communication entre les différents éléments de la charge de travail. Le protocole UDP sans connexion permet d'obtenir une vitesse élevée, mais sans retransmission ni fiabilité élevées. Quoique complet, le protocole TCP nécessite une surcharge plus importante pour le traitement des paquets. 

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

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

 Optimiser le trafic réseau : sélectionnez le protocole approprié pour optimiser les performances de votre charge de travail. Il existe une relation entre la latence et la bande passante pour atteindre le débit. Des latences plus élevées réduisent le débit global si votre transfert de fichiers utilise TCP. Il existe des approches pour résoudre ce problème de latence avec le réglage du protocole TCP et les protocoles de transfert optimisés. D'autres approches utilisent le protocole UDP. 

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

 **Documents connexes :** 
+  [Amazon EBS – Instances optimisées](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Mise en réseau améliorée d'EC2 sous Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Capacité réseau améliorée d'EC2 sous Windows](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [Groupes de placement EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [Activation de la mise en réseau améliorée avec Elastic Network Adapter (ENA) sur les instances de Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [Mise en réseau de produits avec AWS](https://aws.amazon.com/products/networking/) 
+  [Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [Transition vers le routage basé sur la latence dans Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [Points de terminaison d'un VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [Journaux de flux VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

 **Vidéos connexes :** 
+  [Connectivity to AWS and hybrid AWS network architectures (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 

 **Exemples connexes :** 
+  [AWS Transit Gateway et solutions de sécurité évolutives](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [Ateliers sur la mise en réseau AWS](https://networking.workshop.aws/) 

# PERF05-BP06 Choisir l'emplacement de votre charge de travail en fonction des exigences réseau
<a name="perf_select_network_location"></a>

 Utilisez les options d'emplacement dans le cloud disponibles pour réduire la latence du réseau ou améliorer le débit. Utilisez les Régions AWS, les zones de disponibilité, les groupes de placement et les emplacements périphériques comme AWS Outposts, AWS les zones locales et AWS Wavelength pour réduire la latence du réseau ou améliorer le débit. 

 L'infrastructure du AWS Cloud repose sur des régions et des zones de disponibilité. Une région est un emplacement physique dans le monde qui héberge plusieurs zones de disponibilité. 

 Les zones de disponibilité consistent en un ou plusieurs centres de données distincts, chacun disposant d'une alimentation, d'un réseau et d'une connectivité redondants, hébergés dans des installations séparées. Ces zones de disponibilité vous permettent d'exploiter des applications de production et des bases de données plus hautement disponibles, tolérantes aux pannes et évolutives que ce que peut vous offrir un centre de données unique. 

 Choisissez la ou les régions appropriées pour votre déploiement en fonction des éléments clés suivants : 
+  **Emplacement de vos utilisateurs**: choisir une région proche des utilisateurs de votre charge de travail garantit une latence plus faible lorsqu'ils utilisent la charge de travail. 
+  **Emplacement de vos données**: pour les applications utilisant de grandes quantités de données, le risque principal de goulot d'étranglement en termes de latence est encouru moment où les données sont transférées. Le code de l'application doit s'exécuter aussi près que possible des données. 
+  **Autres contraintes**: tenez compte de contraintes telles que la sécurité et la conformité. 

 Amazon EC2 fournit des groupes de placement pour la mise en réseau. Un groupe de placement est un regroupement logique d'instances permettant de réduire la latence ou d'augmenter la fiabilité. L'utilisation de groupes de placement avec des types d'instance pris en charge et un adaptateur Elastic Network Adapter (ENA) permet aux charges de travail de participer à un réseau 25 Gbit/s à faible latence. Les groupes de placement sont recommandés pour les charges de travail nécessitant une latence réseau faible, un débit réseau élevé, ou les deux. L'utilisation de groupes de placement présente l'avantage de réduire l'instabilité des communications réseau. 

 Les services sensibles à la latence sont livrés à la périphérie à l'aide d'un réseau mondial d'emplacements périphériques. Ces emplacements périphériques fournissent généralement des services tels que les réseaux de diffusion de contenu (CDN) et les systèmes de noms de domaine (DNS). Placer ces services en périphérie permet aux charges de travail de répondre avec une faible latence aux requêtes de contenu ou de résolution DNS. Ces services fournissent également des services géographiques tels que le ciblage géographique du contenu (qui fournit des contenus différents en fonction de l'emplacement des utilisateurs finaux) ou le routage en fonction de la latence pour diriger les utilisateurs finaux vers la région plus proche (latence minimum). 

 [https://aws.amazon.com/cloudfront/](https://aws.amazon.com/cloudfront/) est un réseau de diffusion de contenu (CDN) mondial qui peut être utilisé pour accélérer aussi bien du contenu statique comme des images, des scripts et des vidéos, que du contenu dynamique comme des API ou des applications Web. Il s'appuie sur un réseau mondial d'emplacements périphériques qui met en cache le contenu et fournit une connectivité réseau à hautes performances à nos utilisateurs. CloudFront accélère également de nombreuses autres fonctions telles que le chargement du contenu et les applications dynamiques, ce qui lui permet d'améliorer les performances de toutes les applications desservant du trafic sur Internet. [https://aws.amazon.com/lambda/edge/](https://aws.amazon.com/lambda/edge/) est une fonction d'Amazon CloudFront qui vous permet d'exécuter du code plus près des utilisateurs de votre charge de travail, ce qui améliore les performances et réduit la latence. 

 Amazon Route 53 est un service web de système de noms de domaine (DNS) dans le cloud hautement disponible et évolutif. Il est conçu pour donner aux développeurs et aux entreprises un moyen extrêmement fiable et rentable d'acheminer les utilisateurs finaux vers des applications Internet en remplaçant des noms comme www.exemple.com, par des adresses IP numériques comme 192.168.2.1, que les ordinateurs utilisent pour se connecter l'un à l'autre. Route 53 est entièrement compatible avec IPv6. 

 [https://aws.amazon.com/outposts/](https://aws.amazon.com/outposts/) est conçu pour les charges de travail qui doivent rester hébergées sur site en raison des exigences de latence, lorsque vous souhaitez que cette charge de travail s'exécute en toute transparence avec le reste de vos autres charges de travail dans AWS. AWS Outposts sont des racks de calcul et de stockage entièrement gérés et configurables construits avec du matériel conçu par AWS qui vous permettent d'exécuter le calcul et le stockage sur site, tout en vous connectant de manière transparente au large éventail de services AWS dans le cloud. 

 [https://aws.amazon.com/about-aws/global-infrastructure/localzones/](https://aws.amazon.com/about-aws/global-infrastructure/localzones/) est conçu pour exécuter des charges de travail nécessitant une latence de quelques millisecondes, comme le rendu vidéo et les applications de bureau virtuel gourmandes en graphiques. Ces zones locales vous permettent de profiter de tous les avantages liés à la présence de ressources de calcul et de stockage plus proches des utilisateurs finaux. 

 [https://aws.amazon.com/wavelength/](https://aws.amazon.com/wavelength/) est conçu pour fournir des applications à latence ultra-faible aux appareils 5G en étendant AWS l'infrastructure, les services, les API et les outils aux réseaux 5G. Wavelength intègre le stockage et le calcul dans les réseaux 5G des fournisseurs de télécommunications pour aider votre charge de travail 5G si elle nécessite une latence de quelques millisecondes, comme les appareils IoT, le streaming de jeux, les véhicules autonomes et la production multimédia en direct. 

 Utilisez des services en périphérie pour réduire la latence et permettre la mise en cache de contenu. Assurez-vous d'avoir configuré correctement le contrôle du cache pour les services DNS et HTTP/HTTPS pour retirer le plus grand bénéfice de ces approches. 

 **Anti-modèles courants :** 
+  Vous regroupez toutes les ressources de charge de travail dans un seul emplacement géographique. 
+  Vous avez choisi la région la plus proche de votre emplacement, pas celle de l'utilisateur final de la charge de travail. 

 **Avantages liés au respect de cette bonne pratique :** Vous devez vous assurer que votre réseau est disponible partout où vous souhaitez atteindre les clients. L'utilisation du réseau mondial privé d'AWS garantit que vos clients bénéficient de la plus faible latence en déployant des charges de travail aux emplacements les plus proches d'eux. 

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

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

 Réduire la latence en sélectionnant les emplacements appropriés : identifiez où se trouvent vos utilisateurs et vos données. Profitez des Régions AWS, des zones de disponibilité, des groupes de placement et des emplacements périphériques afin de réduire la latence. 

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

 **Documents connexes :** 
+  [Amazon EBS – Instances optimisées](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Mise en réseau améliorée d'EC2 sous Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Capacité réseau améliorée d'EC2 sous Windows](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [Groupes de placement EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [Activation de la mise en réseau améliorée avec Elastic Network Adapter (ENA) sur les instances de Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [Mise en réseau de produits avec AWS](https://aws.amazon.com/products/networking/) 
+  [Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [Transition vers le routage basé sur la latence dans Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [Points de terminaison d'un VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [Journaux de flux VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

 **Vidéos connexes :** 
+  [Connectivity to AWS and hybrid AWS network architectures (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 

 **Exemples connexes :** 
+  [AWS Transit Gateway et solutions de sécurité évolutives](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [Ateliers sur la mise en réseau AWS](https://networking.workshop.aws/) 

# PERF05-BP07 Optimiser la configuration réseau en fonction de métriques
<a name="perf_select_network_optimize"></a>

 Utilisez les données collectées et analysées pour prendre des décisions avisées concernant l'optimisation de votre configuration réseau. Mesurez l'impact de ces modifications et utilisez les mesures d'impact pour prendre des décisions. 

 Activez les journaux de flux VPC pour tous les réseaux VPC utilisés par votre charge de travail. La fonctionnalité de journaux de flux VPC vous permet de capter des informations sur le trafic IP circulant vers et depuis les interfaces réseau dans votre VPC. Les journaux de flux VPC vous aident à effectuer un certain nombre de tâches, telles que la résolution des problèmes qui empêchent un trafic spécifique d'atteindre une instance, ce qui vous aide à diagnostiquer des règles de groupe de sécurité trop restrictives. Vous pouvez utiliser les journaux de flux comme outil de sécurité pour surveiller le trafic qui atteint votre instance, profiler votre trafic réseau et rechercher des comportements de trafic anormaux. 

 Utilisez les métriques de mise en réseau pour apporter des modifications à la configuration de mise en réseau à mesure que la charge de travail évolue. Les réseaux basés sur le cloud peuvent être rapidement recréés. L'évolution de votre architecture réseau dans le temps est donc nécessaire pour continuer d'assurer l'efficacité des performances. 

 **Anti-modèles courants :** 
+  Vous supposez que tous les problèmes liés aux performances sont liés à l'application. 
+  Vous testez uniquement les performances de votre réseau à partir d'un emplacement proche de l'endroit où vous avez déployé la charge de travail. 

 **Avantages liés au respect de cette bonne pratique :**Vous devez surveiller les métriques de performance réseau afin de vous assurer que vous avez les métriques requises pour la charge de travail. Vous pouvez capturer des informations sur le trafic IP vers et depuis les interfaces réseau de votre VPC et utiliser ces données pour ajouter de nouvelles optimisations ou déployer votre charge de travail dans de nouvelles régions géographiques. 

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

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

 Activer les journaux de flux VPC : les journaux de flux VPC permettent de capturer des informations sur le trafic IP vers et depuis les interfaces réseau dans votre VPC. Les journaux de flux VPC vous aident à effectuer un certain nombre de tâches, telles que la résolution des problèmes qui empêchent un trafic spécifique d'atteindre une instance, ce qui peut vous aider à diagnostiquer des règles de groupe de sécurité trop restrictives. Vous pouvez utiliser les journaux de flux comme outil de sécurité pour surveiller le trafic qui atteint votre instance, profiler votre trafic réseau et rechercher des comportements de trafic anormaux. 

 Sélectionner les métriques appropriées pour les options de réseau : assurez-vous de sélectionner les métriques de réseau appropriées pour votre charge de travail. Vous pouvez activer les métriques pour la passerelle NAT VPC, les passerelles de transit et les tunnels VPN. 

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

 **Documents connexes :** 
+  [Amazon EBS – Instances optimisées](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Mise en réseau améliorée d'EC2 sous Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Capacité réseau améliorée d'EC2 sous Windows](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [Groupes de placement EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [Activation de la mise en réseau améliorée avec Elastic Network Adapter (ENA) sur les instances de Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [Mise en réseau de produits avec AWS](https://aws.amazon.com/products/networking/) 
+  [Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [Transition vers le routage basé sur la latence dans Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [Points de terminaison d'un VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [Journaux de flux VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [Surveillance de vos réseaux mondiaux et principaux avec les métriques Amazon Cloudwatch](https://docs.aws.amazon.com/vpc/latest/tgwnm/monitoring-cloudwatch-metrics.html) 
+  [Surveiller en permanence le trafic et les ressources du réseau](https://docs.aws.amazon.com/whitepapers/latest/security-best-practices-for-manufacturing-ot/continuously-monitor-network-traffic-and-resources.html) 

 **Vidéos connexes :** 
+  [Connectivity to AWS and hybrid AWS network architectures (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [Monitoring and troubleshooting network traffic](https://www.youtube.com/watch?v=Ed09ReWRQXc) 
+  [Simplify Traffic Monitoring and Visibility with Amazon VPC Traffic Mirroring](https://www.youtube.com/watch?v=zPovlZxuZ-c) 

 **Exemples connexes :** 
+  [AWS Transit Gateway et solutions de sécurité évolutives](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [Ateliers sur la mise en réseau AWS](https://networking.workshop.aws/) 
+  [Surveillance réseau AWS](https://github.com/aws-samples/monitor-vpc-network-patterns) 

# Vérifiez.
<a name="a-review"></a>

**Topics**
+ [

# PERF 6  Comment faire évoluer votre charge de travail pour tirer parti des nouvelles versions ?
](w2aac19c11b7b5.md)

# PERF 6  Comment faire évoluer votre charge de travail pour tirer parti des nouvelles versions ?
<a name="w2aac19c11b7b5"></a>

 Lors de la conception architecturale des charges de travail fini, il existe des options que vous pouvez choisir. Au fil du temps, cependant, de nouvelles technologies et approches entrent en scène et permettent d'améliorer les performances de votre architecture. 

**Topics**
+ [

# PERF06-BP01 Se tenir informé des nouvelles ressources et des nouveaux services
](perf_continue_having_appropriate_resource_type_keep_up_to_date.md)
+ [

# PERF06-BP02 Définir un processus pour améliorer les performances des charges de travail
](perf_continue_having_appropriate_resource_type_define_process.md)
+ [

# PERF06-BP03 Faire évoluer les performances des charges de travail au fil du temps
](perf_continue_having_appropriate_resource_type_evolve.md)

# PERF06-BP01 Se tenir informé des nouvelles ressources et des nouveaux services
<a name="perf_continue_having_appropriate_resource_type_keep_up_to_date"></a>

Évaluez les méthodes d'amélioration des performances au fur et à mesure que de nouveaux services, modèles de conception et offres de produits entrent en scène. Identifiez celles de ces méthodes qui sont susceptibles d'améliorer les performances ou d'accroître l'efficacité de la charge de travail via l'évaluation, la discussion interne ou l'analyse externe.

Mettez en place un processus permettant d'évaluer les mises à jour, les nouvelles fonctions et les services pertinents pour votre charge de travail. Par exemple, la création d'une preuve de concept qui utilise les nouvelles technologies ou la consultation d'un groupe interne. Lorsque vous essayez de nouvelles idées ou services, exécutez des tests de performances pour mesurer leur impact sur les performances de la charge de travail. Utilisation de l'infrastructure en tant que code (IaC) et d'une culture DevOps pour profiter de la capacité de tester fréquemment de nouvelles idées ou technologies avec un coût ou un risque minimal. 

 **Résultat souhaité :** vous avez documenté l'inventaire des composants, votre modèle de conception et vos caractéristiques de charge de travail. Vous utilisez cette documentation pour créer une liste d'abonnements afin d'informer votre équipe sur les mises à jour de service, les fonctionnalités et les nouveaux produits. Vous avez identifié les parties prenantes du composant qui évalueront les nouvelles versions et formuleront une recommandation quant à l'impact et la priorité pour l'entreprise. 

 **Anti-modèles courants :** 
+  Vous n'examinez les nouvelles options et les nouveaux services que lorsque votre charge de travail ne répond pas aux exigences de performances. 
+  Vous supposez que toutes les nouvelles offres de produits ne seront pas utiles pour votre charge de travail. 
+  Vous choisissez toujours de créer plutôt que d'acheter lorsque vous améliorez votre charge de travail. 

 **Avantages liés au respect de cette bonne pratique :** en envisageant de nouveaux services ou de nouvelles offres de produits, vous pouvez améliorer les performances et l'efficacité de votre charge de travail, réduire le coût de l'infrastructure et limiter l'effort requis pour gérer vos services.

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

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

 Mettez en place un processus permettant d'évaluer les mises à jour, les nouvelles fonctions et les services d'AWS. Vous pouvez, à titre d'exemple, créer des preuves de concept qui utilisent les nouvelles technologies. Lorsque vous essayez de nouvelles idées ou de nouveaux services, exécutez des tests de performance afin de mesurer l'impact sur l'efficacité ou les performances de la charge de travail. Tirez parti de la flexibilité offerte par AWS pour tester fréquemment de nouvelles idées ou des technologies avec un coût et un risque limités. 

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

1.  Documentez vos solutions de charge de travail. Utilisez votre solution de base de données de gestion des configurations (CMDB) pour documenter votre inventaire et classer par catégorie vos services et dépendances. Utilisez des outils tels qu' [AWS Config](https://aws.amazon.com/config/) pour obtenir une liste de tous les services AWS utilisés par votre charge de travail. 

1.  Utilisez [une stratégie de balisage](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) pour documenter les propriétaires de chaque composant et catégorie de charge de travail. Par exemple, si vous utilisez actuellement Amazon RDS comme solution de base de données, demandez à votre administrateur de base de données (DBA) d'être désigné et documenté comme propriétaire afin d'évaluer et de rechercher de nouveaux services et mises à jour. 

1.  Identifiez les actualités et mettez à jour les sources liées aux composants de votre charge de travail. Dans l'exemple Amazon RDS mentionné précédemment, le propriétaire de la catégorie doit s'abonner au blog [Quelles sont les nouveautés AWS ?](https://aws.amazon.com/new/) pour les produits qui correspondent à sa charge de travail. Vous pouvez vous abonner au flux RSS ou gérer vos [abonnements aux e-mails](https://pages.awscloud.com/communication-preferences.html). Surveillez les mises à niveau de la base de données Amazon RDS que vous utilisez, les nouvelles fonctionnalités, les instances publiées et les nouveaux produits tels qu'Amazon Aurora Serverless. Surveillez les blogs, les produits et les fournisseurs du secteur sur lesquels le composant s'appuie.

1.  Documentez votre processus d'évaluation des mises à jour et des nouveaux services. Donnez aux propriétaires de votre catégorie le temps et l'espace nécessaires pour rechercher, tester, expérimenter et valider les mises à jour et les nouveaux services. Reportez-vous aux exigences opérationnelles documentées et aux KPI pour établir l'ordre de priorité des mises à jour qui auront un impact positif sur les activités. 

 **Niveau d'effort du plan d'implémentation :** pour établir cette bonne pratique, vous devez connaître les composants actuels de votre charge de travail et identifier les propriétaires de catégorie et les sources de mises à jour des services. Il s'agit d'un faible niveau d'effort au début, mais c'est un processus continu qui pourrait évoluer et s'améliorer au fil du temps. 

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

 **Documents connexes :** 
+  [Blog AWS](https://aws.amazon.com/blogs/) 
+  [Nouveautés AWS](https://aws.amazon.com/new/?ref=wellarchitected) 

 **Vidéos connexes :** 
+  [Chaîne YouTube AWS Events](https://www.youtube.com/channel/UCdoadna9HFHsxXWhafhNvKw) 
+  [Chaîne YouTube AWS Online Tech Talks](https://www.youtube.com/user/AWSwebinars) 
+  [Chaîne YouTube Amazon Web Services](https://www.youtube.com/channel/UCd6MoB9NC6uYN2grvUNT-Zg) 

 **Exemples connexes :** 
+  [AWS Github](https://github.com/aws) 
+  [AWS Skill Builder](https://explore.skillbuilder.aws/learn) 

# PERF06-BP02 Définir un processus pour améliorer les performances des charges de travail
<a name="perf_continue_having_appropriate_resource_type_define_process"></a>

 Définissez un processus d'évaluation de nouveaux services, les modèles de conception, les types de ressources et les configurations au fur et à mesure qu'elles deviennent disponibles. Par exemple, exécutez des tests de performances existants sur de nouvelles offres d'instances afin de déterminer leur potentiel d'amélioration de votre charge de travail. 

 Les performances de votre charge de travail présentent quelques contraintes clés. Documentez-les pour connaître les types d'innovations qui pourraient améliorer les performances de votre charge de travail. Utilisez ces informations lors de l'apprentissage de nouveaux services ou la technologie au fur et à mesure de leur disponibilité afin d'identifier les moyens d'atténuer des contraintes ou des goulets d'étranglement. 

 **Anti-modèles courants :** 
+  Vous supposez que votre architecture actuelle deviendra statique et ne sera jamais mise à jour au fil du temps. 
+  Vous introduisez des modifications d'architecture au fil du temps sans justification basée sur les métriques. 

 **Avantages liés au respect de cette bonne pratique :** Un processus défini pour les modifications d'architecture rend possible l'utilisation des données collectées pour influencer la conception de votre charge de travail au fil du temps. 

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

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

 Identifier les contraintes de performance clés pour votre charge de travail : documentez les contraintes environnementales de votre charge de travail pour connaître les types d'innovations qui pourraient améliorer ses performances. 

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

 **Documents connexes :** 
+  [Blog AWS](https://aws.amazon.com/blogs/) 
+  [Nouveautés AWS](https://aws.amazon.com/new/?ref=wellarchitected) 

 **Vidéos connexes :** 
+  [Chaîne YouTube AWS Events](https://www.youtube.com/channel/UCdoadna9HFHsxXWhafhNvKw) 
+  [Chaîne YouTube AWS Online Tech Talks](https://www.youtube.com/user/AWSwebinars) 
+  [Chaîne YouTube Amazon Web Services](https://www.youtube.com/channel/UCd6MoB9NC6uYN2grvUNT-Zg) 

 **Exemples connexes :** 
+  [AWS Github](https://github.com/aws) 
+  [AWS Skill Builder](https://explore.skillbuilder.aws/learn) 

# PERF06-BP03 Faire évoluer les performances des charges de travail au fil du temps
<a name="perf_continue_having_appropriate_resource_type_evolve"></a>

 En tant qu'organisation, utilisez les informations collectées par le biais du processus d'évaluation pour éclairer l'adoption de nouveaux services ou ressources lorsqu'ils sont disponibles. 

 Utilisez les informations que vous collectez lors de l'évaluation de nouveaux services ou de technologies pour modifier. Les modifications de votre activité ou de votre charge de travail s'accompagnent toujours d'une évolution des besoins en termes de performances. Utilisez les données collectées à partir des métriques de de votre charge de travail pour évaluer les zones où vous pouvez obtenir les plus grands gains d'efficacité des performances, ou de manière proactive adopter de nouveaux services et technologies pour répondre à la demande. 

 **Anti-modèles courants :** 
+  Vous supposez que votre architecture actuelle deviendra statique et ne sera jamais mise à jour au fil du temps. 
+  Vous introduisez des modifications d'architecture au fil du temps sans justification basée sur les métriques. 
+  Vous modifiez l'architecture simplement parce que tous les autres acteurs du secteur l'utilisent. 

 **Avantages liés au respect de cette bonne pratique :** Pour optimiser les performances et les coûts de votre charge de travail, vous devez évaluer tous les logiciels et services disponibles afin d'identifier ceux qui conviennent à 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>

 Faire évoluer votre charge de travail dans le temps : utilisez les informations que vous collectez lors de l'évaluation de nouveaux services ou technologies pour encourager le changement. Les modifications de votre activité ou de votre charge de travail s'accompagnent toujours d'une évolution des besoins en termes de performances. Utilisez les données collectées à partir des métriques de votre charge de travail pour évaluer les zones où vous pouvez obtenir les plus grands gains d'efficacité des performances ou adopter de manière proactive de nouveaux services et technologies pour répondre à la demande. 

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

 **Documents connexes :** 
+  [Blog AWS](https://aws.amazon.com/blogs/) 
+  [Nouveautés AWS](https://aws.amazon.com/new/?ref=wellarchitected) 

 **Vidéos connexes :** 
+  [Chaîne YouTube AWS Events](https://www.youtube.com/channel/UCdoadna9HFHsxXWhafhNvKw) 
+  [Chaîne YouTube AWS Online Tech Talks](https://www.youtube.com/user/AWSwebinars) 
+  [Chaîne YouTube Amazon Web Services](https://www.youtube.com/channel/UCd6MoB9NC6uYN2grvUNT-Zg) 

 **Exemples connexes :** 
+  [AWS Github](https://github.com/aws) 
+  [AWS Skill Builder](https://explore.skillbuilder.aws/learn) 

# Surveillance
<a name="a-monitoring"></a>

**Topics**
+ [

# PERF 7  Comment surveiller vos ressources pour vous assurer qu'elles fonctionnent ?
](w2aac19c11b9b5.md)

# PERF 7  Comment surveiller vos ressources pour vous assurer qu'elles fonctionnent ?
<a name="w2aac19c11b9b5"></a>

 Les performances du système peuvent se dégrader au fil du temps. Surveillez-les afin d'identifier cette dégradation et corriger les facteurs internes ou externes tels que le système d'exploitation ou le chargement des applications. 

**Topics**
+ [

# PERF07-BP01 Enregistrer les métriques liées aux performances
](perf_monitor_instances_post_launch_record_metrics.md)
+ [

# PERF07-BP02 Analyser les métriques lorsque des événements ou incidents se produisent
](perf_monitor_instances_post_launch_review_metrics.md)
+ [

# PERF07-BP03 Définir des indicateurs clés de performance (KPI) pour mesurer les performances de la charge de travail
](perf_monitor_instances_post_launch_establish_kpi.md)
+ [

# PERF07-BP04 Utiliser la surveillance pour générer des notifications basées sur une alarme
](perf_monitor_instances_post_launch_generate_alarms.md)
+ [

# PERF07-BP05 Vérifier les métriques à intervalles réguliers
](perf_monitor_instances_post_launch_review_metrics_collected.md)
+ [

# PERF07-BP06 Surveillance et alarmes proactives
](perf_monitor_instances_post_launch_proactive.md)

# PERF07-BP01 Enregistrer les métriques liées aux performances
<a name="perf_monitor_instances_post_launch_record_metrics"></a>

 Utilisez un service de surveillance et d'observabilité pour enregistrer les métriques liées aux performances. Parmi les exemples de métriques, citons les transactions de la base de données, les requêtes lentes, la latence d'E/S, le débit des demandes HTTP, la latence de service ou d'autres données clés. 

 Identifiez les métriques de performance qui comptent pour votre charge de travail et enregistrez-les. Ces données sont un élément important pour être en mesure d'identifier les composants qui ont une incidence sur les performances globales ou sur l'efficacité de la charge de travail. 

 En travaillant à partir de l'expérience client, identifiez les métriques importantes. Pour chaque métrique, identifiez la cible, la méthode d'évaluation et la priorité. Utilisez-les pour créer des alarmes et des notifications pour gérer de manière proactive les problèmes liés à la performance. 

 **Anti-modèles courants :** 
+  Vous surveillez uniquement les métriques au niveau du système d'exploitation pour obtenir des informations sur votre charge de travail. 
+  Vous concevez l'architecture de vos besoins de calcul de sorte à répondre aux pics de charges de travail. 

 **Avantages liés au respect de cette bonne pratique :** Vous avez besoin d'une vue opérationnelle unifiée de vos indicateurs de performance clés (KPI) pour optimiser les performances et l'utilisation des ressources. Vous pouvez créer des tableaux de bord et soumettre vos données à des calculs métriques pour en tirer des informations opérationnelles et d'utilisation. 

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

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

 Identifiez et enregistrez les métriques de performance pertinentes pour votre charge de travail. Ces données permettent d'identifier les composants ayant un impact sur les performances globales ou l'efficacité de votre charge de travail. 

 Identifier les métriques de performance : utilisez l'expérience client pour identifier les métriques les plus importantes. Pour chaque métrique, identifiez la cible, la méthode d'évaluation et la priorité. Utilisez ces points de données pour créer des alarmes et des notifications afin de gérer de manière proactive les problèmes liés à la performance. 

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

 **Documents connexes :** 
+  [Documentation CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [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?ref=wellarchitected) 
+  [Publier des métriques personnalisées](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html?ref=wellarchitected) 
+  [Surveillance, journalisation et performances Partenaires APN](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+  [Documentation X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 

 **Vidéos connexes :** 
+  [Cut through the chaos: Gain operational visibility and insight (MGT301-R1)](https://www.youtube.com/watch?v=nLYGbotqHd0) 
+  [Application Performance Management on AWS](https://www.youtube.com/watch?v=5T4stR-HFas&ref=wellarchitected) 
+  [Élaborer un plan de surveillance](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 

 **Exemples connexes :** 
+  [Niveau 100 : surveillance avec les tableaux de bord CloudWatch](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 
+  [Niveau 100 : surveillance d'une instance Windows EC2 avec les tableaux de bord CloudWatch](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_windows_ec2_cloudwatch/) 
+  [Niveau 100 : surveillance d'une instance Amazon Linux EC2 avec les tableaux de bord CloudWatch](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_linux_ec2_cloudwatch/) 

# PERF07-BP02 Analyser les métriques lorsque des événements ou incidents se produisent
<a name="perf_monitor_instances_post_launch_review_metrics"></a>

 En réponse à un événement/incident ou lors de celui-ci, utilisez les tableaux de bord ou les rapports de supervision pour comprendre et diagnostiquer l'impact. Ces vues permettent d’identifier les portions de la charge de travail qui ne fonctionnent pas comme prévu. 

 Lorsque vous écrivez des scénarios utilisateurs critiques pour votre architecture, incluez les exigences en matière de performances, notamment en précisant à quelle vitesse devrait s'exécuter chaque scénario critique. Pour ces scénarios critiques, mettez en place d'autres parcours utilisateurs écrits à l'avance afin de vous assurer que ces scénarios fonctionnent conformément à vos exigences. 

 **Anti-modèles courants :** 
+  Vous supposez que les événements de performances sont exceptionnels et uniquement liés à des anomalies. 
+  Vous n'évaluez les métriques de performances existantes que lorsque vous répondez à des événements de performances. 

 **Avantages liés au respect de cette bonne pratique :** Afin de déterminer si votre charge de travail fonctionne aux niveaux prévus, vous devez répondre aux événements de performances en recueillant des données de métriques supplémentaires pour l'analyse. Ces données sont utilisées pour comprendre l'impact de l'événement de performance et suggérer des modifications pour améliorer les performances de 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>

 Donner la priorité à l'expérience dans les scénarios utilisateur critiques : lorsque vous écrivez des scénarios utilisateur critiques pour votre architecture, incluez les exigences en matière de performances, notamment en précisant à quelle vitesse devrait s'exécuter chaque scénario critique. Pour ces scénarios critiques, mettez en place d'autres parcours utilisateurs écrits à l'avance afin de vous assurer de connaître comment les narrations de l’utilisateur fonctionnent par rapport à vos exigences. 

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

 **Documents connexes :** 
+  [Documentation CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [Surveillance, journalisation et performances Partenaires APN](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+  [Documentation X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 

 **Vidéos connexes :** 
+  [Cut through the chaos: Gain operational visibility and insight (MGT301-R1)](https://www.youtube.com/watch?v=nLYGbotqHd0) 
+  [Optimize applications through Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Demo of Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Exemples connexes :** 
+  [Mesurer le temps de chargement des pages avec Amazon CloudWatch Synthetics](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Client web Amazon CloudWatch RUM](https://github.com/aws-observability/aws-rum-web) 

# PERF07-BP03 Définir des indicateurs clés de performance (KPI) pour mesurer les performances de la charge de travail
<a name="perf_monitor_instances_post_launch_establish_kpi"></a>

 Identifiez les KPI qui mesurent les performances de la charge de travail de manière quantitative et qualitative. Les KPI permettent de mesurer l'état d'une charge de travail par rapport à un objectif commercial. Ils permettent aux équipes commerciales et d'ingénierie de s'aligner sur la mesure des objectifs et des stratégies et sur la façon dont ces éléments se combinent pour générer des résultats commerciaux. Les KPI doivent être revus lorsque les objectifs commerciaux, les stratégies ou les exigences des utilisateurs finaux changent.   

 Par exemple, une charge de travail de site Web peut utiliser le temps de chargement de la page comme indication des performances globales. Cette métrique serait l'un des éléments de données pris en compte pour mesurer l'expérience d'un utilisateur final. En plus d'identifier les temps limites de chargement des pages, vous devez documenter le résultat attendu ou le risque commercial si les performances ne sont pas atteintes. Un long temps de chargement des pages affecterait directement vos utilisateurs finaux, nuirait à leur expérience utilisateur et pourrait entraîner une perte de clients. Lorsque vous définissez vos seuils de KPI, combinez à la fois les points de référence en vigueur dans votre secteur et les attentes de vos utilisateurs finaux. Par exemple, si le point de référence actuel établi par votre secteur d'activité pour le chargement d'une page Web est un délai de deux secondes, mais que vos utilisateurs finaux s'attendent à ce qu'une page Web se charge dans un délai d'une seconde, vous devez prendre en compte ces deux éléments de données lors de la définition des KPI. Un autre exemple de KPI pourrait se concentrer sur la satisfaction des besoins de performances internes. Un seuil de KPI peut spécifier que la génération des rapports de vente doit se faire dans un délai d'un jour ouvrable après la génération des données de production. Ces rapports peuvent affecter directement les décisions quotidiennes et les résultats commerciaux.  

 **Résultat souhaité :** La définition de KPI implique différents départements et parties prenantes. Votre équipe doit évaluer les KPI de votre charge de travail à l'aide de données précises en temps réel et de données historiques à titre de référence et créer des tableaux de bord qui effectuent des calculs de métriques par rapport à vos données de KPI pour générer des informations opérationnelles et d'utilisation. Les KPI doivent être documentés. Les KPI et les seuils convenus qui soutiennent les objectifs et les stratégies de l'entreprise, ainsi que les métriques surveillées doivent être indiqués. Les KPI identifient les exigences de performance, sont vérifiés intentionnellement et sont fréquemment partagés et acceptés par toutes les équipes. Les risques et les compromis sont clairement identifiés et compris, et l'impact sur l'activité si les seuils de KPI ne sont pas atteints est connu. 

 **Anti-modèles courants :** 
+  Vous surveillez uniquement les métriques au niveau du système pour avoir un aperçu de votre charge de travail et ne comprenez pas les impacts commerciaux possibles. 
+  Vous supposez que vos KPI sont déjà publiés et partagés en tant que données de métriques standard. 
+  Vous définissez des KPI, mais vous ne les partagez pas avec toutes les équipes. 
+  Vous ne définissez pas des KPI quantitatifs et mesurables. 
+  Vous ne tenez pas compte des objectifs ni des stratégies de l'entreprise pour définir vos KPI. 

 

 **Avantages liés au respect de cette bonne pratique :** L'identification de métriques spécifiques qui représentent l'état de la charge de travail contribue à aligner les équipes sur leurs priorités et à définir des résultats commerciaux atteignables. Le partage de ces métriques avec tous les départements offre une visibilité et un alignement sur les seuils, les attentes et l'impact commercial. 

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

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

 Tous les départements et toutes les équipes métier concernés par l'état de la charge de travail doivent contribuer à la définition des KPI. Une seule personne doit gérer la collaboration, les délais, la documentation et les informations relatives aux KPI d'une organisation. Ce responsable unique partagera souvent les objectifs et les stratégies de l'entreprise et attribuera des tâches aux parties prenantes pour qu'ils créent des KPI dans leurs départements respectifs. Une fois les KPI définis, l'équipe des opérations aide souvent à définir les métriques qui soutiendront et informeront le succès des différents KPI. Les KPI ne sont efficaces que si tous les membres de l'équipe responsables d'une charge de travail en a connaissance. 

 **Étapes d'implémentation** 

1.  Identifiez et documentez les parties prenantes de l'entreprise. 

1.  Identifiez les objectifs et les stratégies de l'entreprise. 

1.  Passez en revue les KPI qui correspondent aux objectifs et aux stratégies de votre entreprise dans votre secteur d'activité. 

1.  Passez en revue les attentes des utilisateurs finaux concernant votre charge de travail. 

1.  Définissez et documentez des KPI qui soutiennent les objectifs et les stratégies de l'entreprise. 

1.  Identifiez et documentez les stratégies de compromis approuvées pour atteindre les KPI. 

1.  Identifiez et documentez les métriques qui informeront les KPI. 

1.  Identifiez et documentez les seuils de KPI pour les niveaux de gravité ou d'alarme. 

1.  Identifiez et documentez le risque et l'impact si le KPI n'est pas atteint. 

1.  Identifiez la fréquence de révision par KPI. 

1.  Communiquer la documentation sur les KPI à toutes les équipes responsables de la charge de travail. 

** Niveau d'effort du plan d'implémentation :** Définir et communiquer les KPI implique un niveau d'effort *faible* . Cela peut généralement se faire en quelques semaines et implique de se réunir avec les parties prenantes de l'entreprise et d'examiner les objectifs, les stratégies et les métriques de la charge de travail.

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

 **Documents connexes :** 
+ [Documentation CloudWatch ](http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Surveillance, journalisation et performances Partenaires APN](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+ [Documentation X-Ray ](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Fonctionnement des tableaux de bord Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html?ref=wellarchitected) 
+  [KPI Quick](https://docs.aws.amazon.com/quicksight/latest/user/kpi.html) 

 **Vidéos connexes :** 
+  [AWS re:Invent 2019: Scaling up to your first 10 million users (ARC211-R)](https://www.youtube.com/watch?v=kKjm4ehYiMs&ref=wellarchitected) 
+  [Cut through the chaos: Gain operational visibility and insight (MGT301-R1)](https://www.youtube.com/watch?v=nLYGbotqHd0&ref=wellarchitected) 
+  [Élaborer un plan de surveillance](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 

 

 **Exemples connexes :** 
+  [Création d'un tableau de bord avec Quick](https://github.com/aws-samples/amazon-quicksight-sdk-proserve) 

# PERF07-BP04 Utiliser la surveillance pour générer des notifications basées sur une alarme
<a name="perf_monitor_instances_post_launch_generate_alarms"></a>

 En vous servant des KPI que vous avez définis, utilisez un système de surveillance qui génère des alarmes automatiquement lorsque ces mesures sont situées en dehors des limites attendues. 

 Amazon CloudWatch peut récupérer des métriques à partir des ressources de votre architecture. Vous pouvez également récupérer et publier des métriques personnalisées pour faire apparaître des métriques d'entreprise ou des métriques dérivées. Utilisez CloudWatch ou un service de surveillance tiers pour définir des alarmes qui vous avertissent lorsque les seuils sont dépassés. Les alarmes indiquent qu'une métrique est située en dehors des limites attendues. 

 **Anti-modèles courants :** 
+  Vous comptez sur le personnel pour surveiller les métriques et réagir en cas de problème. 
+  Vous comptez uniquement sur les runbooks opérationnels, notamment lorsque des flux de travail sans serveur peuvent être déclenchés pour accomplir la même tâche. 

 **Avantages liés au respect de cette bonne pratique :** Vous pouvez définir des alarmes et automatiser des actions en fonction de seuils prédéfinis ou d'algorithmes de machine learning qui identifient les comportements anormaux dans vos métriques. Ces mêmes alarmes peuvent également déclencher des flux de travail sans serveur, ce qui peut modifier les caractéristiques de performance de votre charge de travail (par exemple, augmenter la capacité de calcul ou modifier la configuration de la base de données) 

 **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 les métriques : Amazon CloudWatch peut récupérer des métriques à partir des ressources de votre architecture. Vous pouvez récupérer et publier des métriques personnalisées pour faire apparaître des métriques métiers ou des métriques dérivées. Utilisez CloudWatch ou un service de surveillance tiers pour définir des alarmes qui indiquent les dépassements de seuils. 

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

 **Documents connexes :** 
+  [Documentation CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Surveillance, journalisation et performances Partenaires APN](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+  [Documentation X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Utilisation des alarmes et des actions d'alarme dans CloudWatch](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/cw-example-using-alarm-actions.html) 

 **Vidéos connexes :** 
+  [AWS re:Invent 2019: Scaling up to your first 10 million users (ARC211-R)](https://www.youtube.com/watch?v=kKjm4ehYiMs&ref=wellarchitected) 
+  [Cut through the chaos: Gain operational visibility and insight (MGT301-R1)](https://www.youtube.com/watch?v=nLYGbotqHd0&ref=wellarchitected) 
+  [Build a Monitoring Plan](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 
+  [Using AWS Lambda with Amazon CloudWatch Events](https://www.youtube.com/watch?v=WDBD3JmpLqs) 

 **Exemples connexes :** 
+  [Personnalisation des alarmes Cloudwatch Logs](https://github.com/awslabs/cloudwatch-logs-customize-alarms) 

# PERF07-BP05 Vérifier les métriques à intervalles réguliers
<a name="perf_monitor_instances_post_launch_review_metrics_collected"></a>

 Vérifiez les métriques qui sont collectées au titre de la maintenance de routine ou en réponse à des événements ou des incidents. Utilisez ces vérifications pour identifier les métriques qui ont été essentielles pour traiter les problèmes et les métriques supplémentaires, si elles ont été suivies, qui aideraient à identifier, traiter ou empêcher les problèmes. 

 Lorsque vous répondez aux incidents ou aux événements, évaluez les métriques qui ont été utiles dans la gestion du problème et les métriques qui auraient pu aider mais ne sont pas suivies actuellement. Utilisez ce processus pour améliorer la qualité des métriques que vous collectez afin de pouvoir prévenir ou résoudre plus rapidement les incidents futurs. 

 **Anti-modèles courants :** 
+  Vous autorisez les métriques à rester dans un état d'alarme pendant longtemps. 
+  Vous créez des alarmes qui ne sont pas exploitables par un système d'automatisation. 

 **Avantages liés au respect de cette bonne pratique :** Passer en revue en permanence les métriques qui sont collectées pour vous assurer qu'elles identifient, résolvent ou préviennent correctement les problèmes. Les métriques peuvent également devenir caduques si vous les laissez dans un état d'alarme pendant longtemps. 

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

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

 Améliorer constamment la collecte et le suivi des métriques : lorsque vous répondez aux incidents ou aux événements, évaluez les métriques qui ont été utiles dans la gestion du problème et les métriques qui auraient pu aider mais ne sont pas suivies actuellement. Utilisez cette méthode pour améliorer la qualité des métriques que vous collectez afin de pouvoir prévenir ou résoudre plus rapidement les incidents futurs. 

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

 **Documents connexes :** 
+  [Documentation CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [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?ref=wellarchitected) 
+  [Surveillance, journalisation et performances Partenaires APN](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+  [Documentation X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 

 **Vidéos connexes :** 
+  [Cut through the chaos: Gain operational visibility and insight (MGT301-R1)](https://www.youtube.com/watch?v=nLYGbotqHd0) 
+  [Application Performance Management on AWS](https://www.youtube.com/watch?v=5T4stR-HFas&ref=wellarchitected) 
+  [Build a Monitoring Plan](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 

 **Exemples connexes :** 
+  [Création d'un tableau de bord avec Quick](https://github.com/aws-samples/amazon-quicksight-sdk-proserve) 
+  [Niveau 100 : surveillance avec les tableaux de bord CloudWatch](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 

# PERF07-BP06 Surveillance et alarmes proactives
<a name="perf_monitor_instances_post_launch_proactive"></a>

 Utilisez les KPI en combinaison avec des systèmes de surveillance et d'alarme pour traiter de manière proactive les problèmes liés aux performances. Utilisez des alarmes pour déclencher des actions automatisées afin de corriger les problèmes dans la mesure du possible. Faites remonter l'alarme aux personnes qui peuvent répondre si une réponse automatique n'est pas possible. Par exemple, vous pourriez disposer d'un système capable de prédire les valeurs attendues de KPI lorsqu'elles dépassent certains seuils d'alarme. Vous pouvez aussi disposer d’un outil capable d'arrêter ou de restaurer automatiquement des déploiements si les valeurs des KPI dépassent celles attendues. 

 Mettez en place des processus qui rendent visibles les performances pendant que votre charge de travail est en cours d'exécution. Créez des tableaux de bord de surveillance et établissez des normes de référence pour les attentes en matière de performances pour déterminer si les performances de la charge de travail sont optimales. 

 **Anti-modèles courants :** 
+  Vous autorisez uniquement le personnel des opérations à apporter des modifications opérationnelles à la charge de travail. 
+  Vous confiez toutes les activités de filtre des alarmes à l'équipe des opérations sans correction proactive. 

 **Avantages liés au respect de cette bonne pratique :** La correction proactive des actions d'alarme permet au personnel d'assistance de se concentrer sur les éléments qui ne sont pas exploitables automatiquement. Cela garantit que le personnel des opérations ne soit pas submergé par toutes les alarmes et se concentre uniquement sur les alarmes critiques. 

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

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

 Surveiller les performances au cours des opérations : mettez en œuvre des processus garantissant une visibilité des performances lors de l'exécution de votre charge de travail. Créez des tableaux de bord de surveillance et établissez une référence pour les attentes en matière de performances. 

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

 **Documents connexes :** 
+  [Documentation CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Surveillance, journalisation et performances Partenaires APN](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+  [Documentation X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Utilisation des alarmes et des actions d'alarme dans CloudWatch](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/cw-example-using-alarm-actions.html) 

 **Vidéos connexes :** 
+  [Cut through the chaos: Gain operational visibility and insight (MGT301-R1)](https://www.youtube.com/watch?v=nLYGbotqHd0) 
+  [Application Performance Management on AWS](https://www.youtube.com/watch?v=5T4stR-HFas&ref=wellarchitected) 
+  [Build a Monitoring Plan](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 
+  [Using AWS Lambda with Amazon CloudWatch Events](https://www.youtube.com/watch?v=WDBD3JmpLqs) 

 **Exemples connexes :** 
+  [Personnalisation des alarmes Cloudwatch Logs](https://github.com/awslabs/cloudwatch-logs-customize-alarms) 

# Compromis
<a name="a-tradeoffs"></a>

**Topics**
+ [

# PERF 8  Comment utiliser les compromis pour améliorer les performances ?
](w2aac19c11c11b5.md)

# PERF 8  Comment utiliser les compromis pour améliorer les performances ?
<a name="w2aac19c11c11b5"></a>

 Lors de la conception architecturale de solutions, identifier les compromis permet de sélectionner une approche optimale. En règle générale, vous pouvez améliorer les performances en faisant un compromis sur la cohérence, la durabilité et l'espace en faveur du temps et de la latence. 

**Topics**
+ [

# PERF08-BP01 Comprendre les domaines où les performances sont d'une importance critique
](perf_tradeoffs_performance_critical_areas.md)
+ [

# PERF08-BP02 Découvrir les modèles de conception et les services
](perf_tradeoffs_performance_design_patterns.md)
+ [

# PERF08-BP03 Identifier la façon dont les compromis affectent les clients et l'efficacité
](perf_tradeoffs_performance_understand_impact.md)
+ [

# PERF08-BP04 Mesurer l'impact des améliorations de performances
](perf_tradeoffs_performance_measure.md)
+ [

# PERF08-BP05 Utiliser différentes stratégies en lien avec les performances
](perf_tradeoffs_performance_implement_strategy.md)

# PERF08-BP01 Comprendre les domaines où les performances sont d'une importance critique
<a name="perf_tradeoffs_performance_critical_areas"></a>

 Comprenez et identifiez les domaines où l'augmentation des performances de votre charge de travail aura un impact positif sur l'efficacité ou l'expérience client. Par exemple, un site web qui comporte un grand nombre d'interactions clients pourrait gagner à utiliser des services de périphérie pour rapprocher la diffusion de contenus des clients. 

**Résultat souhaité :** améliorer l'efficacité des performances en comprenant votre architecture, vos modèles de trafic et d'accès aux données, et identifier vos temps de latence et de traitement. Identifier les goulots d'étranglement potentiels qui pourraient avoir une incidence sur l'expérience client à mesure que la charge de travail augmente. Une fois que vous aurez identifié ces domaines, déterminez quelle solution vous pouvez déployer afin de surmonter ces problèmes de performances.

 **Anti-modèles courants :** 
+  Vous supposez que les métriques de calcul standard telles que `CPUUtilization` ou la sollicitation de la mémoire suffisent pour détecter les problèmes de performances. 
+  Vous n'utilisez que les métriques par défaut enregistrées par le logiciel de surveillance que vous avez sélectionné. 
+  Vous n'examinez les métriques qu'en cas de problème. 

 **Avantages liés au respect de cette bonne pratique :** la compréhension des domaines critiques de performances aide les propriétaires des charges de travail à surveiller les KPI et à prioriser les améliorations à impact élevé. 

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

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

Mettez en place un suivi de bout en bout afin d'identifier les tendances du trafic, la latence et les domaines de performances critiques. Surveillez vos modèles d'accès aux données afin d'identifier les requêtes lentes ou les données mal fragmentées et partitionnées. Identifiez les zones de charge de travail limitées à l'aide de tests ou de surveillance des charges.

## Étapes d'implémentation
<a name="w2aac19c11c11b5b6c17"></a>

1.  Mettez en place une surveillance de bout en bout pour capturer tous les composants et métriques de la charge de travail. 
   +  Utilisez [Amazon CloudWatch Real-User Monitoring (RUM)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) pour capturer les métriques de performances des applications à partir de sessions réelles côté client et front-end. 
   +  Configurez [AWS X-Ray](https://aws.amazon.com/xray/) pour tracer le trafic à travers les couches applicatives et identifier la latence entre les composants et les dépendances. Utilisez les cartographies de services X-Ray afin de voir les relations et la latence entre les composants de la charge de travail. 
   +  Utilisez [Amazon Relational Database Service Performance Insights](https://aws.amazon.com/rds/performance-insights/) pour consulter les métriques de performances de la base de données et identifier les améliorations des performances. 
   +  Utilisez [Amazon RDS Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html) pour consulter les métriques de performances du système d'exploitation de la base de données. 
   +  Collectez [les métriques CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) par composant de la charge de travail et service, et déterminez quelles métriques ont un impact sur l'efficacité des performances. 
   +  Configurez [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/) pour obtenir d'autres informations et recommandations sur les performances 

1.  Effectuez des tests afin de générer des métriques, d'identifier les tendances de trafic, les goulots d'étranglement et les domaines de performance critiques. 
   +  Configurez [des tests canary synthétiques CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) afin d'imiter par programmation les activités de l'utilisateur basées sur un navigateur en utilisant des `tâches cron` ou des expressions de taux afin de générer des métriques cohérentes au fil du temps. 
   +  Utilisez la solution [Test de charge distribuée sur AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) afin de générer un trafic de pointe ou de tester la charge de travail au taux de croissance attendu. 

1.  Évaluez les métriques et la télémétrie pour identifier vos domaines de performances critiques. Examinez ces domaines avec votre équipe afin de discuter de la surveillance et des solutions pour éviter les goulots d'étranglement. 

1.  Expérimentez des améliorations des performances et mesurez ces changements avec des données. 
   +  Utilisez [CloudWatch Evidently](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently.html) afin de tester les nouvelles améliorations et l'impact sur la charge de travail. 

 **Niveau d'effort du plan d'implémentation :** pour établir cette bonne pratique, vous devez examiner vos métriques de bout en bout et connaître vos performances actuelles en matière de charge de travail. Il s'agit d'un niveau d'effort modéré pour établir une surveillance de bout en bout et déterminer vos domaines de performances critiques. 

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

 **Documents connexes :** 
+  [Bibliothèque Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [Documentation X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/) 
+  [CloudWatch RUM et X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-RUM.html) 

 **Vidéos connexes :** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Demo of Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Exemples connexes :** 
+  [Mesurer le temps de chargement des pages avec Amazon CloudWatch Synthetics](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Client web Amazon CloudWatch RUM](https://github.com/aws-observability/aws-rum-web) 
+  [Kit SDK X-Ray pour Node.js](https://github.com/aws/aws-xray-sdk-node) 
+  [Kit SDK X-Ray pour Python](https://github.com/aws/aws-xray-sdk-python) 
+  [Kit SDK X-Ray pour Java](https://github.com/aws/aws-xray-sdk-java) 
+  [Kit SDK X-Ray pour .Net](https://github.com/aws/aws-xray-sdk-dotnet) 
+  [Kit SDK X-Ray pour Ruby](https://github.com/aws/aws-xray-sdk-ruby) 
+  [Démon X-Ray](https://github.com/aws/aws-xray-daemon) 
+  [Test de charge distribuée sur AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF08-BP02 Découvrir les modèles de conception et les services
<a name="perf_tradeoffs_performance_design_patterns"></a>

 Étudiez et apprenez à connaître les différents modèles de conception et les services qui vous permettent d'améliorer les performances des charges de travail. Identifiez, dans le cadre de l'analyse, les compromis que vous pourriez faire pour obtenir de meilleures performances. Par exemple, l'utilisation d'un service de cache contribue à réduire la charge placée sur les systèmes de base de données. Toutefois, la mise en cache peut introduire une cohérence finale et exige l'implémentation d'efforts d'ingénierie dans les exigences métier et les attentes client. 

 **Résultat souhaité :** La recherche de modèles de conception vous permettra de choisir une conception d'architecture capable de supporter le système le plus performant. Découvrez les options de configuration des performances disponibles et leur impact potentiel sur la charge de travail. L'optimisation des performances de votre charge de travail dépend de la compréhension de l'interaction de ces options avec votre architecture et de l'impact qu'elles auront sur les performances mesurées et les performances perçues par les utilisateurs finaux. 

 **Anti-modèles courants :** 
+  Vous supposez que toutes les stratégies de performances de charge de travail informatiques traditionnelles conviennent mieux aux charges de travail cloud. 
+  Vous créez et gérez des solutions de mise en cache au lieu d'utiliser des services gérés. 
+  Vous utilisez le même modèle de conception pour toutes vos charges de travail sans évaluer les modèles capables d'améliorer les performances de la charge de travail. 

 **Avantages liés au respect de cette bonne pratique :** En sélectionnant le modèle de conception et les services adaptés à votre charge de travail, vous optimiserez vos performances en améliorant l'excellence opérationnelle et en augmentant la fiabilité. Le modèle de conception adapté répondra aux caractéristiques actuelles de votre charge de travail et vous aidera à mettre à l'échelle pour la croissance ou les changements futurs. 

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

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

 Découvrez les options de configuration des performances disponibles ainsi que leur impact potentiel sur la charge de travail. L'optimisation des performances de votre charge de travail dépend de la compréhension de l'interaction de ces options avec votre architecture et de l'impact qu'elles ont sur les performances mesurées et les performances perçues par les utilisateurs. 

 **Étapes d'implémentation :** 

1. Évaluer et examiner les modèles de conception qui amélioreront les performances de votre charge de travail. 

   1. La version [Bibliothèque Amazon Builders' Library](https://aws.amazon.com/builders-library/) vous fournit une description détaillée de la façon dont Amazon élabore et exploite la technologie. Ces articles sont rédigés par des ingénieurs chevronnés d'Amazon et couvrent des sujets tels que l'architecture, la livraison de logiciels et les opérations. 

   1. [Bibliothèque de solutions AWS](https://aws.amazon.com/solutions/) est un ensemble de solutions prêtes à être déployées qui regroupe services, code et configurations. Ces solutions ont été créées par AWS et les partenaires AWS en se basant sur des cas d'utilisation courants et des modèles de conception regroupés par secteur ou type de charge de travail. Par exemple, vous pouvez définir une [solution de test de charge distribuée](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) pour votre charge de travail. 

   1. [Centre d'architecture AWS](https://aws.amazon.com/architecture/) fournit des diagrammes d'architecture de référence regroupés par modèle de conception, type de contenu et technologie. 

   1. [AWS Samples](https://github.com/aws-samples) est un référentiel GitHub rempli d'exemples pratiques pour vous aider à explorer les modèles d'architecture, solutions et services courants. Il est mis à jour fréquemment avec les nouveaux services et exemples. 

1. Améliorer votre charge de travail pour reproduire les modèles de conception sélectionnés, sans oublier d'utiliser les services et les options de configuration de service pour améliorer les performances de votre charge de travail. 

   1. Entraînez votre équipe en interne avec les ressources disponibles sur [AWS Skills Guild](https://aws.amazon.com/training/teams/aws-skills-guild/). 

   1. Utilisez la boîte à outils [AWS Partner Network](https://aws.amazon.com/partners/) pour fournir rapidement une expertise et mettre à l'échelle votre capacité à apporter des améliorations. 

**Niveau d'effort du plan d'implémentation :** pour mettre en place cette bonne pratique, vous devez connaître les modèles de conception et les services capables de vous aider à améliorer les performances de votre charge de travail. Une fois les modèles de conception évalués, l'implémentation exige un effort *élevé* . 

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

 **Documents connexes :** 
+  [Centre d'architecture AWS](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [Bibliothèque de solutions AWS](https://aws.amazon.com/solutions/) 
+  [Centre de connaissances AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [Bibliothèque Amazon Builders' Library](https://aws.amazon.com/builders-library/) 
+  [Utilisation du délestage de charge pour éviter la surcharge](https://aws.amazon.com/builders-library/using-load-shedding-to-avoid-overload/?did=ba_card&trk=ba_card) 
+ [Défis et stratégies en matière de mise en cache](https://aws.amazon.com/builders-library/caching-challenges-and-strategies/?did=ba_card&trk=ba_card)

 **Vidéos connexes :** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Voici mon architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

 **Exemples connexes :** 
+  [Exemples AWS](https://github.com/aws-samples) 
+  [Exemples de kits SDK AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 

# PERF08-BP03 Identifier la façon dont les compromis affectent les clients et l'efficacité
<a name="perf_tradeoffs_performance_understand_impact"></a>

 Lors de l'évaluation des améliorations liées à la performance, identifiez les choix qui vont affecter vos clients et l'efficacité de la charge de travail. Par exemple, si l'utilisation d'un magasin de données clé-valeur augmente les performances du système, il est important d'évaluer l'impact de sa nature constante à terme sur les clients. 

 Identifiez les domaines ayant de mauvaises performances dans votre système via les métriques et la surveillance. Déterminez la façon dont vous pouvez apporter des améliorations ainsi que les compromis que ces améliorations entraînent et la façon dont ils affectent le système et l'expérience de l'utilisateur. Par exemple, la mise en œuvre de la mise en cache des données permet d'améliorer de manière significative les performances, mais nécessite une stratégie précise concernant la manière et le moment où mettre à jour ou invalider les données mises en cache pour empêcher un comportement incorrect du système. 

 **Anti-modèles courants :** 
+  Vous supposez que tous les gains de performances doivent être mis en œuvre, même s'il existe des compromis comme la cohérence éventuelle pour ce qui est de l'implémentation. 
+  Vous n'évaluez les modifications apportées aux charges de travail que lorsqu'un problème de performances a atteint un point critique. 

 **Avantages liés au respect de cette bonne pratique :** Lorsque vous évaluez les améliorations potentielles liées aux performances, vous devez décider si les compromis pour les modifications sont cohérents avec les exigences de charge de travail. Dans certains cas, vous devrez peut-être mettre en place des contrôles supplémentaires pour compenser les compromis. 

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

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

 Identifier les compromis : utilisez des métriques et un suivi pour identifier les domaines où les performances de votre système sont insuffisantes. Déterminez comment apporter des améliorations et l'impact des compromis sur le système et l'expérience utilisateur. À titre d'exemple, la mise en œuvre de la mise en cache des données permet certes d'améliorer de manière significative les performances, mais nécessite une stratégie précise concernant la manière et le moment où mettre à jour ou invalider les données mises en cache pour empêcher un comportement incorrect du système. 

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

 **Documents connexes :** 
+  [Bibliothèque Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [KPI Quick](https://docs.aws.amazon.com/quicksight/latest/user/kpi.html) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Documentation X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 

 **Vidéos connexes :** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Build a Monitoring Plan](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 
+  [Optimize applications through Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Demo of Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Exemples connexes :** 
+  [Mesurer le temps de chargement des pages avec Amazon CloudWatch Synthetics](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Client web Amazon CloudWatch RUM](https://github.com/aws-observability/aws-rum-web) 

# PERF08-BP04 Mesurer l'impact des améliorations de performances
<a name="perf_tradeoffs_performance_measure"></a>

 Évaluez les métriques et les données collectées au fur et à mesure que des modifications sont apportées pour améliorer les performances. Utilisez ces informations pour déterminer l'impact de l'amélioration des performances sur la charge de travail, les composants de la charge de travail et vos clients. Cette mesure vous aide à comprendre les améliorations résultant du compromis ainsi qu'à déterminer si des effets négatifs se sont produits. 

 Un système Well-Architected utilise une combinaison de stratégies liées à la performance. Déterminez quelle stratégie aura l'impact positif le plus important sur un point d'accès donné ou un goulot d'étranglement. Par exemple, le partitionnement des données sur plusieurs systèmes de bases de données relationnelles peut améliorer le débit global, tout en conservant la prise en charge des transactions. La mise en cache au sein de chaque partition peut aider à réduire la charge. 

 **Anti-modèles courants :** 
+  Vous déployez et gérez manuellement des technologies qui sont disponibles en tant que services gérés. 
+  Vous vous concentrez sur un seul composant à l'instar de la mise en réseau, lorsque plusieurs composants peuvent être utilisés pour améliorer les performances de la charge de travail. 
+  Vous utilisez les commentaires et la perception des clients comme seule référence. 

 **Avantages liés au respect de cette bonne pratique :** Pour les besoins de la mise en œuvre des stratégies de performances, vous devez sélectionner plusieurs services et fonctions qui, ensemble, vous permettront de répondre aux exigences de performance de votre charge de travail. 

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

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

 Un système Well-Architected utilise une combinaison de stratégies liées à la performance. Déterminez quelle stratégie aura l'impact positif le plus important sur un point d'accès donné ou un goulot d'étranglement. Par exemple, le partitionnement des données sur plusieurs systèmes de bases de données relationnelles peut améliorer le débit global, tout en conservant la prise en charge des transactions. La mise en cache au sein de chaque partition peut aider à réduire la charge. 

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

 **Documents connexes :** 
+  [Bibliothèque Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [Test de charge distribuée sur AWS](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/welcome.html) 

 **Vidéos connexes :** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Optimize applications through Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Demo of Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Exemples connexes :** 
+  [Mesurer le temps de chargement des pages avec Amazon CloudWatch Synthetics](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Client web Amazon CloudWatch RUM](https://github.com/aws-observability/aws-rum-web) 
+  [Test de charge distribuée sur AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF08-BP05 Utiliser différentes stratégies en lien avec les performances
<a name="perf_tradeoffs_performance_implement_strategy"></a>

 Utilisez le cas échéant plusieurs stratégies pour améliorer les performances. À titre d'exemple, utilisez des stratégies telles que la mise en cache des données pour éviter les appels réseau ou de base de données excessifs, l'utilisation de réplicas en lecture pour les moteurs de base de données afin d'améliorer les vitesses de lecture, la fragmentation ou la compression des données si possible pour réduire les volumes de données, et la mise en mémoire tampon et la diffusion des résultats au fur et à mesure qu'ils sont disponibles pour éviter un blocage. 

 Lorsque vous apportez des modifications à la charge de travail, collectez et évaluez les métriques pour déterminer l'impact de ces modifications. Mesurez les impacts sur le système, ainsi que sur l'utilisateur final pour comprendre la façon dont vos compromis affectent votre charge de travail. Utilisez une approche systématique, telle que des tests de charge, pour déterminer si le compromis améliore les performances. 

 **Anti-modèles courants :** 
+  Vous supposez que les performances de la charge de travail sont adéquates si les clients ne se plaignent pas. 
+  Vous ne collectez les données sur les performances qu'après avoir apporté des modifications liées aux performances. 

 **Avantages liés au respect de cette bonne pratique :** Pour optimiser les performances et l'utilisation des ressources, vous avez besoin d'une vue opérationnelle unifiée, de données granulaires en temps réel et de références historiques. Vous pouvez créer des tableaux de bord et soumettre vos données à des calculs métriques pour obtenir des informations opérationnelles et d'utilisation pour vos charges de travail au fur et à mesure qu'elles évoluent au fil du temps. 

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

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

 Utiliser une approche basée sur les données pour faire évoluer votre architecture : lorsque vous apportez des modifications à la charge de travail, collectez et évaluez les métriques pour déterminer l'impact de ces modifications. Mesurez les impacts sur le système ainsi que sur l'utilisateur final pour comprendre la façon dont vos compromis affectent votre charge de travail. Utilisez une approche systématique, telle que des tests de charge, pour déterminer si le compromis améliore les performances. 

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

 **Documents connexes :** 
+  [Bibliothèque Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [Bonnes pratiques d'implémentation pour Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.html) 
+  [Mise en cache de bases de données AWS ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Test de charge distribuée sur AWS](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/welcome.html) 

 **Vidéos connexes :** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [AWS purpose-built databases (DAT209-L) ](https://www.youtube.com/watch?v=q81TVuV5u28&ref=wellarchitected) 
+  [Optimize applications through Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y) 

 **Exemples connexes :** 
+  [Mesurer le temps de chargement des pages avec Amazon CloudWatch Synthetics](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Client web Amazon CloudWatch RUM](https://github.com/aws-observability/aws-rum-web) 
+  [Test de charge distribuée sur AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 