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 1: Comment sélectionner l'architecture la plus performante ?

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.

Ressources

Introducing The Amazon Builders’ Library (DOP328)

Bonnes pratiques:

Plan d'amélioration

Comprendre les services et les ressources disponibles

  • 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.Regroupez des composants « Identifier la 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.
  • Définition d'un processus pour les choix d'architecture

  • Sélection d'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 APN.
  • Définition des exigences en matière de performance: Utilisez l'expérience client pour identifier les métriques les plus importantes. Identifiez, pour chaque métrique, 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.
  • Décisions prises en tenant compte du facteur coût

  • Optimisation des composants de charge de travail pour réduire les coûts: Trouvez la bonne taille des 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.
  • Utilisation de stratégies ou d'architectures de référence

  • Déploiement de 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.
  • Utilisation des conseils de votre fournisseur de cloud ou d'un partenaire approprié

  • Consultation des 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.
  • Définition de points de référence pour charges de travail existantes

  • Surveillance des performances lors 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 à 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.
  • Test des parcours utilisateur: Pour effectuer un test de chargement, 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.
  • Test de charge de votre charge de travail

  • Validation de votre approche avec un test de charge: Faites un test de charge pour déterminer si votre concept répondez à vos exigences de performance. 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. Stratégie de test Amazon EC2
  • Surveillance des 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 métiers 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 cloud AWS pour tester votre charge de travail afin de découvrir où elle ne parvient pas à se mettre à l'échelle 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.