Ce contenu est obsolète. Cette version du cadre Well-Architected se trouve désormais à l'adresse suivante: https://docs.aws.amazon.com/fr_fr/wellarchitected/2022-03-31/framework/performance-efficiency.html

PERF 2: Comment sélectionner votre solution de calcul ?

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.

Ressources

Amazon EC2 foundations (CMP211-R2)
Powering next-gen Amazon EC2: Deep dive into the Nitro system
Deliver high performance ML inference with AWS Inferentia (CMP324-R1)
Optimize performance and cost for your AWS compute (CMP323-R1)
Better, faster, cheaper compute: Cost-optimizing Amazon EC2 (CMP202-R1)
Cloud Compute with AWS
EC2 Instance Types
Processor State Control for Your EC2 Instance
EKS Containers: EKS Worker Nodes
ECS Containers: Amazon ECS Container Instances
Functions: Lambda Function Configuration

Bonnes pratiques:

Plan d'amélioration

Évaluation des options de calcul disponibles

  • Examen des options de calcul: Choisissez les options de calcul qui correspondent à vos exigences. Du point de vue des performances, les instances peuvent être utilisées pour les applications de longue durée, en particulier celles comportant un état et des cycles de calcul à longue durée d'exécution. Les fonctions peuvent être utilisées pour les applications sans état initiées par l'événement et qui nécessitent un temps de réponse rapide. Enfin, les conteneurs vous permettent d'utiliser efficacement les ressources d'une instance.
    Cloud Compute with AWS
  • Définition des exigences de performance de calcul: Identifiez les métriques de performances de calcul importantes pour votre charge de travail et implémentez vos exigences à l'aide d'une approche axée sur les données impliquant la définition de points de référence ou des tests de charge. Utilisez ces données pour identifier les points où votre solution de calcul est limitée, puis examinez les options de configuration pouvant aider à améliorer la solution.
  • Connaissance des options de configuration de calcul disponibles

  • Connaissance des options de configuration disponibles: Utilisez les options de configuration disponibles pour optimiser l'option de calcul que vous avez choisie afin de répondre à vos exigences de performance.Utilisez AWS Nitro System pour une utilisation totale des ressources de calcul et de mémoire du matériel hôte. Les cartes Nitro dédiées rendent possibles la mise en réseau haut débit ainsi que l'accélération de l'EBS et des E/S.
    AWS Nitro System
  • Collecte des métriques liées au calcul

  • Collecte des métriques liées au calcul: Amazon CloudWatch peut collecter des métriques à partir des ressources de calcul de votre environnement. Associez CloudWatch et d'autres métriques pour suivre les métriques des systèmes au sein de votre charge de travail. Enregistrez des données telles que les niveaux d'utilisation du processeur, la mémoire, les E/S de disque et le 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 son efficacité en matière d'utilisation des ressources. 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.
    Amazon CloudWatch
  • Identification de la configuration requise grâce au choix de la bonne taille

  • Modification de la configuration de votre charge de travail et choix de la bonne taille: 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.
  • Utilisation de l'élasticité des ressources disponible

  • Tirer parti de l'élasticité: L'élasticité correspond à l'offre de ressources dont vous disposez et à 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, il faut prévoir 100 % du processeur sans en faire 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.
  • Réévaluation des besoins de calcul en fonction des métriques

  • Utilisation d'une approche fondé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.