Contenido del curso
Buenas prácticas en serverless
Serverless no es solo lambda
Lambda layers
Asegurando nuestra app serverless
Conectando ApiGateway con SQS
Bonus
Cierra del curso
Proyecto serverless con SQS, S3 y Lambda
Resumen
Vas a construir un proyecto serverless en AWS que integra Lambda, SQS, S3, API Gateway y un custom authorizer, partiendo de una base funcional y llevándola a una arquitectura asíncrona lista para portafolio. Es ideal si te perfilas como back-end o cloud developer y quieres mostrar buenas prácticas reales en la nube.
¿Qué proyecto vas a construir en este curso de AWS serverless?
La meta es extender un proyecto base en AWS hasta convertirlo en una herramienta totalmente funcional con varios servicios conectados entre sí. No partimos de cero: tomamos una aplicación que ya tiene un serverless.yml con DynamoDB, funciones Lambda y API Gateway configurado, y la llevamos al siguiente nivel [00:30].
El resultado final integra:
- API Gateway conectado con SQS para manejar colas de mensajes.
- S3 disparando funciones Lambda cuando se carga una imagen.
- Un custom authorizer para controlar el acceso a los endpoints.
- Lambda layers para reutilizar código entre funciones.
¿Para qué sirve este proyecto? Para demostrar en tu portafolio que sabes integrar servicios serverless de AWS aplicando asincronismo, autenticación personalizada y buenas prácticas de arquitectura.
¿Cómo se diferencia este proyecto del proyecto base?
El proyecto base ya resolvía lo esencial con DynamoDB, Lambda y API Gateway. Lo que sumamos aquí es la capa que vuelve la aplicación asíncrona y más cercana a un escenario de producción [01:25].
¿Qué hace la integración entre API Gateway y SQS?
API Gateway recibe la petición y, en lugar de procesarla de inmediato, la deposita en una cola de SQS. Una función Lambda consume esa cola a su ritmo. Así desacoplas el frente de la API del procesamiento real y evitas cuellos de botella cuando llegan muchas peticiones a la vez.
¿Cómo funciona el evento de S3 hacia Lambda?
Cuando subes una imagen al bucket de S3, se dispara automáticamente una función Lambda que ejecuta el procesamiento en background. Esto convierte un flujo que sería síncrono en uno asíncrono, sin que el usuario tenga que esperar a que termine la operación [01:50].
¿Qué es procesamiento asíncrono en serverless? Es ejecutar tareas en segundo plano sin bloquear la respuesta al cliente. En AWS lo logras con SQS, eventos de S3 o disparadores similares conectados a Lambda.
¿Qué buenas prácticas vas a aplicar con Lambda layers y custom authorizer?
Dos piezas marcan la diferencia entre un proyecto demo y uno profesional: la organización del código y el control de acceso.
Las Lambda layers te permiten compartir librerías y utilidades entre varias funciones sin duplicar código. Cargas la dependencia una vez y la reutilizas en todas las Lambdas que la necesiten.
El custom authorizer es una función Lambda que valida cada petición antes de que llegue a tu lógica de negocio. En el curso comparas tres formas de autenticar:
- Usuario y contraseña convencionales.
- API Keys emitidas por API Gateway.
- Un custom authorizer con tu propia lógica de validación [02:20].
¿Qué es un custom authorizer en API Gateway? Es una función Lambda que API Gateway invoca para decidir si una petición está autorizada, devolviendo una política IAM que permite o niega el acceso al endpoint.
Cuéntame en los comentarios qué parte de esta arquitectura te genera más curiosidad y cuál crees que vas a aplicar primero en tus propios proyectos.