¿Qué es la API «Manager» y cómo debo (y no debo) utilizarla?

La API llamada «Manager» es una API puesta a disposición por Sensedia para que nuestros clientes puedan aplicar ajustes relacionados con el design-time de las APIs a través de llamadas HTTP.

Para entenderlo mejor, conviene tener en cuenta un diagrama simplificado de la API Platform:

data control plane

El gateway recibe y gestiona las llamadas procedentes de las aplicaciones y envía las llamadas a los servidores correctos. A continuación, recibe las respuestas de los servidores y las envía a cada aplicación respectiva. Todo el proceso de recepción y respuesta de llamadas forma parte del runtime de las APIs y tiene lugar en lo que llamamos el data plane.

En el runtime, el gateway aplica una serie de configuraciones que son establecidas por el usuario en el momento de diseño de las APIs, lo que ocurre en lo que llamamos el control plane. En nuestro caso, estos ajustes se establecen en el API Manager, que es la interfaz gráfica de control de la Plataforma.

Es decir, en el API Manager el usuario define cómo se comportará el gateway. Por ejemplo, es a través del Manager que definimos que una determinada API solo aceptará tokens de acceso generados por el flujo Authorization Code de OAuth y que otra API tendrá una limitación de llamadas por minuto. Estos ajustes se envían al gateway, que los aplica en el runtime.

La API «Manager» no es más que una API que proporcionamos para que las configuraciones del control plane puedan realizarse mediante llamadas HTTP en lugar de exclusivamente a través de la GUI del API Manager. Esto es muy útil cuando se quiere configurar la Plataforma por CLI o cuando se quiere implementar automatización de CI/CD en los procesos de design-time de las APIs.

La separación entre las dos esferas de la Plataforma (el control plane y el data plane) es esencial para que todo el ecosistema sea estable y escalable. Por lo tanto, es importante que la API «Manager» se utilice únicamente como herramienta de ayuda al design-time.

Esto significa que nunca debe incluir llamadas a la API «Manager» como parte del flujo de producción de otra API. Al hacerlo, se superponen el control plane y el data plane y puede causar inestabilidad en sus APIs (con el riesgo de pérdida de llamadas debido al tiempo de espera o alta latencia, por ejemplo).

Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]