# AWS Lambda

> Correr un pedazo de código solo cuando pasa algo, sin ningún servidor que administrar.

- Nivel: Básico
- Temas: AWS
- URL: https://tidbit.legios.com.ar/es/aws-lambda/
- En inglés: [AWS Lambda](https://tidbit.legios.com.ar/aws-lambda/)

**Lambda** te deja subir una función (un pedazo de código en Python, JavaScript, Java u otros lenguajes) y decirle a AWS cuándo correrla: cuando cae un archivo en Amazon S3, cuando llega un pedido HTTP por Amazon API Gateway, cuando aparece un mensaje en una cola de Amazon SQS, o todos los días a las 3 de la mañana. AWS consigue una máquina, corre tu código y la descarta. Nunca ves un servidor.

Pagás por pedido y por milisegundo de ejecución. Si nadie llama a la función, la factura es cero. Si un millón de personas la llaman a la vez, AWS corre miles de copias en paralelo sin que cambies nada. Los límites: una ejecución dura como máximo 15 minutos, y la primera llamada después de un rato de silencio es un poco más lenta (un **cold start**) mientras AWS prepara una copia nueva.

Esto es lo que la gente quiere decir con serverless: servidores sigue habiendo, pero son de otro. Un ejemplo típico: una app de fotos sube una imagen a S3, eso dispara una función Lambda que arma una miniatura y la guarda de vuelta. Ninguna máquina queda prendida esperando la próxima foto.

## Una analogía

Un plomero de guardia en vez de uno en planta. Pagás solo las visitas, no te importa dónde estaciona la camioneta, y si revientan diez caños a la vez la empresa manda diez plomeros.

## Para quedarse

- Una función corre en respuesta a un evento: una subida, un pedido, un horario.
- Se cobra por pedido y por milisegundo; el tiempo ocioso no cuesta nada.
- Una ejecución dura hasta 15 minutos; los trabajos largos van en otro lado.
- Escala sola, de cero a miles de copias en paralelo.

## Para seguir leyendo

- [¿Qué es AWS Lambda? (documentación oficial)](https://docs.aws.amazon.com/es_es/lambda/latest/dg/welcome.html)
- [AWS Lambda](https://aws.amazon.com/es/lambda/)

## Términos relacionados

- [Python](https://tidbit.legios.com.ar/es/python/): Un lenguaje de programación muy usado, conocido por ser fácil de leer y de escribir.
- [JavaScript](https://tidbit.legios.com.ar/es/javascript/): El lenguaje de programación que corre en las páginas web y las vuelve interactivas.
- [Amazon S3](https://tidbit.legios.com.ar/es/amazon-s3/): Un cajón gigante en internet para guardar archivos, alquilado por gigabyte.
- [HTTP](https://tidbit.legios.com.ar/es/http/): El idioma de pedido y respuesta que hablan los navegadores y los sitios web.
- [Amazon API Gateway](https://tidbit.legios.com.ar/es/amazon-api-gateway/): La puerta de entrada de tu API: recibe los pedidos y se los pasa a tu código.
- [Amazon SQS](https://tidbit.legios.com.ar/es/amazon-sqs/): Una fila de espera para mensajes entre programas, para que ninguno se pierda.
- [Servidor](https://tidbit.legios.com.ar/es/server/): Una computadora cuyo trabajo es responder pedidos de otras computadoras, todo el día.
- [Serverless](https://tidbit.legios.com.ar/es/serverless/): Código que corre solo cuando alguien lo llama; el servidor no lo ves nunca.
