Dimensionnement de Votre Déploiement ZoneHero
Avant de passer en production avec ZoneHero, il est essentiel de réaliser un exercice de dimensionnement. Ce processus est simple et relativement rapide, mais c’est une étape cruciale pour garantir que votre système fonctionne avec une haute disponibilité, des performances optimales et une efficacité maximale des coûts.
Comprendre la Nécessité du Dimensionnement
La plupart des applications présentent des modèles d’utilisation quotidiens prévisibles. L’objectif du dimensionnement est de déterminer quel type d’instance vous avez besoin pour :
- Éviter de gaspiller des ressources pendant les périodes de faible trafic
- Maintenir une capacité suffisante pendant les périodes de pointe
L’utilisation des ressources évolue généralement de manière linéaire avec le trafic. Cependant, nous ne pouvons pas fournir de conseils universels sur la configuration basée uniquement sur le volume, car cela dépend fortement de votre configuration spécifique et de la composition de votre trafic.
L’Approche de Dimensionnement
En règle générale, vous devez identifier un type d’instance qui vous permet de maintenir 2 instances par Zone de Disponibilité pendant votre période la moins chargée, chaque instance fonctionnant à votre utilisation CPU cible (par défaut 50%).
Scénario d’Exemple
Considérons un scénario où votre trafic aux heures de pointe est deux fois plus important que votre trafic nocturne, et votre charge de travail est répartie sur 4 zones de disponibilité :
- Configuration Initiale : Vous pourriez commencer avec la launch_config suivante et migrer progressivement le trafic vers celle-ci :
launch_config {
instance_type = "c7g.2xlarge"
min_instance_count = 8
target_cpu_usage = 50
}
Phase d’Observation : Après les tests, vous remarquez que pendant les heures de pointe, vos équilibreurs de charge n’utilisent que 25% de la capacité CPU sur 8 instances.
Optimisation : Puisque vous visez une utilisation de 50% mais n’atteignez que 25%, vos instances sont environ quatre fois plus grandes que nécessaire. Le calcul est :
- Chaque
c7g.2xlarge
dispose de 8 vCPUs - Aux heures de pointe, vous utilisez 8x8x0,25=16 équivalents vCPU complets
- La nuit, vous n’aurez besoin que de la moitié, utilisée à 50% : 16/2/0,50=16 vCPUs
- Vous voulez 8 instances la nuit, donc vous avez besoin d’instances avec 2 vCPU (
c7g.large
)
- Chaque
Mise en Œuvre de Votre Configuration Dimensionnée
Après avoir déterminé le type d’instance approprié, mettez à jour votre configuration Terraform avec les paramètres optimisés :
launch_config {
instance_type = "c7g.large" # Dimensionné à partir de c7g.2xlarge
min_instance_count = 8
target_cpu_usage = 50
}
Surveillance et Ajustement
Après avoir mis en œuvre votre configuration dimensionnée, continuez à surveiller les métriques de performance. À mesure que vos modèles de trafic évoluent, vous devrez peut-être revoir vos décisions de dimensionnement pour maintenir l’équilibre optimal entre performance et coût.
Pour plus d’informations sur la configuration et la gestion de votre déploiement ZoneHero, consultez notre documentation du Provider Terraform.