Kubernetes : 40% De Dépenses Cloud en Moins

Comment nous avons réduit de 40% les coûts EKS grâce au redimensionnement et à l’optimisation de la mise à l’échelle automatique.

  • Kubernetes
  • AWS
  • Optimisation des coûts

Le problème

Une plateforme e-commerce dépensait 18 000 $ par mois pour un cluster AWS EKS. L’équipe infrastructure savait que les coûts étaient élevés, sans pouvoir dire où se trouvait le gaspillage. Aucune mise à l’échelle automatique n’était configurée. Les nœuds tournaient à 20% d’utilisation. Les instances réservées n’étaient pas utilisées. Personne n’avait une vision claire du coût par charge de travail.

Le défi

Réduire les coûts paraît simple, mais le vrai travail consistait à repérer le gaspillage sans rien casser :

  • Des milliers de pods en cours d’exécution dans plusieurs namespaces
  • Aucune attribution des coûts par équipe ou par service
  • La crainte d’une dégradation des performances pendant l’optimisation
  • Le besoin de gains rapides et d’améliorations durables

La solution

Nous avons mené un audit des coûts structuré, puis l’optimisation :

Phase 1 : analyse des coûts

  • Analyse de 60 jours de métriques CloudWatch et EKS
  • Rattachement des pods en cours d’exécution aux coûts des instances EC2
  • Repérage du gaspillage : pools de nœuds inutilisés, requêtes surdimensionnées, PVC inactifs
  • Constat que 40% de la capacité du cluster n’était pas utilisée

Phase 2 : redimensionnement

  • Pool de nœuds ramené de 20 à 14 nœuds (même charge de travail)
  • Types d’instances ajustés (m5.xlarge → t3.large pour les charges non critiques)
  • Suppression des pools de nœuds inutilisés d’anciens services
  • Regroupement des charges de travail pour réduire la fragmentation

Phase 3 : mise à l’échelle automatique

  • Activation de Cluster Autoscaler avec des modèles de nœuds adaptés
  • Configuration de KEDA pour la mise à l’échelle des applications lors des pics de trafic
  • Requêtes et limites de ressources corrigées (surdimensionnées de 60%)
  • Mise en place de pod disruption budgets pour une réduction en douceur

Phase 4 : instances réservées et Spot

  • Achat d’instances réservées pour la capacité de base (30% de remise)
  • Activation des instances Spot pour les charges non critiques (60 à 70% de remise)
  • Diversification du Spot Fleet pour limiter le risque d’interruption
  • Suivi du repli depuis le Spot pour les montées en charge d’urgence

Résultats

  • 40% de coûts en moins : de 18 000 $ à environ 10 800 $ par mois
  • Même débit de charge de travail : aucune dégradation des performances
  • Déploiements plus rapides : une meilleure mise à l’échelle automatique réagit plus vite
  • Visibilité pour l’équipe : attribution claire des coûts par namespace
  • Confiance dans l’exploitation : procédures d’optimisation documentées

L’entreprise a économisé 86 400 $ par an sans modifier le code de l’application ni réduire la disponibilité.

À retenir

  1. Le gaspillage Kubernetes vient surtout du surdimensionnement : le seul réglage des requêtes permet d’économiser 20 à 30%
  2. Les instances Spot sont sûres avec un repli adapté et des disruption budgets
  3. La visibilité sur les coûts compte : avec des chiffres réels, les équipes décident mieux
  4. La mise à l’échelle automatique ne fonctionne qu’avec des requêtes correctes : fixez-les d’après l’usage observé, pas d’après des suppositions

Vous avez un défi similaire à discuter avec nous ?

Parlons de vos objectifs d’infrastructure.

Contactez-nous