Gravitee API Platform es un Plataforma para gestión de APIS construida en Java y open-source Apache (https://github.com/gravitee-io)
La Plataforma la componen 2 piezas:
· Gravitee API Manager: que integra el API Gateway y el API Portal
· Gravitee Access Manager (AM): encargado de las autorizaciones del API Manager
Sus principales características podrían resumirse en:
· API REST: Cada acción realizada a través de la interfaz de usuario web ofrece un API REST interna.
· DESPLIEGUE DE UN CLIC: Con un solo clic, el API queda accesible en Gravitee.io y está lista para ser consumida.
· ESCALABLE: permitiendo añadir de forma sencilla nuevas instancias del Gateway al cluster
· POLÍTICAS PERSONALIZADAS: Gravitee.io proporciona una gran cantidad de políticas listas para usar (limitación de velocidad, CORS, filtrado de IP). Si no es suficiente, puedes desarrollar el tu propio plugin
· BALANCEO DE CARGA: Round-robin, random, sticky mode, Gravitee proporciona un conjunto de algoritmos de equilibrio de carga que se adaptan a sus necesidades.
· CONFIGURACIÓN ROLLBACK: Cada cambio en la configuración de su API está versionado. Puede retroceder a una configuración anterior o compararlos.
· REPORTES PERSONALIZADOS
· ANALÍTICA: Tiempo de respuesta, estado de respuesta, tamaño de la carga útil, el panel de análisis proporciona métricas útiles para analizar el comportamiento de su API y cómo se consume.
· API PORTAL: Gravitee.io destaca sus API en su portal y proporciona documentación y control de acceso para las aplicaciones que desean hacer uso de su trabajo.
· SHARDING: usando etiquetas, puede enviar sus API a múltiples instancias de puerta de enlace (entorno público / privado, …)
· CHEQUEO DE SALUD: Como proveedor de API, puede agregar un control de estado a sus servicios y proporcione comentarios a sus usuarios sobre la disponibilidad de su API.
· FAIL-OVER: ¿Uno de tus servicios API no está disponible? No hay problema, la puerta de enlace se encargará de esto y dirigirá la llamada a otra instancia de su servicio de forma transparente para los consumidores.
· SEGURIDAD: Proteja su API proporcionando una clave API a los consumidores, agregando la política OAuth2 o JWT, autenticación básica, …
En cuanto al API Manager la Arquitectura de la solución es esta:
Y si vemos las tecnologías con las que está construido nos encontramos con Vert.x, Drools, Mongo, redis,…
Gravitee está pensado para ser muy ligero (en arranque y ejecución), una funcionalidad muy interesante es su concepto de plugin que pueden catalogarse en tipos:
En cuanto al Gravitee AA, sirve de puente entre las aplicaciones y los Identity Provider para autenticar, autorizar,… se basa en protocolos como OAuth2, OpenId,.. y la forma de interactuar con el API Manager es esta:
Como hemos dicho, Gravitee está construido en Java, y la instalación es muy sencilla, tanto vía contenedores Docker como con un ZIP con el instalable.