AWS Lambda es un servicio de cómputo sin servidor ofrecido por Amazon Web Services que permite a los desarrolladores ejecutar código en respuesta a eventos sin necesidad de aprovisionar o gestionar servidores. Lambda ejecuta automáticamente el código en un entorno de cómputo de alta disponibilidad y maneja todas las actividades administrativas, como el mantenimiento del servidor, la capacidad de cómputo, el balanceo de carga y la monitorización.
Características principales de AWS Lambda:
1. Ejecución basada en eventos
- Lambda se puede disparar a partir de eventos de otros servicios de AWS como S3, DynamoDB, Kinesis, SNS, y CloudWatch, o se puede invocar directamente desde cualquier aplicación web o móvil.
- Es ideal para ejecutar funciones en respuesta a cambios en los datos, actualizaciones de estado, o acciones del usuario.
2. Lenguajes de programación soportados
- AWS Lambda soporta múltiples lenguajes de programación, incluyendo Node.js, Python, Java, Go, PowerShell, C#, Ruby, y más recientemente, incluso custom runtimes que permiten usar cualquier otro lenguaje de programación.
3. Escalabilidad automática
- Lambda escala automáticamente la ejecución de la función desde unas pocas solicitudes por día hasta miles por segundo.
- No necesitas configurar la escala; AWS maneja la escalación y desescalación automáticamente según la demanda.
4. Pago por uso
- Con Lambda, solo pagas por el tiempo de cómputo que consumes. El precio se calcula en base a la cantidad de memoria que asignas a tu función y el tiempo de ejecución del código.
- No hay cargos cuando tu código no se está ejecutando.
5. Integración y orquestación
- Integrable con AWS Step Functions para orquestar múltiples funciones Lambda en flujos de trabajo sin servidor.
- Permite la creación de back-ends que responden a eventos sin necesidad de un servidor tradicional.
6. Aislamiento y seguridad
- Cada función se ejecuta en su propia instancia de contenedor con aislamiento de recursos, lo que garantiza un entorno seguro y protegido.
- Puedes asignar roles IAM específicos a funciones individuales para un control de acceso detallado.
7. Manejo del tiempo de ejecución