Por qué prefiero AWS Lambda sobre Fargate o EC2



 Como cofundador técnico de una startup, tomar decisiones tecnológicas que permitan ofrecer al usuario un producto de manera rápida y eficiente es uno de los desafíos que enfrento día a día.

En este escenario, me involucré en tres decisiones clave:

  1. Frontend con Nuxt.js: No se trata solo de archivos estáticos; puedo utilizar Vercel o tal vez AWS Lambda con API Gateway.

  2. API con librerías pesadas: ¿Debería desplegarla en Lambda o Fargate?

  3. Necesidad de un entorno Linux Ubuntu para instalar ciertas librerías: ¿Usar Lambda con ECR u otra solución?

A continuación, comparto mi experiencia basada en estas decisiones. No es que sea un maximalista de Lambda sin sentido; ten en cuenta que estamos en una startup en una etapa de crecimiento después de encontrar el product-market fit, así que necesitamos movernos rápido, y Lambda con Serverless ha sido de gran ayuda.

Primer caso: Frontend con Nuxt.js

Si estás utilizando Vue.js o alguna otra librería estática, puedes usar soluciones como Vercel. Sin embargo, como Nuxt.js tiene una parte de servidor, opté por AWS Lambda para lograr una mayor rapidez en el despliegue y poder probar el producto rápidamente.

Segundo caso: API con librerías pesadas

1 Billion Technology | Enabling Digital Transformation

AWS Lambda cuenta con Layers, donde puedes instalar las librerías NPM necesarias y agregarlas a tu función principal. De esta manera, es posible cargar proyectos más pesados sin problemas y automatizar tu despliegue de forma eficiente.

Tercer caso: Necesidad de un entorno Linux Ubuntu

AWS Lambda: Deploying Functions from Local to Cloud | by CheeKean | AWS Tip

Este fue el caso que más me costó decidir. Estaba considerando AWS Fargate, pero no me convenció el nivel de gestión requerido; no quería concentrarme en infraestructura en esta etapa. EC2 ni siquiera fue una opción para mí. Considero que Fargate está a medio camino entre EC2 y Lambda: es semi-autónomo, pero aún debes estar pendiente de su escalamiento.

Por ello, opté por crear una imagen en Amazon ECR y utilizarla con AWS Lambda. Pensé que no funcionaría, pero gracias a la librería aws-lambda-ric, todo funcionó correctamente. Si eres una startup que busca rapidez y calidad, Lambda es, en mi experiencia, la mejor opción.

La verdad es que, cuando necesite escalar aún más, no sé si cambiaré de opinión, pero por ahora, Lambda sigue siendo mi elección preferida, incluso para implementar CI/CD.

Conclusión

Espero que mi experiencia te haya sido útil. Lambda ha demostrado ser una solución eficiente y ágil para nuestras necesidades actuales, permitiéndonos enfocarnos en el desarrollo del producto sin invertir demasiado tiempo en la gestión de infraestructura. Si estás en una situación similar, te recomiendo considerar AWS Lambda como una opción viable para acelerar el crecimiento de tu startup.


Comentarios