API Gateway
Un API Gateway (puerta de enlace de API) es la puerta de entrada única a las APIs de una aplicación: recibe todas las peticiones de los clientes (web, móvil u otros sistemas), comprueba quién llama y si tiene permiso, aplica límites de uso y envía cada petición al servicio de backend que le corresponde, para luego devolver la respuesta al cliente.
Comprendiendo API Gateway
En una arquitectura de microservicios, docenas de servicios independientes gestionan distintos aspectos de una aplicación. Un API Gateway ofrece un solo punto de entrada que abstrae esta complejidad. Los clientes envían todas las solicitudes al gateway, que gestiona la autenticación, autorización, control de velocidad, balanceo de carga, terminación SSL, transformación de solicitudes y registro antes de enrutar las solicitudes al servicio backend correspondiente. Los API Gateways son infraestructura esencial para aplicaciones de IA en producción que exponen servicios a clientes web y móviles.
Cómo funciona, paso a paso: una app móvil pide GET /pedidos/123. La petición llega al gateway, no al servicio. El gateway valida el token (por ejemplo un JWT o una API key), comprueba que ese cliente no haya superado su cuota, consulta su tabla de rutas para saber que /pedidos va al servicio de pedidos, reenvía la petición, registra cuánto tardó y devuelve la respuesta. Si el servicio está caído o tarda demasiado, el gateway puede responder con un error controlado en lugar de dejar al cliente esperando. Los servicios de backend ya no tienen que repetir la autenticación, el registro ni el control de tráfico cada uno por su cuenta.
Ejemplos conocidos: Amazon API Gateway (servicio gestionado de AWS, habitual delante de funciones Lambda), Azure API Management, Google Cloud Apigee, y opciones que despliegas tú como Kong, Tyk o NGINX configurado como gateway. Los gestionados te ahorran operar servidores; los autoalojados dan más control y no te atan a un proveedor de nube.
API Gateway frente a otras piezas parecidas: un proxy inverso (como NGINX) reenvía tráfico y termina TLS, y un API Gateway es un proxy inverso con funciones pensadas para APIs (claves, cuotas, versiones, transformación de peticiones, portal para desarrolladores). Un balanceador de carga reparte el tráfico entre varias copias del mismo servicio, sin entender de usuarios ni de rutas de API; muchos gateways hacen también ese reparto. Un service mesh (como Istio) gestiona el tráfico entre servicios dentro del clúster, mientras que el gateway se ocupa del tráfico que entra desde fuera.
Cuándo no lo necesitas: si tienes una sola aplicación backend (un monolito) con un único cliente, un gateway añade un salto de red, latencia y otra pieza que mantener, y el propio framework puede hacer la autenticación y los límites de uso. Empieza a merecer la pena cuando tienes varios servicios, varios tipos de cliente o socios externos que consumen tu API con distintas cuotas.
Cómo GAIA usa API Gateway
El backend FastAPI de GAIA cumple las funciones de puerta de enlace para sus clientes web, de escritorio y móviles. Un middleware valida la sesión del usuario (con WorkOS) antes de que la petición llegue a la lógica del agente o a las bases de datos, y otro aplica límites de uso por usuario y por plan, con contadores en Redis que devuelven un error 429 al superarlos. Esta capa común también valida las peticiones, gestiona los errores y da a las respuestas el mismo formato para todos los tipos de cliente.
Conceptos relacionados
Integración de API
La integración de API es el proceso de conectar distintas aplicaciones de software a través de sus Interfaces de Programación de Aplicaciones, permitiendo que compartan datos y funcionalidades de manera fluida.
Microservicios
Los microservicios son un patrón arquitectónico que estructura una aplicación como un conjunto de servicios pequeños, desplegables de manera independiente, cada uno responsable de una función empresarial específica y que se comunica mediante APIs bien definidas.
OAuth
OAuth (Autorización Abierta) es un estándar abierto para autorización delegada que permite que una aplicación de terceros acceda a los datos del usuario en otro servicio sin necesitar que el usuario comparta su contraseña.
API REST
Una API REST (Transferencia de Estado Representacional) es una interfaz de servicio web que utiliza métodos HTTP estándar (GET, POST, PUT, DELETE, PATCH) para acceder y manipular recursos identificados por URLs, siguiendo un conjunto de convenciones arquitectónicas que hacen que las APIs sean predecibles e interoperables.
