

# Efficacité des performances
Efficacité des performances

Le pilier Efficacité des performances englobe la capacité à utiliser efficacement les ressources du cloud pour satisfaire aux exigences de performances et à maintenir cette efficacité au fur et à mesure que la demande change et que les technologies évoluent.

 Le pilier Efficacité des performances fournit une vue d’ensemble des principes de conception, des bonnes pratiques et des questions. Vous trouverez des recommandations sur l’implémentation dans le livre blanc [Pilier Efficacité en matière de performance](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/welcome.html?ref=wellarchitected-wp). 

**Topics**
+ [

# Principes de conception
](perf-dp.md)
+ [

# Définition
](perf-def.md)
+ [

# Bonnes pratiques
](perf-bp.md)
+ [

# Ressources
](perf-resources.md)

# Principes de conception


 Il existe cinq principes de conception pour l’efficacité des performances dans le cloud : 
+  **Démocratisation des technologies avancées : **simplifiez la mise en œuvre de technologies avancées pour votre équipe en déléguant des tâches complexes à votre fournisseur de cloud. Plutôt que de demander à votre équipe informatique de s’informer sur l’hébergement et l’exploitation d’une nouvelle technologie, envisagez de consommer la technologie en tant que service. Par exemple, l'absence SQL de bases de données, le transcodage multimédia et l'apprentissage automatique sont autant de technologies qui nécessitent une expertise spécialisée. Dans le cloud, ces technologies deviennent des services que votre équipe peut consommer, ce qui lui permet de se dédier au développement de produits plutôt qu’à l’allocation et à la gestion des ressources. 
+  **Passez à l'international en quelques minutes** : le déploiement de votre charge de travail dans plusieurs AWS régions du monde vous permet de réduire le temps de latence et d'offrir une meilleure expérience à vos clients à moindre coût. 
+  **Utilisation d’architectures sans serveur :** les architectures sans serveur vous évitent d’exécuter et de gérer des serveurs physiques pour les activités traditionnelles de calcul. Par exemple, les services de stockage sans serveur peuvent agir comme des sites Web statiques (éliminant le besoin de serveurs Web), et les services d’événements peuvent héberger du code. Ainsi, vous supprimez la charge opérationnelle de gestion des serveurs physiques et réduisez les coûts des transactions, car les services gérés fonctionnent à l’échelle du cloud. 
+  **Expérimentation plus fréquente :** avec des ressources virtuelles et automatisables, vous pouvez rapidement exécuter des tests comparatifs à l’aide de différents types d’instances, de stockage ou de configurations. 
+  **Prévision de la compréhension technique** : comprenez comment les services cloud sont consommés et utilisez toujours l’approche technologique qui correspond le mieux à vos objectifs de charges de travail. Par exemple, tenez compte des modèles d’accès aux données lorsque vous sélectionnez les approches de stockage ou de base de données. 

# Définition


 Les bonnes pratiques en matière d’efficacité des performances dans le cloud sont au nombre de cinq : 
+  **Choix d’architecture** 
+  **Informatique et matériel** 
+  **Gestion des données** 
+  **Réseau et diffusion de contenu** 
+  **Processus et culture** 

 Optez pour une approche orientée données lors de la création d’une architecture à hautes performances. Collectez des données sur tous les aspects de l’architecture, depuis la conception générale jusqu’à la sélection et la configuration des types de ressources. 

 L'examen régulier de vos choix confirme que vous tirez parti de l'évolution constante du AWS Cloud. La surveillance vous offre la garantie d’être informé de tout écart par rapport aux performances attendues. Effectuez des compromis dans votre architecture pour améliorer les performances, comme l’utilisation de la compression, la mise en cache ou l’abaissement des exigences de cohérence. 

# Bonnes pratiques


**Topics**
+ [

# Choix d’architecture
](perf-arch.md)
+ [

# Informatique et matériel
](perf-compute.md)
+ [

# Gestion des données
](perf-data.md)
+ [

# Réseau et diffusion de contenu
](perf-networking.md)
+ [

# Processus et culture
](perf-process.md)

# Choix d’architecture


 La solution optimale pour une charge de travail peut varier, et les solutions combinent souvent plusieurs approches. Les charges de travail Well-Architected utilisent plusieurs solutions et permettent d’exploiter différentes fonctionnalités pour améliorer les performances. 

 AWS les ressources sont disponibles dans de nombreux types et configurations, ce qui permet de trouver plus facilement une approche qui correspond le mieux à vos besoins. Vous pouvez également rechercher des options qui ne sont pas facilement accessibles avec une infrastructure sur site. Par exemple, un service géré tel qu'Amazon DynamoDB fournit une base de données SQL sans base de données entièrement gérée avec une latence d'un chiffre en millisecondes, quelle que soit l'échelle. 

 La question suivante est axée sur ces quelques considérations relatives à l’efficacité des performances. (Pour obtenir la liste des questions et bonnes pratiques en matière d’efficacité des performances, consultez l’[annexe](a-performance-efficiency.md).) 


