Definición: Servicio que actua como punto de entrada unico para consumidores de APIs, gestionando enrutamiento, autenticacion, rate limiting y transformacion de peticiones.
— Fuente: NERVICO, Consultoría de Desarrollo de Producto
Que es un API Gateway
Un API Gateway es un servicio que actua como punto de entrada unico para todos los consumidores de una API. Gestiona el enrutamiento de peticiones hacia los servicios backend correspondientes, aplica politicas de autenticacion y autorizacion, controla limites de uso (rate limiting) y puede transformar las peticiones y respuestas entre diferentes formatos. Es un componente clave en arquitecturas de microservicios, donde multiples servicios necesitan exponerse a traves de una interfaz unificada.
Como funciona
Cuando un cliente envia una peticion HTTP, el API Gateway la intercepta antes de que llegue al backend. Primero verifica la autenticacion (tokens JWT, API keys o OAuth). Luego aplica politicas de rate limiting para proteger los servicios de sobrecarga. A continuacion, enruta la peticion al servicio backend correcto basandose en la URL, metodo HTTP y parametros. El gateway puede transformar la peticion (agregar headers, modificar el formato del body) y tambien la respuesta antes de devolverla al cliente. Servicios como Amazon API Gateway, Kong y Nginx actuan como gateways manejados o auto-gestionados.
Por que importa
Sin un API Gateway, cada microservicio tendria que implementar su propia autenticacion, rate limiting y logging, duplicando logica y aumentando la superficie de vulnerabilidades. El gateway centraliza estas responsabilidades transversales en un unico punto, simplificando la seguridad y el mantenimiento. Para equipos que operan multiples servicios, un gateway bien configurado reduce el acoplamiento entre servicios y facilita cambios como versionado de APIs, migraciones graduales y despliegues canary sin modificar el codigo del backend.
Ejemplo practico
Una fintech con 12 microservicios despliega Amazon API Gateway como punto de entrada unico. Todas las peticiones de la app movil pasan por el gateway, que valida tokens JWT, aplica un limite de 100 peticiones por minuto por usuario y enruta cada endpoint al servicio correcto. Cuando el equipo necesita migrar el servicio de pagos a una nueva version, configura un despliegue canary en el gateway: el 10% del trafico va a la version nueva mientras el 90% permanece en la version estable.