SUS02-BP01 Mettre à l'échelle l'infrastructure de la charge de travail de façon dynamique
Utilisez l'élasticité du cloud et mettez à l'échelle votre infrastructure de façon dynamique afin de rapprocher l'offre de ressources cloud de la demande et d'éviter de surprovisionner une capacité dans votre charge de travail.
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 à établir cette meilleure pratique : configurer et tester l'élasticité de la charge de travail permet de rapprocher de façon efficace l'offre des ressources cloud de la demande et d'éviter de surprovisionner une capacité. Vous pouvez profiter de l'élasticité du cloud pour mettre à l'échelle automatiquement la capacité pendant et après les pics de demande, afin d'utiliser uniquement le bon nombre de ressources nécessaires pour répondre aux exigences de votre entreprise.
Niveau de risque exposé si cette bonne pratique n'est pas respectée : moyen
Directives d'implémentation
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. Rapprocher de façon optimale l'offre de la demande a le plus faible impact environnemental pour une charge de travail.
La demande peut être fixe ou variable, ce qui nécessite des métriques et une automatisation pour que la gestion ne devienne pas contraignante. Les applications peuvent se mettre à l'échelle de façon verticale (dans les deux sens) en modifiant la taille de l'instance, de façon horizontale (dans les deux sens) en modifiant le nombre d'instances, ou une combinaison des deux.
Vous pouvez utiliser plusieurs approches pour rapprocher l'offre de ressources de la demande.
-
Approche visant à suivre les cibles : surveillez votre métrique de capacité de mise à l'échelle et augmentez ou réduisez automatiquement votre capacité selon vos besoins.
-
Mise à l'échelle prédictive : mettez à l'échelle en prévision des tendances quotidiennes et hebdomadaires.
-
Approche basée sur un calendrier : planifiez votre propre calendrier de mise à l'échelle en fonction de changements de charge prévisibles.
-
Mise à l'échelle des services : sélectionnez des services (par exemple sans serveur) conçus pour se mettre à l'échelle ou fournissez une fonction de mise à l'échelle automatique.
Identifiez les périodes d'utilisation faible ou nulle, et mettez vos ressources à l'échelle afin de supprimer toute capacité excédentaire et améliorer l'efficacité.
Étapes d'implémentation
-
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. AWS fournit une gamme de mécanismes de mise à l'échelle automatique pour veiller à ce que les charges de travail puissent réduire rapidement et facilement pendant les périodes de faible charge utilisateur. Voici des exemples de mécanismes de mise à l'échelle automatique :
Auto scaling mechanism Where to use Utilisez-le 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-le 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-le pour mettre à l'échelle automatiquement les clusters Kubernetes sur AWS.
-
La mise à l'échelle est souvent discutée pour les services de calcul, tels que les instances Amazon EC2 ou les fonctions AWS Lambda. Envisagez la configuration de services non liés au calcul, tels que les unités de capacité de lecture et d'écriture Amazon DynamoDB
ou les partitions Amazon Kinesis Data Streams pour rapprocher la demande. -
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
(telle que l'utilisation de la mémoire) pour votre politique de mise à l'échelle, le cas échéant. 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 au lieu de la mise à l'échelle manuelle pour votre groupe Auto Scaling. Nous vous recommandons également d'utiliser des politiques de mise à l'échelle en suivant les cibles pour 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 et de diminution des charges de travail. Créez des scénarios de test pour les événements de diminution afin de vérifier que la charge de travail se comporte comme prévu et n'a aucun impact sur l'expérience utilisateur (comme la perte de sessions permanentes). Vous pouvez utiliser Activity history (Historique de l'activité) pour 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. Avec la mise à l'échelle prédictive, vous pouvez supprimer le besoin de surprovisionner de la capacité. Pour plus de détails, consultez Predictive Scaling with Amazon EC2 Auto Scaling
(Mise à l'échelle prédictive avec Amazon EC2 Auto Scaling).
Ressources
Documents connexes :
Vidéos connexes :
Exemples connexes :