

# SUS02-BP01 Mettre à l'échelle l'infrastructure avec la charge de l'utilisateur
<a name="sus_sus_user_a2"></a>

 Identifiez les périodes d'utilisation faible ou nulle, et réduisez vos ressources afin de supprimer toute capacité excédentaire et d'améliorer l'efficacité. 

**Anti-modèles courants :**
+ Vous ne mettez pas à l'échelle votre infrastructure avec la charge de l'utilisateur.
+ Vous mettez à l'échelle manuellement votre infrastructure en permanence.
+ 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éduire l'impact environnemental de la charge de travail, de réaliser des économies et de gérer des points de référence des performances. Vous pouvez profiter de l'élasticité du cloud pour mettre à l'échelle automatiquement la capacité pendant et après les pics de la charge de l'utilisateur, afin d'utiliser uniquement le nombre exact de ressources nécessaires pour répondre aux besoins des clients.

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

## Directives d'implémentation
<a name="implementation-guidance"></a>
+  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é de votre architecture pour veiller à ce que la charge de travail puisse réduire rapidement et facilement pendant la période de faible charge utilisateur : 
  +  Utilisez [Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) pour vous assurer que vous disposez du nombre adéquat d'instances Amazon EC2 disponibles pour gérer la charge utilisateur de votre application. 
  +  Utilisez [Application Auto Scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html) pour mettre à l'échelle automatiquement les ressources pour les services AWS individuels au-delà d'Amazon EC2, tels que les fonctions Lambda ou les services Amazon Elastic Container Service (Amazon ECS). 
  +  Utilisez [un Kubernetes Cluster Autoscaler](https://aws.amazon.com/blogs/aws/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/) pour mettre à l'échelle automatiquement les clusters Kubernetes sur AWS. 
+  Vérifiez que les métriques de l'augmentation ou de la diminution 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. Vous pouvez utiliser une [métrique personnalisée](https://aws.amazon.com/blogs/mt/create-amazon-ec2-auto-scaling-policy-memory-utilization-metric-linux/) (telle que l'utilisation de la mémoire) pour votre politique de mise à l'échelle si besoin. Pour choisir les bonnes métriques, tenez compte des conseils suivants pour Amazon EC2 : 
  +  La métrique doit être une métrique d'utilisation valide et décrire à quel point l'instance est occupée. 
  +  La valeur de la métrique doit augmenter ou diminuer proportionnellement au nombre d'instances dans le groupe Auto Scaling. 
+  Utilisez [la mise à l'échelle dynamique](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html) plutôt que la [mise à l'échelle manuelle](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html) pour votre groupe Auto Scaling. Nous vous recommandons également d'utiliser [des politiques de mise à l'échelle du suivi des cibles](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html) dans votre mise à l'échelle dynamique. 
+  Vérifiez 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. 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. Vous pouvez utiliser **l'historique d'activité** pour tester et vérifier une activité de mise à l'échelle pour un groupe Auto Scaling. 
+  Évaluez votre charge de travail pour les modèles prédictifs et mettez-la à l'échelle de manière proactive pour anticiper les changements prévisibles et prévus de la demande. Utilisez [la mise à l'échelle prédictive avec Amazon EC2 Auto Scaling](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/) pour supprimer la contrainte de surdimensionnement. 

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

 **Documents connexes :** 
+  [Démarrer avec Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html) 
+  [Scalabilité prédictive pour EC2 alimentée par le machine learning](https://aws.amazon.com/blogs/aws/new-predictive-scaling-for-ec2-powered-by-machine-learning/) 
+  [Analyser le comportement des utilisateurs avec Amazon OpenSearch Service, Amazon Data Firehose et Kibana](https://aws.amazon.com/blogs/database/analyze-user-behavior-using-amazon-elasticsearch-service-amazon-kinesis-data-firehose-and-kibana/) 
+  [Qu'est-ce qu'Amazon CloudWatch ?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Qu'est-ce que AWS X-Ray ?](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Journaux de flux VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [Surveillance de la charge de base de données avec Performance Insights sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 
+  [Présentation de la prise en charge native pour la mise à l'échelle prédictive avec Amazon EC2 Auto Scaling](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/) 
+  [Comment créer une politique Amazon EC2 Auto Scaling basée sur une métrique d'utilisation de la mémoire (Linux)](https://aws.amazon.com/blogs/mt/create-amazon-ec2-auto-scaling-policy-memory-utilization-metric-linux/) 
+  [Présentation de Karpenter, un Kubernetes Cluster Autoscaler hautement performant et open source](https://aws.amazon.com/blogs/aws/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/) 

 **Vidéos connexes :** 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2 (CMP202-R1](https://www.youtube.com/watch?v=_dvh4P2FVbw) 

 **Exemples connexes :** 
+  Atelier : exemples de groupes Amazon EC2 Auto Scaling 
+  [Atelier : implémenter la mise à l'échelle automatique avec Karpenter](https://www.eksworkshop.com/beginner/085_scaling_karpenter/) 