Construir aplicaciones serverless funcionales es solo el punto de partida. Lo verdaderamente potente es aprender a extender un proyecto base incorporando múltiples servicios de AWS que trabajen de forma coordinada, asíncrona y con buenas prácticas de seguridad. Aquí se presenta el proyecto que servirá como eje central del curso, partiendo de lo ya construido con Serverless Framework.
¿Cuál es el proyecto base y cómo se extiende?
El proyecto parte de una aplicación serverless ya funcional, ideal para un portafolio como backend o cloud developer. Esta base incluye tres pilares fundamentales [0:30]:
- Un archivo serverless.yml que define la infraestructura como código.
- Tablas en DynamoDB para el almacenamiento de datos.
- Funciones Lambda conectadas a API Gateway para exponer endpoints HTTP.
El objetivo del curso es llevar este proyecto mucho más allá. Al finalizar, se contará con una arquitectura que integra múltiples servicios de AWS dentro del ecosistema serverless, aplicando patrones profesionales de desarrollo [1:05].
¿Qué servicios de AWS se integran en el proyecto?
El diagrama final del proyecto muestra la interacción entre varios servicios clave [1:15]:
- API Gateway como puerta de entrada para las peticiones.
- SQS (Simple Queue Service) para manejar mensajes de forma asíncrona.
- S3 (Simple Storage Service) conectado a funciones Lambda mediante eventos.
- Lambda Layers para compartir código y dependencias entre funciones.
Cada uno de estos servicios cumple un rol específico dentro de la arquitectura y, combinados, permiten construir un sistema robusto y escalable.
¿Cómo funciona el procesamiento asíncrono con S3 y Lambda?
Uno de los elementos más interesantes del proyecto es el procesamiento en background disparado por eventos en S3 [1:40]. Cada vez que se carga una imagen en un bucket de S3, se genera automáticamente un evento que activa una función Lambda. Esta función se encarga de procesar la imagen sin bloquear el flujo principal de la aplicación.
Este patrón transforma lo que normalmente sería una operación síncrona en un proceso completamente asíncrono, mejorando la experiencia del usuario y la eficiencia del sistema.
¿Qué es un custom authorizer y por qué es importante?
El proyecto también incorpora un custom authorizer como mecanismo de seguridad en API Gateway [2:10]. A diferencia del esquema tradicional de usuario y contraseña, el curso enseña a trabajar con:
- API Keys para controlar el acceso a los endpoints.
- Un custom authorizer, que es una función Lambda encargada de validar las credenciales o tokens antes de permitir el acceso a los recursos.
Este enfoque ofrece mayor flexibilidad y control sobre la autenticación, permitiendo implementar lógicas personalizadas de autorización adaptadas a las necesidades del proyecto.
¿Por qué este proyecto es valioso para tu portafolio?
La combinación de Lambda Layers, colas con SQS, eventos desde S3 y un custom authorizer demuestra dominio de arquitecturas serverless reales en AWS. No se trata solo de conectar servicios, sino de entender cuándo usar comunicación síncrona y cuándo optar por el asincronismo para construir aplicaciones escalables y mantenibles.
¿Ya tienes experiencia con alguno de estos servicios? Comparte en los comentarios qué parte del proyecto te genera más curiosidad.