AWS Lambda
Ejecuta código sin administrar servidores: pagas solo por el tiempo real de ejecución.
En palabras simples
Es como la luz con sensor de movimiento: se enciende sola cuando alguien pasa, hace su trabajo, y se apaga. No hay nada consumiendo mientras nadie la necesita.
Cuándo aplicarlo
Cuando tu código responde a eventos puntuales (una petición HTTP, un archivo subido, un mensaje en una cola) y no necesita estar corriendo permanentemente.
- ▸Procesar una imagen apenas se sube a un bucket de S3
- ▸Exponer una API pequeña junto a API Gateway
- ▸Ejecutar tareas programadas, como un resumen semanal por correo
- ▸Reaccionar a cambios en una tabla de DynamoDB
Vocabulario mínimo
- Función
- La unidad de despliegue: tu código más su configuración de memoria, tiempo límite y permisos.
- Trigger (disparador)
- El evento que invoca la función: una petición HTTP, un archivo nuevo en S3, un temporizador.
- Cold start
- La demora extra la primera vez que se invoca una función que llevaba rato sin usarse, porque AWS debe preparar el entorno.
- Execution role
- El rol de IAM que define qué puede hacer la función dentro de tu cuenta de AWS.
Costo y capa gratuita
- Cómo se cobra
- Por número de invocaciones y por GB-segundo de ejecución (memoria asignada × tiempo). Si nadie la invoca, no cuesta nada.
- Capa gratuita
- 1 millón de invocaciones y 400.000 GB-segundo gratis al mes — y esta capa no expira a los 12 meses, es permanente.
Cuidado con los créditos
- ⚠Asignar más memoria de la necesaria: el costo escala directamente con la memoria configurada.
- ⚠Una función que se invoca a sí misma o que escribe en el bucket que la dispara: crea un bucle infinito que puede costar mucho en minutos.
- ⚠Timeouts largos combinados con llamadas externas lentas: pagas por todo el tiempo de espera.
Descripción
AWS Lambda es cómputo serverless: subes tu código (una función) y AWS se encarga de todo lo demás — aprovisionar el servidor, escalarlo y apagarlo cuando no se usa. No hay una máquina que tú administres; solo pagas por el número de invocaciones y el tiempo que tarda cada una en ejecutarse, medido en milisegundos.
Es el opuesto conceptual de EC2: en vez de “una computadora siempre encendida”, es “código que aparece, corre y desaparece” cada vez que algo lo dispara.
Cómo funciona
- Defines una función con tu código y eliges cuánta memoria darle.
- Conectas un trigger: una petición de API Gateway, un objeto nuevo en S3, un horario.
- Cuando el trigger ocurre, AWS levanta un entorno, ejecuta tu código y lo destruye.
- Si llegan mil eventos simultáneos, AWS levanta mil ejecuciones en paralelo sin que tú configures nada.
Manos a la obra
- Crea una función en Python desde la consola con el runtime por defecto.
- Configura un trigger de S3 sobre un bucket de prueba, evento “objeto creado”.
- Haz que la función escriba en los logs el nombre del archivo que la disparó.
- Sube un archivo cualquiera al bucket y revisa CloudWatch Logs: ahí está tu evento.
Ejemplo visual
Lo que hace a este patrón serverless no es que no haya servidores, sino que no hay ninguno esperando. Entre una foto y la siguiente no se ejecuta nada, y no se paga nada.
Cuándo NO es la mejor opción
- Amazon EC2 — si el proceso debe correr de forma continua o supera los 15 minutos por ejecución.
- AWS Fargate — si necesitas contenedores con más control sobre el entorno, pero sin administrar servidores.
Se usa junto con
Aparece en certificaciones
- AWS Certified Cloud Practitioner
- AWS Certified Solutions Architect – Associate
- AWS Certified Developer – Associate
Para profundizar