Tecnologías

La tecnología base de nuestro API Manager Premium: Gravitee

Hoy os traemos una nueva entrada sobre las tecnologías que usamos en la Onesait Platform.

Gravitee API Platform es un plataforma para gestión de APIs Open Source con licencia Apache, construida en Java. Esta plataforma se compone de dos piezas fundamentales:

  • Gravitee API Manager: que integra el API Gateway y el API Portal.
  • Gravitee Access Manager (AM): que es el encargado de las autorizaciones del API Manager.

La importancia de Gravitee la encontramos en sus características, que las podríamos resumir en:

  • API REST de gestión: cada acción realizada a través de la interfaz de usuario web ofrece una API REST interna.
  • Despliegue sencillo: con un solo clic, el API queda accesible en Gravitee.io y está lista para ser consumida.
  • Ligero: Gravitee está pensado para ser muy ligero (tanto en arranque como en ejecución).
  • Extensible: una funcionalidad muy interesante es su concepto de plugin, que pueden catalogarse en tipos:
  • 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 tu propio plugin.
  • Balanceo de carga: soportando Round-robin, random y sticky mode, Gravitee proporciona un conjunto de algoritmos de equilibrio de carga que se adaptan a sus necesidades.
  • Configuración de 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: permitiendo ver tiempo de respuesta, estado de respuesta y 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, etc.)
  • Healthcheck: como proveedor del API, puede agregar un control de estado a sus servicios y proporcione comentarios a sus usuarios sobre la disponibilidad de su API.
  • Fail-over: cuando uno de las APIs no está disponible, el Gateway se encargará de dirigir la llamada a otra instancia de su servicio de forma transparente para los consumidores.
  • Seguridad: permite proteger las APIs proporcionando una clave API a los consumidores, agregando la política OAuth2 o JWT, autenticación básica, etc.

Arquitectura y Tecnologías

En cuanto al API Manager, la Arquitectura de la solución sería la siguiente:

Analizando las tecnologías con las que está construido, nos encontramos con Vert.x, Drools, MongoDB, etc.

Gravitee AA

Por último, tenemos que hacer referencia a Gravitee AA, que sirve de puente entre las aplicaciones y los Identity Provider para autenticar, autorizar, etc. Se basa en protocolos como OAuth2 u OpenId, y la forma de interactuar con el API Manager sería de la siguiente forma:

Interesante, ¿verdad? Si os surge alguna duda, o queréis que os indiquemos algo más sobre esto, dejadnos un comentario y estaremos encantados de responderos.

✍🏻 Author(s)

Deja una respuesta