AWS Lambda
Servicio de cómputo serverless de AWS que ejecuta código en respuesta a eventos sin necesidad de aprovisionar ni administrar servidores, escalando automáticamente desde cero hasta miles de ejecuciones concurrentes.
¿Qué es?
AWS Lambda es el servicio de Functions as a Service (FaaS) de Amazon. Permite ejecutar código sin aprovisionar servidores — subes tu función, defines qué eventos la disparan, y AWS se encarga del resto: aprovisionamiento, escalado, alta disponibilidad y monitoreo.
Modelo de ejecución
- Un evento dispara la función (HTTP request, mensaje SQS, archivo en S3, etc.)
- Lambda aprovisiona un entorno de ejecución (o reutiliza uno existente)
- Tu código se ejecuta
- Lambda cobra por duración (ms) y memoria asignada
- El entorno puede mantenerse «caliente» para requests subsecuentes
Características clave
- Runtimes: Node.js, Python, Java, Go, .NET, Ruby, o custom (container)
- Memoria: 128 MB a 10 GB (CPU escala proporcionalmente)
- Duración máxima: 15 minutos por invocación
- Concurrencia: hasta 1000 por defecto (ampliable)
- Layers: bibliotecas compartidas entre funciones
- Provisioned concurrency: elimina cold starts para funciones críticas
Triggers comunes
| Trigger | Caso de uso |
|---|---|
| API Gateway | APIs REST/HTTP |
| S3 | Procesamiento de archivos |
| DynamoDB Streams | Reacción a cambios en datos |
| SQS | Procesamiento de colas |
| EventBridge | Eventos programados o de servicios |
| Cognito | Hooks de autenticación |
Cold starts
El «cold start» ocurre cuando Lambda debe inicializar un nuevo entorno:
- Típicamente 100ms-1s para runtimes interpretados
- Puede ser varios segundos para Java/.NET
- Mitigación: provisioned concurrency, mantener funciones pequeñas, SnapStart (Java)
Mejores prácticas
- Mantener funciones pequeñas y enfocadas
- Reutilizar conexiones (DB, HTTP) fuera del handler
- Usar variables de entorno para configuración
- Implementar idempotencia para reintentos
- Monitorear con CloudWatch y X-Ray
¿Por qué importa?
Lambda cambió la forma de pensar sobre infraestructura: en lugar de provisionar servidores, defines funciones que se ejecutan en respuesta a eventos. Para cargas de trabajo con tráfico variable, el modelo de pago por ejecución puede reducir costos en órdenes de magnitud respecto a servidores siempre encendidos.
Referencias
- AWS Lambda Documentation — Documentación oficial.
- Lambda Power Tuning — Herramienta para optimizar memoria/costo.
- Lambda Best Practices — AWS, 2024. Mejores prácticas oficiales para funciones Lambda.