Contenido del curso
Conceptos Claves
Explicación de Serverless Framework
Ecosistema Serverless en AWS
Desarrollando con Serverless Framework
- 12

Conecta Lambda a DynamoDB con AWS SDK
17:23 min - 13

Configuración y uso de DynamoDB Local con Serverless
13:42 min - 14

Variables de ambiente y permisos IAM al desplegar Lambda
18:20 min - 15

Insertar usuarios en DynamoDB con Lambda POST
22:36 min - 16

Actualización de Usuarios en DynamoDB con Serverless Framework
12:36 min - 17

Función Lambda DELETE en Python con Boto3
16:28 min - 18

Servicios AWS más allá de Lambda y DynamoDB
04:24 min
Bonus
Cierre del curso
Crea tus API’s con Serverless Framework y ChatGPT
Despliega tu primer Hola Mundo serverless
Resumen
Crear tu primera aplicación con Serverless Framework es más sencillo de lo que parece: con un par de comandos puedes desplegar una API pública, escalable y lista para producción en AWS. Aquí verás cómo construir un Hola Mundo funcional y entender cada archivo que lo hace posible.
Esta guía es para desarrolladores que ya conocen la teoría serverless y quieren dar el salto a la práctica sin perderse en configuraciones.
¿Cómo se invoca Serverless Framework desde la terminal?
Lo primero que debes saber es que la herramienta responde a dos palabras clave equivalentes: serverless o sls. Da igual cuál uses, el resultado es el mismo.
Al ejecutar serverless sin argumentos, la CLI te muestra una lista de plantillas creadas por la comunidad para arrancar rápido: opciones para Node.js, Python, integraciones con SQS y más [01:35]. Son útiles, pero en este caso vamos a usar una plantilla personalizada alojada en GitHub.
¿Qué diferencia hay entre serverless y sls? Ninguna. Son alias del mismo comando de la CLI de Serverless Framework. Puedes usar el que prefieras.
Un truco que te va a salvar muchas veces: ejecuta serverless --help para ver todos los comandos disponibles [02:30]. Ahí aparece el que necesitamos ahora, create, que sirve para iniciar un nuevo servicio.
¿Qué archivos componen una aplicación serverless mínima?
Al crear el proyecto con serverless create --path <nombre> --template-url <repo>, se genera una carpeta con tres archivos clave [03:25]. Cada uno cumple una función específica.
El package.json y la dependencia principal
El package.json no tiene mucho misterio: es el típico de cualquier aplicación JavaScript. Lo único relevante es la dependencia de desarrollo de serverless en versión 3.21.0 [04:30].
El handler.js y la lógica de la función
El archivo handler.js contiene la lógica que se ejecutará en la nube. Presta atención al nombre, porque luego lo vamos a referenciar.
Dentro encontrarás una función flecha asíncrona que recibe dos parámetros: event y context. Estos objetos vienen de AWS Lambda y aunque no los usemos en este ejemplo, deben estar presentes para que Lambda ejecute la función correctamente [05:20].
La lógica es mínima: retorna un JSON con statusCode: 200 y un body con un string. Al final se exporta la función hello, nombre que también será importante recordar.
El serverless.yaml y sus secciones obligatorias
Este es el archivo más importante. Aquí solo aparecen tres secciones porque no todas son obligatorias:
- service: el nombre de la aplicación, en este caso hello world.
- provider: define el proveedor de nube (AWS) y el runtime (Node.js 14). Podría ser Python, Go o Java, ya que Serverless Framework es agnóstico al lenguaje y a la nube.
- functions: la sección crítica donde declaras qué función se ejecutará.
Dentro de functions hay un campo llamado handler con el valor handler.hello. La primera parte coincide con el nombre del archivo (handler.js sin extensión) y la segunda con el nombre de la función exportada [07:15]. Si tuvieras más funciones como bye o hola, las referenciarías igual: handler.bye.
¿Qué es el handler en Serverless Framework? Es la referencia que conecta la configuración con tu código. Sigue el formato
nombreArchivo.nombreFuncióny le indica a Lambda qué ejecutar.
¿Cómo se configuran los eventos que disparan una Lambda?
Una función Lambda no se ejecuta sola. Necesita un evento que la dispare, y eso se define dentro de cada función en el serverless.yaml.
En este Hola Mundo el evento es HTTP, con método GET y path /hello [08:00]. Eso significa que cualquier petición GET a esa ruta invocará tu función. Más adelante verás eventos basados en colas, schedules o cambios en bases de datos.
¿Cómo desplegar una aplicación con serverless deploy?
Una vez tienes los archivos, el despliegue se hace con un solo comando: serverless deploy [09:30]. Eso sí, debes ejecutarlo desde la carpeta donde está tu serverless.yml.
Al correrlo, la CLI te muestra información valiosa:
- El nombre de la app que se despliega y el stage, que por defecto es
dev. El stage sirve para manejar múltiples ambientes. - La región de AWS donde se despliega, en este caso
us-east-1. - El progreso del stack de CloudFormation, el servicio de infraestructura como código de AWS.
Aquí pasa algo interesante: aunque solo definiste una función, Serverless Framework crea 9 recursos en AWS por debajo [11:10]. Eso incluye permisos, logs, el API Gateway y más. Esa es la magia del framework: te ahorra horas de configuración manual.
¿Qué es CloudFormation y por qué aparece al desplegar? Es el servicio de AWS que crea infraestructura como código. Serverless Framework lo usa internamente para provisionar todo lo que tu app necesita.
¿Cómo verificar que la API serverless funciona?
Al terminar el despliegue, la CLI te entrega una URL pública con tu endpoint GET. Si la abres en el navegador, verás el mismo JSON que definiste en handler.js [12:40].
El resumen final muestra la función hello_world desplegada con un peso de 106 bytes. Eso es todo: ya tienes una API pública, escalable, capaz de atender mucho tráfico y alineada con varios pilares del Well-Architected Framework de AWS.
Si llegaste hasta aquí, acabas de desplegar tu primera app serverless real. Cuéntame en los comentarios qué función te gustaría construir como siguiente paso.