Fargate vs Lambda: guía sencilla para elegir
Guía sencilla y accesible para entender la diferencia entre Fargate y Lambda, y elegir el servicio adecuado para tu proyecto.
1. Fargate – “Ejecuta mi aplicación completa”
¿Para qué sirve?
Fargate sirve para ejecutar aplicaciones completas (como un sitio web, una API, un backend, etc.) en contenedores Docker, sin servidores que gestionar.
¿Cuándo lo usas?
- Cuando tienes un proyecto algo grande o estructurado (p. ej.: Node.js, Python Flask, Django, etc.)
- Cuando tu aplicación funciona todo el tiempo o durante mucho tiempo (p. ej.: sitio web, servicio en segundo plano)
Ejemplo concreto:
Tienes una aplicación Node.js con una base de datos, rutas y una lógica completa.
La metes en un contenedor Docker y le dices a Fargate:
“Toma, mantén mi app funcionando 24 horas al día y encárgate de todo lo necesario.”
2. Lambda – “Ejecuta solo un pequeño fragmento de código bajo demanda”
¿Para qué sirve?
Lambda sirve para ejecutar una función corta (como una minitarea), solo cuando es necesario. Sin contenedor, sin servidor.
¿Cuándo lo usas?
- Cuando solo quieres responder a un evento (por ejemplo: una llamada a una API, una imagen que llega a S3…)
- Cuando tu código es corto y solo se ejecuta unos pocos segundos cada vez
- Cuando quieres pagar únicamente por el uso
Ejemplo concreto:
Alguien envía un formulario en tu sitio. Quieres enviar un correo electrónico automáticamente.
Escribes una función que lo haga (en Python o Node) y le dices a Lambda:
“Ejecuta este código solo cuando se envíe el formulario.”
Comparación ultrasencilla:
| Característica | Fargate | Lambda |
|---|---|---|
| Tipo de app | Aplicación completa | Función corta / tarea única |
| Formato de despliegue | Contenedor Docker | Código (archivo .js, .py, etc.) |
| ¿Cuándo se inicia? | Siempre en línea o bajo demanda | Solo cuando ocurre algo |
| Duración de ejecución | Larga duración (minutos, horas, días) | Corta duración (unos segundos, máx. 15 min) |
| Uso típico | API web, backend, sitio web, microservicios | Tareas puntuales, automatización, API ligeras |
| Nivel de control | Medio (gestionas tu contenedor) | Muy bajo (solo gestionas el código) |
| Pago | Por minuto de contenedor | Por llamada y duración exacta de ejecución |
Un ejemplo para que lo visualices:
Quieres crear una tienda online:
- Tienes un backend completo con carrito, inicio de sesión y pago → Fargate
- Cuando alguien hace una compra, quieres enviarle un recibo por correo electrónico → Lambda
Resumen sencillo:
- Fargate: tienes una aplicación que alojar.
- Lambda: tienes una función que ejecutar cuando ocurre algo.
Casos de uso habituales
Con Fargate
- Sitio web completo
- API backend
- Servicio de procesamiento de datos
- Aplicación con base de datos
Con Lambda
- Envío de correos electrónicos
- Procesamiento de imágenes
- Respuesta a formularios
- Tareas programadas
Buenas prácticas
Para Fargate
- Optimizar el tamaño del contenedor
- Configurar el auto-scaling
- Supervisar los costes
Para Lambda
- Mantener las funciones cortas
- Optimizar el tiempo de ejecución
- Gestionar los errores
Conclusión
Elegir entre Fargate y Lambda depende de lo que quieras hacer:
- ¿Una aplicación completa? → Fargate
- ¿Una función sencilla? → Lambda
Recursos complementarios
Acerca de InSkillCoach
Experto en formación y tecnologías
Coach especializado en tecnologías avanzadas e IA, impulsado por GNeurone Inc.
Certificaciones:
- AWS Certified Solutions Architect – Professional
- Certificaciones de Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión