← Volver al blog

Optimización de costes AWS: De 3800$ a 1000$ con EKS, KEDA y Karpenter

March 1, 2024

En el mundo del cloud computing, uno de los retos más grandes para las empresas es mantener los costes bajo control sin sacrificar el rendimiento. En este artículo, comparto cómo hemos conseguido reducir los costes de computación de nuestra infraestructura AWS en más de un 70% mediante la migración de arquitecturas tradicionales a una solución basada en Kubernetes con EKS, KEDA y Karpenter.

El punto de partida: Una infraestructura costosa

Nuestra arquitectura original se basaba en dos servicios de AWS para ejecutar procesos en segundo plano (background workers):

AWS Elastic Beanstalk Workers

Nuestros workers de Elastic Beanstalk representaban una parte elevada de la factura mensual:

AWS Lambda

Para tareas más específicas, utilizábamos Lambda:

Coste total mensual: Aproximadamente 3.000 - 3.800 $ para mantener esta infraestructura operativa.

La solución: EKS + KEDA + Karpenter

Después de analizar diferentes alternativas, decidimos migrar nuestra infraestructura a una arquitectura basada en:

Esta combinación nos permite:

El proceso de migración

La migración siguió un proceso estructurado en varias fases:

1. Identificación y análisis

Primero, identificamos todos los procesos que se ejecutaban tanto en Beanstalk como en Lambda, entendiendo:

2. Contenedorización

Creamos imágenes Docker para cada proyecto y las subimos a ECR (Elastic Container Registry), estandarizando el formato de todos nuestros servicios.

3. Estandarización del CI/CD

Uno de los grandes beneficios ha sido la creación de un pipeline único de CI/CD para todos los proyectos:

4. Configuración de KEDA y Karpenter

Configuramos:

Resultados: Más de un 70% de ahorro

Después de la migración completa, los resultados han sido muy significativos:

Impacto económico

Beneficios operativos

Más allá del ahorro económico, hemos obtenido mejoras significativas en la operativa:

  1. Simplificación de la infraestructura: Menos servicios gestionados, más control
  2. Control unificado: Todos los procesos siguen los mismos patrones
  3. Flexibilidad: Podemos añadir nuevos servicios en segundo plano de forma rápida y estandarizada
  4. Visibilidad: Mejor monitorización y comprensión del comportamiento de los servicios

Evolución del consumo de recursos

Conclusiones

La migración de una infraestructura basada en Beanstalk y Lambda a EKS con KEDA y Karpenter ha sido un éxito rotundo. Los beneficios no son solo económicos, sino que también hemos simplificado nuestra arquitectura y mejorado nuestra capacidad de escalar de manera eficiente.

Aprendizajes clave

  1. No todos los servicios gestionados son los más económicos: A veces, una solución más compleja inicialmente puede ser mucho más eficiente a largo plazo
  2. El auto-scaling inteligente es esencial: La capacidad de escalar a cero y adaptarse a la carga real es clave para optimizar costes
  3. La estandarización es valor: Un pipeline único y patrones consistentes reducen la complejidad operativa

Si estáis considerando optimizar los costes de vuestra infraestructura AWS, os recomiendo evaluar soluciones basadas en Kubernetes con auto-scaling basado en eventos. El retorno de la inversión puede ser muy rápido, como en nuestro caso.