Amazon API Gateway
La puerta de entrada de tu API: recibe los pedidos y se los pasa a tu código.
Amazon API Gateway le da a tu API una dirección pública en internet y se ocupa de todo lo que pasa antes de que corra tu código. Definís rutas como GET /orders o POST /users, le decís a dónde va cada una (casi siempre una función AWS Lambda, a veces un servidor u otro servicio de AWS), y él hace el resto.
'El resto' es bastante: servir por HTTPS, verificar API keys o tokens de login (se integra directo con Amazon Cognito), limitar cuántos pedidos por segundo puede hacer cada cliente, cachear respuestas, registrar cada llamada en Amazon CloudWatch, e incluso mantener conexiones WebSocket abiertas y convertir sus mensajes en eventos para tu código.
Ejemplo: una app móvil llama a https://api.ejemplo.com/orders. API Gateway recibe el pedido, verifica el token del usuario, lo rechaza si ese cliente ya pasó su cuota, y si no invoca una función Lambda con el cuerpo del pedido. La función devuelve JSON y el gateway se lo manda al celular. Nunca hubo que levantar un servidor.
Junto con Lambda y Amazon DynamoDB es la receta clásica de un backend Serverless: pagás por pedido, y escala de cero a millones de llamadas sin que toques nada.
Para quedarse
- Definís rutas y apuntás cada una a Lambda, a un servidor o a un servicio de AWS.
- Autenticación, límites de uso, caché y logs ocurren antes de que corra tu código.
- Dos variantes: HTTP APIs (más simples y baratas) y REST APIs (más funciones).
- Se cobra por millón de pedidos; no hay nada corriendo ni pagando cuando nadie llama.