Optimització de costos AWS: De 3800$ a 1000$ amb EKS, KEDA i Karpenter
En el món del cloud computing, un dels reptes més grans per a les empreses és mantenir els costos sota control sense sacrificar el rendiment. En aquest article, comparteixo com hem aconseguit reduir els costos de computació de la nostra infraestructura AWS en més d’un 70% mitjançant la migració d’arquitectures tradicionals a una solució basada en Kubernetes amb EKS, KEDA i Karpenter.
El punt de partida: Una infraestructura costosa
La nostra arquitectura original es basava en dos serveis d’AWS per executar processos en segon pla (background workers):
AWS Elastic Beanstalk Workers
Els nostres workers d’Elastic Beanstalk representaven una part elevada de la factura mensual:
- Cost mensual: 2.500 - 2.800 $
- Operació: 24x7, sempre engegats
- Problemàtica: Recursos estàtics, sense adaptació a la càrrega real
- Ineficiència: Pagàvem per recursos que no utilitzàvem durant les hores valle
AWS Lambda
Per a tasques més específiques, utilitzàvem Lambda:
- Cost mensual: 500 - 1.000 $
- Limitacions: Timeout màxim de 15 minuts
- Recursos estàtics: Sense optimització dinàmica
Cost total mensual: Aproximadament 3.000 - 3.800 $ per mantenir aquesta infraestructura operativa.
La solució: EKS + KEDA + Karpenter
Després d’analitzar diferents alternatives, vam decidir migrar la nostra infraestructura a una arquitectura basada en:
- EKS (Elastic Kubernetes Service): Plataforma orquestrada de Kubernetes d’AWS
- KEDA (Kubernetes Event-driven Autoscaling): Escalat automàtic basat en esdeveniments
- Karpenter: Provisionament automàtic i elàstic de nodes
Aquesta combinació ens permet:
- Ajustar els recursos dinàmicament segons la càrrega real
- Escalar a zero quan no hi ha treball pendents
- Optimitzar l’agregació de computació per reduir el malbaratament
- Controlar totalment els timeouts i estats dels processos
El procés de migració
La migració va seguir un procés estructurat en diverses fases:
1. Identificació i anàlisi
Primer, vam identificar tots els processos que s’executaven tant a Beanstalk com a Lambda, entenent:
- Els patrons de consum de recursos
- Els pics de demanda
- Les dependències entre serveis
2. Containerització
Vam crear imatges Docker per a cada projecte i les vam pujar a ECR (Elastic Container Registry), estandarditzant el format de tots els nostres serveis.
3. Estandarització del CI/CD
Un dels grans beneficis ha estat la creació d’un pipeline únic de CI/CD per a tots els projectes:
- Unificació del procés de desplegament
- Reducció del temps d’integració de nous serveis
- Millora en la consistència i qualitat dels desplegaments
4. Configuració de KEDA i Karpenter
Vam configurar:
- KEDA: Per escalar automàticament els pods basant-se en cues de missatges (SQS i Redis en funció del cas)
- Karpenter: Per provisionar nodes només quan calen, amb la mida òptima segons la càrrega
Resultats: Més d’un 70% d’estalvi
Després de la migració completa, els resultats han estat molt significatius:
Impacte econòmic
- Cost mensual resultant: ~1.000 $
- Estalvi mensual: 2.000 - 2.800 $
- Reducció de costos: >70%
Beneficis operatius
Més enllà de l’estalvi econòmic, hem obtingut millores significatives en l’operativa:
- Simplificació de la infraestructura: Menys serveis gestionats, més control
- Control unificat: Tots els processos segueixen els mateixos patrons
- Flexibilitat: Podem afegir nous serveis en segon pla de forma ràpida i estandarditzada
- Visibilitat: Millor monitoratge i entendre del comportament dels serveis

Conclusions
La migració d’una infraestructura basada en Beanstalk i Lambda a EKS amb KEDA i Karpenter ha estat un èxit rotund. Els beneficis no són només econòmics, sinó que també hem simplificat la nostra arquitectura i millorat la nostra capacitat d’escalar de manera eficient.
Aprenentatges clau
- No tots els serveis gestionats són els més econòmics: De vegades, una solució més complexa inicialment pot ser molt més eficient a llarg termini
- L’auto-scaling intel·ligent és essencial: La capacitat d’escalar a zero i adaptar-se a la càrrega real és clau per optimitzar costos
- La standardització és valor: Un pipeline únic i patrons consistents redueixen la complexitat operativa
Si esteu considerant optimitzar els costos de la vostra infraestructura AWS, us recomano avaluar solucions basades en Kubernetes amb auto-scaling basat en esdeveniments. El retorn de la inversió pot ser molt ràpid, com en el nostre cas.