| PERF1 : Comment sélectionnez-vous les ressources cloud et les modèles d'architecture adaptés à votre charge de travail ? | 
| --- | 
|  Plusieurs approches sont souvent nécessaires pour obtenir de meilleures performances sur une charge de travail. Les systèmes Well-Architected utilisent plusieurs solutions et fonctions pour améliorer les performances.  | 

# Informatique et matériel


 Le choix d’une solution de calcul optimale pour une charge de travail particulière peut varier selon 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 permettent différentes fonctionnalités pour améliorer les performances. Le choix d’une solution de calcul inadaptée à une architecture peut nuire à ses performances. 

 Dans AWS, le calcul est disponible sous trois formes : instances, conteneurs et fonctions : 
+  Les **instances** sont des serveurs virtualisés qui vous permettent de modifier leurs fonctionnalités à l'aide d'un bouton ou d'un API appel. Comme les décisions relatives aux ressources dans le cloud ne sont pas figées, vous pouvez expérimenter avec différents types de serveurs. Chez AWS, ces instances de serveur virtuel se déclinent en différentes familles et tailles, et elles offrent une grande variété de fonctionnalités, notamment des disques SSD (SSDs) et des unités de traitement graphique (GPUs). 
+  Les **conteneurs** sont une méthode de virtualisation du système d'exploitation qui vous permet d'exécuter une application et ses dépendances dans le cadre de processus isolés en termes de ressources. AWS Fargate est le calcul sans serveur pour les conteneurs ou Amazon EC2 peut être utilisé si vous avez besoin de contrôler l'installation, la configuration et la gestion de votre environnement informatique. Vous pouvez également choisir parmi plusieurs plateformes d'orchestration de conteneurs : Amazon Elastic Container Service (ECS) ou Amazon Elastic Kubernetes Service (). EKS 
+  Les **fonctions** extraient l’environnement d’exécution depuis le code à appliquer. Par exemple, vous AWS Lambda permet d'exécuter du code sans exécuter d'instance. 

 La question suivante est axée sur ces quelques considérations relatives à l’efficacité des performances. 


| PERF2 : Comment sélectionnez-vous et utilisez-vous les ressources informatiques dans votre charge de travail ? | 
| --- | 
| La solution de calcul la plus efficace pour une charge de travail varie en fonction de la conception de l’application, des modèles d’utilisation et des 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. | 

# Gestion des données


 La solution de gestion des données optimale pour un système donné varie en fonction du type de données (bloc, fichier ou objet), des modèles d'accès (aléatoires ou séquentiels), du débit requis, de la fréquence d'accès (en ligne, hors ligne, archivage), de la fréquence de mise à jour (WORMdynamique) et des contraintes de disponibilité et de durabilité. Les charges de travail Well-Architected utilisent des magasins de données sur mesure qui intègrent différentes fonctionnalités pour améliorer les performances. 

 Dans AWS, le stockage est disponible sous trois formes : objet, bloc et fichier : 
+  Le **stockage d’objets** fournit une plateforme avec capacité de mise à l’échelle et durable pour rendre les données accessibles depuis n’importe quel emplacement Internet pour le contenu généré par l’utilisateur, l’archivage actif, le calcul sans serveur, le stockage de données big data ou la sauvegarde et la restauration. Amazon Simple Storage Service (Amazon S3) est un service de stockage d’objets qui offre une capacité de mise à l’échelle, une disponibilité des données, une sécurité et des performances de pointe. Amazon S3 offre une durabilité de 99,999999999 % (11 « 9 ») et stocke des données pour des millions d’applications pour des entreprises du monde entier. 
+  Le **stockage par blocs fournit un stockage** par blocs à haute disponibilité, cohérent et à faible latence pour chaque hôte virtuel. Il est analogue au stockage en attachement direct (DAS) ou à un réseau de stockage (). SAN Amazon Elastic Block Store (AmazonEBS) est conçu pour les charges de travail qui nécessitent un stockage persistant accessible par des EC2 instances, ce qui vous permet d'ajuster les applications avec la capacité de stockage, les performances et les coûts appropriés. 
+  Le **stockage de fichiers** permet d’accéder à un système de fichiers partagés sur plusieurs systèmes. Les solutions de stockage de fichiers telles qu'Amazon Elastic File System (AmazonEFS) sont idéales pour les cas d'utilisation tels que les référentiels de contenu volumineux, les environnements de développement, les magasins de médias ou les répertoires personnels des utilisateurs. Amazon FSx permet de lancer et d'exécuter des systèmes de fichiers courants de manière efficace et rentable, afin que vous puissiez tirer parti des riches fonctionnalités et des performances rapides des systèmes de fichiers open source et sous licence commerciale largement utilisés. 

 La question suivante est axée sur ces quelques considérations relatives à l’efficacité des performances. 


