PERF02-BP05 Utiliser l'élasticité des ressources disponible
Le cloud vous apporte la flexibilité dont vous avez besoin pour développer et 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. En combinant cette élasticité avec des métriques liées au calcul, une charge de travail peut réagir automatiquement aux modifications pour utiliser uniquement les ressources dont elle a besoin.
Anti-modèles courants :
-
Vous surprovisionnez pour couvrir les pics éventuels.
-
Vous réagissez aux alertes en augmentant manuellement la capacité.
-
Vous augmentez la capacité sans tenir compte du temps de provisionnement.
-
Vous conservez une capacité accrue après un événement de mise à l'échelle au lieu de la réduire.
-
Vous surveillez des métriques qui ne reflètent pas directement les besoins réels de vos charges de travail.
Avantages liés au respect de cette bonne pratique : la demande peut être fixe, variable, suivre un modèle ou être irrégulière. En faisant correspondre l'offre à la demande, on obtient le coût le plus bas pour une charge de travail. La surveillance, le test et la configuration de l'élasticité de la charge de travail permettent d'optimiser les performances, de réaliser des économies et d'améliorer la fiabilité en fonction de l'évolution des besoins. Bien qu'une approche manuelle soit possible, elle est peu pratique à grande échelle. Une approche automatisée et fondée sur des métriques garantit que les ressources répondent aux demandes et à tout moment.
Niveau de risque exposé si cette bonne pratique n'est pas respectée : moyen
Directives d'implémentation
L'automatisation basée sur des métriques doit être utilisée pour tirer parti de l'élasticité, l'objectif étant que l'offre de ressources dont vous disposez corresponde à la demande de ressources dont votre charge de travail a besoin. Par exemple, vous pouvez utiliser des métriques Amazon CloudWatch pour surveiller vos ressources
En prenant en compte les métriques liées au calcul, vous pouvez faire en sorte qu'une charge de travail réagisse automatiquement à ces fluctuations et utilise les ressources optimales pour atteindre son objectif. Vous devez également prévoir le temps de provisionnement et les pannes potentielles des ressources.
Les instances, les conteneurs et les fonctions fournissent des mécanismes d'élasticité, soit en tant que caractéristique du service, sous la forme de Application Auto Scaling
Validez vos métriques pour l'augmentation ou la diminution des ressources élastiques par rapport au type de charge de travail déployée. Par exemple, 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. 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.
Les déploiements de charges de travail doivent gérer les événements d'augmentation et de réduction. 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 mise à l'échelle afin de vérifier que la charge de travail se comporte comme prévu.
Étapes d'implémentation
-
Exploitez les données historiques pour analyser les demandes de ressources de votre charge de travail au fil du temps. Posez des questions spécifiques telles que les suivantes :
-
Votre charge de travail est-elle régulière et augmente-t-elle au fil du temps à un rythme connu ?
-
Votre charge de travail augmente-t-elle et diminue-t-elle selon des schémas saisonniers et répétables ?
-
Votre charge de travail est-elle irrégulière ? Les pics peuvent-ils être anticipés ou prédits ?
-
-
Exploitez autant que possible les services de surveillance et les données historiques.
-
Le balisage des ressources peut faciliter le suivi. Lorsque vous utilisez des balises, consultez les bonnes pratiques en matière de balisage. De plus, les balises peuvent vous aider à gérer, identifier et organiser les ressources.
-
Dans AWS, vous pouvez utiliser plusieurs approches pour adapter l'offre à la demande. Les bonnes pratiques du pilier d'optimisation des coûts (COST09-BP01 à COST09-03) décrivent comment utiliser les approches suivantes en matière de coûts :
-
Créez des scénarios de test pour les événements de diminution de la charge de travail afin de vérifier que cette dernière se comporte comme prévu.
-
La plupart des instances non liées à la production devraient être arrêtées lorsqu'elles ne sont pas utilisées.
-
Pour les besoins de stockage lors de l'utilisation de Amazon Elastic Block Store (Amazon EBS), profitez de l'élasticité basée sur le volume.
-
Pour Amazon Elastic Compute Cloud (Amazon EC2)
, envisagez d'utiliser des groupes Auto Scaling, qui vous permettent d'optimiser les performances et les coûts en augmentant automatiquement le nombre d'instances de calcul lors des pics de demande et en réduisant la capacité lorsque la demande diminue.
Ressources
Bonnes pratiques associées :
Documents connexes :
Vidéos connexes :
Exemples connexes :