Le rightsizing est la pratique FinOps la plus rentable : ajuster la taille des instances à la consommation réelle. Méthodologie, outils AWS et résultats concrets sur des cas clients.
Le problème du over-provisioning
Dans la plupart des environnements cloud, 40 à 60 % des ressources compute sont sous-utilisées. La cause est systémique : les équipes provisionnenent pour le pic théorique, les migrations "lift-and-shift" copient les serveurs on-premise sans optimisation, et personne ne revient jamais réduire ce qui a été augmenté.
Le rightsizing consiste à aligner la taille des instances sur la consommation réelle observée. C'est souvent la première action FinOps à forte ROI, avant même les Reserved Instances ou les Savings Plans.
Méthodologie en 4 étapes
1. Collecte des métriques sur 30 jours minimum
AWS Compute Optimizer et Cost Explorer analysent l'historique d'utilisation. Pour des résultats fiables, collectez sur 30 jours en incluant les pics de charge (fin de mois, campagnes marketing, batch nocturnes). Les métriques clés :
- CPU : utilisation moyenne et P99 (ne pas rightsizer sur la moyenne seule)
- Mémoire : nécessite l'agent CloudWatch (pas inclus par défaut)
- Réseau : pour les instances network-intensive
- IOPS / throughput : pour les instances storage-optimized
2. Segmentation par profil de charge
Ne traitez pas toutes les instances de la même façon. Segmentez par :
- Charge constante : rightsizing agressif possible, puis Reserved Instances
- Charge variable : Auto Scaling + instances plus petites
- Charge batch : Spot Instances + rightsizing
- Production critique : rightsizing conservateur (conserver 20 % de headroom)
3. Recommandations AWS Compute Optimizer
Compute Optimizer analyse CPU, mémoire (avec agent), réseau et stockage pour proposer des recommandations classées en 3 catégories :
- Over-provisioned : instance plus grande que nécessaire → downsize
- Under-provisioned : instance saturée → upsize ou refactoring
- Optimized : taille adaptée
aws compute-optimizer get-ec2-instance-recommendations --account-ids 123456789012 --filters name=Finding,values=Overprovisioned --query "instanceRecommendations[].{Instance:instanceArn,Current:currentInstanceType,Recommended:recommendationOptions[0].instanceType,Saving:recommendationOptions[0].estimatedMonthlySavings.value}" --output table
4. Validation et déploiement progressif
Ne changez jamais la taille d'une instance de production directement. Processus recommandé :
- Valider en staging avec une charge simulée
- Déployer en production avec un snapshot EBS préalable
- Monitorer pendant 7 jours avant de confirmer
- Prévoir un rollback en 5 minutes (AMI de l'ancienne instance)
Rightsizing RDS
RDS est souvent négligé dans les exercices de rightsizing alors qu'il représente 30 à 40 % de la facture compute dans les applications data-intensive.
- Performance Insights : identifier les bases de données avec faible utilisation CPU/connexions
- Aurora Serverless v2 : pour les bases avec charge très variable (0,5 à 128 ACU), plus économique que des instances fixes sous-utilisées
- Read Replicas : les replicas souvent sur-dimensionnés par rapport aux read replicas primaires peuvent être downsizés
Résultats concrets
| Type | Avant | Après | Économie |
|---|---|---|---|
| Web servers | 12× m5.xlarge | 12× m5.large + ASG | -52 % |
| API servers | 6× c5.2xlarge | 6× c6g.xlarge (Graviton) | -58 % |
| Base de données | db.r5.4xlarge | db.r6g.2xlarge | -61 % |
| Workers batch | 4× m5.2xlarge (on-demand) | Spot m5.xlarge (ASG) | -82 % |
Migration vers Graviton : le multiplicateur d'économies
Les instances Graviton (ARM) offrent 20 à 40 % de meilleures performances par euro par rapport aux équivalents Intel ou AMD. Associé au rightsizing, la migration vers Graviton3 peut aboutir à des économies de 50 à 65 % sur les coûts compute.
La migration est transparente pour les applications Linux compilées (Docker, JVM, Python, Node.js). Les applications Windows et certaines applications natives x86 ne sont pas compatibles.
Automatisation avec AWS Instance Scheduler
Pour les instances de dev/test, l'arrêt automatique en dehors des heures de bureau (18h-8h + weekends) économise 65 % du coût sans aucun rightsizing. AWS Instance Scheduler configure ces horaires via des tags EC2 et RDS.
Conclusion
Un exercice de rightsizing bien conduit sur un compte AWS mature génère systématiquement 25 à 40 % d'économies sur les coûts compute. Combiné à la migration Graviton et à l'arrêt des instances dev, l'impact peut dépasser 50 %. C'est l'action FinOps avec le meilleur ROI avant même d'acheter des Reserved Instances.
