Contenido del curso

API Gateway y Lambda en arquitecturas serverless

Resumen

Construir aplicaciones serverless en AWS gira en torno a dos servicios clave: API Gateway y AWS Lambda. Aquí descubres cómo funcionan, cómo se integran y qué patrones de diseño aplicar para crear arquitecturas escalables, seguras y de baja latencia, ideal para arquitectos y desarrolladores que trabajan en la nube.

¿Qué es API Gateway y para qué sirve?

API Gateway es el servicio de AWS que te permite crear y gestionar APIs que funcionan como puerta de entrada a tu backend, ya sea funciones Lambda, contenedores, instancias de EC2 u otros destinos [1:30].

Lo interesante es que centraliza tareas que antes resolvías por separado: enrutamiento, autenticación, control de tráfico y caché. Y aquí viene lo útil: puedes elegir el tipo de API según tu caso de uso.

¿Cuál es la diferencia entre REST APIs y HTTP APIs?

Dentro de API Gateway tienes dos tipos principales, cada uno con un propósito distinto.

  • REST APIs: las tradicionales, basadas en recursos y métodos. Defines rutas como /usuarios o /tareas y les asignas métodos HTTP como GET, POST, PUT o DELETE. Pueden operar en modo proxy, donde pasan la solicitud completa a Lambda, o en modo no proxy, que permite transformar datos con mapping templates [2:00].
  • HTTP APIs: una versión más simple, con menor latencia y costos más bajos. Ideal cuando no necesitas toda la funcionalidad de las REST APIs [2:50].

¿Cuándo usar HTTP APIs en lugar de REST APIs? Cuando buscas menor latencia, configuración rápida y costos más bajos, sin necesitar transformaciones avanzadas ni funcionalidades extendidas.

¿Cómo gestiono entornos y tráfico en API Gateway?

API Gateway te deja configurar deployment stages para separar desarrollo, pruebas y producción, lo que facilita versionar tus APIs [3:15].

También puedes aplicar throttling para limitar la cantidad de solicitudes y evitar que el backend se sature, una muy buena práctica. Y si quieres acelerar respuestas, habilita el caché: reduce el tiempo de respuesta y optimiza el rendimiento sin tocar tu lógica.

¿Qué hace AWS Lambda dentro de una arquitectura serverless?

Lambda es el motor que impulsa la mayoría de aplicaciones serverless modernas. Te permite ejecutar código sin preocuparte por la infraestructura: AWS se encarga del aprovisionamiento, la escalabilidad y la administración de servidores [4:40].

Esto cambia la forma de pensar tu arquitectura. En vez de mantener servidores prendidos, pagas por ejecución y escalas automáticamente con la demanda.

¿Qué modelos de concurrencia ofrece Lambda?

Lambda te da control sobre cómo se ejecutan tus funciones cuando llegan muchas solicitudes al mismo tiempo.

  • Concurrencia reservada: limita el número máximo de ejecuciones simultáneas para una función.
  • Concurrencia provisionada: mantiene tus funciones calientes y evita demoras en la ejecución, clave para aplicaciones de baja latencia [5:10].

¿Qué es la concurrencia provisionada en Lambda? Es una configuración que mantiene un número definido de instancias de tu función listas para responder al instante, eliminando el cold start.

¿Qué eventos pueden activar una función Lambda?

Lambda se activa por triggers, lo que la convierte en pieza central de arquitecturas reactivas.

  • Solicitudes desde API Gateway.
  • Carga de archivos en S3.
  • Cambios en bases de datos como DynamoDB.
  • Eventos programados con EventBridge [5:40].

Con esto puedes construir flujos automatizados que reaccionan al instante ante cualquier cambio en tu ecosistema AWS.

¿Cómo se integran API Gateway y Lambda en una arquitectura real?

La integración entre ambos es el corazón de muchas arquitecturas serverless. El flujo es directo: un cliente envía una solicitud HTTP, API Gateway valida, aplica autenticación y la redirige a Lambda. Lambda procesa la solicitud y devuelve la respuesta, que API Gateway formatea antes de enviarla al cliente [6:20].

Este diseño te da sistemas escalables, optimizados y desacoplados, donde cada componente hace bien una sola cosa.

¿Qué es el patrón Backend for Frontend?

El backend for frontend (BFF) es un patrón muy común en serverless. Adapta las respuestas del backend a las necesidades específicas de cada tipo de cliente, web, móvil o IoT, mejorando la eficiencia y la experiencia del usuario [7:00].

Los mapping templates de API Gateway facilitan esta transformación sin tocar la lógica de Lambda. Es decir, ajustas la forma de la respuesta en la capa de la API, no en el código.

¿Cómo aseguro mis APIs con autenticación y autorización?

API Gateway ofrece varias opciones para proteger tus endpoints, y puedes combinarlas según el nivel de control que necesites.

  • AWS IAM: para acceso autenticado mediante credenciales de AWS.
  • Amazon Cognito: gestiona autenticación y autorización con tokens JWT (Jason Web Tokens) [7:30].
  • Autorizadores personalizados con Lambda: validan el acceso con tu propia lógica.

Además, los mapping templates validan y transforman los datos de entrada antes de enviarlos al backend, asegurando que las solicitudes lleguen bien formadas.

¿Cómo se conecta todo con otros servicios de AWS?

Una arquitectura típica suma capas que potencian a API Gateway. Frente a él puedes colocar CloudFront para distribución global y caché en el borde. Detrás, conviven instancias de EC2, clústeres de EKS para contenedores y funciones Lambda [4:10].

Y no olvides el monitoreo: integrar API Gateway con CloudWatch te da visibilidad sobre métricas, logs y errores en tiempo real, algo que marca la diferencia cuando algo falla en producción.

¿Ya tienes claro cómo combinarías API Gateway y Lambda en tu próximo proyecto? Cuéntame qué caso de uso quieres construir primero.