Riduzione Dei Costi Kubernetes: 40% Di Spesa Cloud in Meno

Come abbiamo ridotto i costi di EKS del 40% con un dimensionamento corretto e un autoscaling ottimizzato.

  • Kubernetes
  • AWS
  • Ottimizzazione dei costi

Il problema

Una piattaforma e-commerce spendeva 18.000 $ al mese per un cluster AWS EKS. Il team infrastruttura sapeva che i costi erano alti, ma non riusciva a individuare dove fosse lo spreco. Non c’era nessun autoscaling. I nodi lavoravano al 20% di utilizzo. Le istanze riservate non erano in uso. Nessuno aveva un quadro chiaro del costo per workload.

La sfida

Tagliare i costi sembra facile, ma il vero compito era trovare gli sprechi senza rompere nulla:

  • Migliaia di pod in esecuzione su più namespace
  • Nessuna attribuzione dei costi per team o servizio
  • Timore di un calo di prestazioni durante l’ottimizzazione
  • Bisogno di risultati rapidi e di miglioramenti duraturi

La soluzione

Abbiamo condotto un audit dei costi strutturato e la relativa ottimizzazione:

Fase 1: analisi dei costi

  • Analizzati 60 giorni di metriche CloudWatch ed EKS
  • Associati i pod in esecuzione ai costi delle istanze EC2
  • Individuati gli sprechi: node pool inutilizzati, request sovradimensionate, PVC inattivi
  • Scoperto che il 40% della capacità del cluster era inutilizzato

Fase 2: dimensionamento corretto

  • Ridotto il node pool da 20 a 14 nodi (stesso carico di lavoro)
  • Scelti tipi di istanza adeguati (m5.xlarge → t3.large per i workload non critici)
  • Rimossi i node pool inutilizzati di vecchi servizi
  • Consolidati i workload per ridurre la frammentazione

Fase 3: autoscaling

  • Attivato Cluster Autoscaler con node template corretti
  • Configurato KEDA per l’autoscaling delle applicazioni nei picchi di traffico
  • Impostate correttamente request e limit delle risorse (erano sovradimensionate del 60%)
  • Introdotti i pod disruption budget per scalare in discesa in modo ordinato

Fase 4: istanze riservate e Spot

  • Acquistate istanze riservate per la capacità di base (sconto del 30%)
  • Attivate le istanze Spot per i workload non critici (sconto del 60-70%)
  • Configurata la diversificazione Spot Fleet per ridurre il rischio di interruzioni
  • Monitorato il fallback Spot per lo scaling di emergenza

Risultati

  • 40% di costi in meno: da 18.000 $ a circa 10.800 $ al mese
  • Stessa capacità di elaborazione: nessun calo di prestazioni
  • Deploy più rapidi: un autoscaling migliore risponde più in fretta
  • Visibilità per il team: attribuzione chiara dei costi per namespace
  • Fiducia operativa: procedure di ottimizzazione documentate

L’azienda ha risparmiato 86.400 $ all’anno senza modificare il codice applicativo e senza ridurre la disponibilità.

Punti chiave

  1. La maggior parte dello spreco in Kubernetes nasce dal sovradimensionamento: la sola messa a punto delle request fa risparmiare il 20-30%
  2. Le istanze Spot sono sicure, con un fallback adeguato e i disruption budget
  3. La visibilità sui costi conta: i team decidono meglio con dati di costo reali
  4. L’autoscaling funziona solo con request corrette: impostatele in base all’utilizzo osservato, non a supposizioni

Hai una sfida simile da discutere con noi?

Parliamo dei tuoi obiettivi di infrastruttura.

Contattaci