| PERF3 : Comment stockez-vous, gérez-vous et accédez-vous aux données de votre charge de travail ? | 
| --- | 
|  La solution de stockage la plus efficace pour un système varie en fonction du type d'opération 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, archivage), de la fréquence de mise à jour (WORMdynamique) et des contraintes de disponibilité et de durabilité. Les systèmes Well-Architected utilisent plusieurs solutions de stockage et activent différentes fonctionnalités pour améliorer les performances et utiliser efficacement les ressources.  | 

# Réseau et diffusion de contenu


 La solution de mise en réseau optimale pour une charge de travail varie en fonction de la latence, des exigences de débit, de l’instabilité et de la bande passante. 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. 

 Activé AWS, le réseau est virtualisé et est disponible dans un certain nombre de types et de configurations différents. Il est ainsi plus facile de répondre à vos besoins en matière de mise en réseau. AWS propose des fonctionnalités de produit (par exemple, mise en réseau améliorée, instances optimisées pour le EC2 réseau Amazon, accélération des transferts Amazon S3 et Amazon dynamique CloudFront) pour optimiser le trafic réseau. AWS propose également des fonctionnalités réseau (par exemple, le routage de latence Amazon Route 53, les VPC points de terminaison Amazon AWS Direct Connect, etc. AWS Global Accelerator) pour réduire la distance ou l'instabilité du réseau. 

 La question suivante est axée sur ces quelques considérations relatives à l’efficacité des performances. 


| PERF4 : Comment sélectionnez-vous et configurez-vous les ressources réseau de votre charge de travail ? | 
| --- | 
|  Cette question inclut des conseils et des bonnes pratiques pour concevoir, configurer et exploiter des solutions de mise en réseau et de diffusion de contenu efficaces dans le cloud.  | 

# Processus et culture


 Lors de la création de l’architecture des charges de travail, vous pouvez adopter certains principes et certaines pratiques pour optimiser l’exécution de charges de travail cloud efficaces et performantes. Pour adopter une culture qui favorise l’efficacité des performances des charges de travail dans le cloud, tenez compte des principes et pratiques clés suivants. 

 Tenez compte de ces principes clés pour développer cette culture : 
+  **Infrastructure en tant que code :** définissez votre infrastructure en tant que code à l'aide d'approches telles que AWS CloudFormation des modèles. L’utilisation de modèles vous permet de placer votre infrastructure en mode de contrôle de code source parallèlement au code et aux configurations de votre application. Vous pouvez ainsi appliquer les pratiques utilisées pour développer des logiciels à votre infrastructure et itérer rapidement. 
+  **Pipeline de déploiement :** utilisez un pipeline de déploiement d’intégration continue (CI) et de livraison continue (CD) (par exemple, référentiel de code source, systèmes de génération, déploiement et automatisation des tests) pour déployer votre infrastructure. Vous pouvez ainsi déployer de manière reproductible et cohérente, le tout à un faible coût, à mesure que vous itérez. 
+  **Mesures bien définies :** configurez et surveillez les mesures pour capturer les indicateurs de performance clés (KPIs). Nous vous recommandons d’utiliser des métriques techniques, mais aussi des métriques commerciales. Pour les sites Web ou les applications mobiles, les indicateurs clés sont la capture time-to-first-byte ou le rendu. D’autres mesures généralement applicables comprennent le nombre de threads, le taux de récupérateur de mémoire et les états d’attente. Les métriques commerciales, telles que les coûts cumulés agrégés par demande, peuvent vous permettre d’identifier des solutions pour réduire vos coûts. Réfléchissez bien à la façon dont vous prévoyez d’interpréter les métriques. Par exemple, vous pouvez choisir le maximum ou le 99e centile plutôt que la moyenne. 
+  **Tests de performance automatiques :** dans le cadre de votre processus de déploiement, des tests de performance peuvent se déclencher automatiquement une fois les tests en cours d’exécution bien effectués. L’automatisation doit créer un environnement, configurer des conditions initiales (comme des données de test), puis exécuter une série d’analyses comparatives et de tests de charge. Les résultats de ces tests doivent être rattachés à la version de génération afin que vous puissiez suivre l’évolution des performances dans le temps. Pour les tests de longue durée, vous pouvez rendre cette partie du pipeline asynchrone par rapport au reste de la compilation. Vous pouvez également exécuter des tests de performance pendant la nuit à l'aide d'Amazon EC2 Spot Instances. 
+  **Génération de charge :** vous devez créer une série de scripts qui reproduisent des parcours utilisateur synthétiques ou préenregistrés. Ces scripts doivent être idempotents et non couplés. Il se peut que vous deviez aussi inclure à cette série des scripts *de préparation* pour obtenir des résultats valides. Dans la mesure du possible, vos scripts de test doivent pouvoir répliquer le comportement d’utilisation en production. Vous pouvez utiliser des logiciels ou des solutions software-as-a-service (SaaS) pour générer la charge. Envisagez d’utiliser les solutions [AWS Marketplace](https://aws.amazon.com/marketplace/) et les [instances Spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html) : elles peuvent être des moyens économiques de générer la charge. 
+  **Visibilité des performances :** les métriques clés doivent être visibles pour votre équipe, en particulier pour chaque version. Vous pouvez ainsi identifier les tendances positives ou négatives significatives au fil du temps. Vous devez également afficher les métriques sur le nombre d’erreurs ou d’exceptions pour vous assurer que vous testez un système fonctionnel. 
+ **Visualisation :** utilisez des techniques de visualisation qui permettent d’identifier clairement l’origine des problèmes de performances, les points chauds, les états d’attente ou les taux d’utilisation faibles. Superposez les métriques de performance sur les schémas d’architecture, des graphiques ou codes d’appel qui peuvent vous aider à identifier rapidement les problèmes. 
+  **Processus d’examen régulier :** les architectures qui présentent des performances médiocres sont généralement le résultat d’un processus d’évaluation des performances inexistant ou interrompu. Si votre architecture est peu performante, la mise en œuvre d’un processus d’évaluation des performances vous permet de procéder à des améliorations itératives. 
+  **Optimisation continuelle :** adoptez une culture permettant d’optimiser en permanence l’efficacité des performances de votre charge de travail dans le cloud. 

 La question suivante est axée sur ces quelques considérations relatives à l’efficacité des performances. 


| PERF5 : Quel processus utilisez-vous pour améliorer l'efficacité des performances de votre charge de travail ?  | 
| --- | 
|  Lors de la création de l’architecture des charges de travail, vous pouvez adopter certains principes et certaines pratiques pour optimiser l’exécution de charges de travail cloud efficaces et performantes. Pour adopter une culture qui favorise l’efficacité des performances des charges de travail dans le cloud, tenez compte des principes et pratiques clés suivants.  | 

# Ressources


 Consultez les ressources suivantes pour en savoir plus sur nos bonnes pratiques relatives à l’efficacité des performances. 

## Documentation

+  [Optimisation des performances Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/PerformanceOptimization.html?ref=wellarchitected-wp) 
+  [Amazon EBS Volume Performance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSPerformance.html?ref=wellarchitected-wp) 

## Livre blanc

+  [Pilier Efficacité des performances](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/welcome.html?ref=wellarchitected-wp) 

## Vidéo

+  [AWS re:Invent 2019 : les EC2 fondations d'Amazon (-R2) CMP211](https://www.youtube.com/watch?v=kMMybKqC2Y0&ref=wellarchitected-wp) 
+  [AWS RE:Invent 2019 : Séance de direction : État du stockage dans l'union (01-L) STG2](https://www.youtube.com/watch?v=39vAsGi6eEI&ref=wellarchitected-wp) 
+  [AWS re:Invent 2019 : Séance sur le leadership : bases de données AWS spécialement conçues (09-L) DAT2](https://www.youtube.com/watch?v=q81TVuV5u28&ref=wellarchitected-wp) 
+  [AWS re:Invent 2019 : Connectivité AWS et architectures AWS réseau hybrides (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs&ref=wellarchitected-wp) 
+  [AWS re:Invent 2019 : Au service d'EC2Amazon de nouvelle génération : plongée en profondeur dans le système Nitro (03-R2) CMP3](https://www.youtube.com/watch?v=rUY-00yFlE4&ref=wellarchitected-wp) 
+  [AWS re:Invent 2019 : passer à vos 10 premiers millions d'utilisateurs (ARC211-R)](https://www.youtube.com/watch?v=kKjm4ehYiMs&ref=wellarchitected-wp) 