<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=974250883405448&amp;ev=PageView&amp;noscript=1">
¿Pensando en integrar un API Manager en tu arquitectura?

Integración

¿Pensando en integrar un API Manager en tu arquitectura?

Emilio Rodríguez Velaz | mar 23, 2022

Como consecuencia a los sistemas distribuidos, en la década de los 70, las APIs tuvieron un primer auge el cual siguió siendo relevante en décadas posteriores.

Ya en nuestro siglo, Roy Fielding y su disertación ‘Architectural Styles and the Design of Network-based Software Architectures’, significó lo que para muchos es el punto de partida del modelo APIs que tan en auge está hoy en día.

En este momento se estaría hablando del concepto WebAPI, para simplificar el artículo seguirá usando el concepto API, que como su nombre indica es una API sobre el modelo web accesible mediante el protocolo HTTP y que permite acceso programático para leer, escribir, modificar o borrar datos.

Este modelo API, junto al manifiesto de metodología ágil (agile manifesto 2001) y otros elementos de evolución en el sector, han facilitado el acceso al dato y han hecho que este sea compartido tanto dentro, como fuera de la organización.

Para que toda esta descentralización del dato funcione, es necesaria una seguridad específica, así como medios para monetizar el consumo del dato en casos donde la empresa desee investigar nuevos nichos de mercado basados en la información.

En este apartado, el API Manager se presenta como una pieza clave en una arquitectura de servicios con APIs que necesiten ser expuestas al exterior de una organización, o bien se requiera un control pormenorizado de las mismas.

Algunos de los beneficios que puede reportar un API Manager son:

  • Seguridad: 
    • Protección de las APIs de la empresa admitiendo su uso exclusivamente a clientes autorizados. 
    • Encapsulamiento de clientes y la posibilidad de tomar medidas individualizadas ante posibles ataques, como denegación de servicio, inyección de código, etc. Obteniendo así una mejor disponibilidad del propio negocio.
    • Aplicación de políticas y optimización del consumo de las APIs.
  • Desacoplamiento del cliente Api:
    • Mantener la lógica de negocio empresarial en una capa interna desarrollada por APIs y ofrecer productos mediante clientes ligeros que consuman estas APIs. 
    • Facilitar integración con clientes, colaboradores o partners de manera que se puedan optimizar procesos, mejorar la seguridad y fidelizar la colaboración mediante la tecnología.
  • Ahorro de costes y optimización de los recursos en un mercado donde prima el pago por uso. 
  • Encontrar nuevos nichos de negocio basados en los datos. 
  • Reutilización segura de las APIs.

Pero es evidente que un Api Manager también tiene costes como:

  • Seleccionar un proveedor API Manager habiendo tanta oferta de calidad en el mercado. Esta labor requiere esfuerzo y tiempo, focalizándose en el soporte completo, end-to-end, del ciclo de vida de la API. 
  • La necesidad de un rol especializado para una correcta administración del API Manager.

Debido a la gran oferta de proveedores de API Manager y la complejidad de adaptar el API Manager adecuado al contexto empresarial concreto, la selección del API Manager es una tarea difícil de realizar.

¿Qué API Manager elegir?

En este artículo se propondrán algunas ideas relevantes, divididas por bloques, para intentar ayudar en esta difícil labor:

Seguridad
Es necesario prestar especial atención a cómo resuelve elementos como la autenticación. Un ejemplo es cómo implementa OAuth2, si usa un proveedor externo y si permite integrar varios de estos, así como analizar la capacidad de integración del API Manager con arquitectura interna de manera que deje pasar libremente elementos que se consideren necesarios para evaluar la seguridad de nuestra arquitectura. Un ejemplo sería un posible JWT usado para la identificación del cliente API.
 
Tráfico que se estima recibir y dimensionamiento
Existen diferentes modelos de comercialización y es muy interesante disponer de una estimación previa de cuánto tráfico se espera recibir. Para ello, es recomendable tomar en cuenta: 
  • Número de llamadas anuales totales que se espera recibir a las APIs expuestas en el API Manager.
  • Número de llamadas concurrentes. Para ello es interesante conocer:
    • Clientes Apis que se estima requieren información síncrona.
    • Tiempos de respuesta de las APIs expuestas y analizar la posibilidad de refactorización para satisfacer nuevas necesidades basadas en la latencia.
  • Los API Manager son realmente rápidos y no deben añadir mucha más latencia a las peticiones. Se deberá tener previsión de dimensionamiento del API Manager seleccionado y recursos asignados.

integracion

Analítica y depuración
Un elemento muy importante que debe proporcionar un API Manager es un cuadro de mandos donde se pueda analizar:
 
  • Comportamiento síncrono de los clientes, que entre otras cosas permitirá tener conocimiento predictivo de los mismos.
  • Detectar ataques como los de denegación de servicio para tomar las medidas de protección oportunas.
  • Detalle de uso de todas las APIs publicadas de manera que detectemos el interés que pueda generar en el mercado.

Por otro lado, si la empresa busca diversificar su negocio basándose en el dato, la información aquí reportada seguramente sea verdaderamente útil para este objetivo.

Un elemento fundamental en este apartado es que la actualización de esta información sea lo más próxima al tiempo real y tener un buen número de gráficos para analizar la información desde diferentes puntos de vista.

Mantenimiento del API Manager

Este punto será fundamental para poder ofrecer disponibilidad en el servicio. Para ello es importante considerar:

  • Facilidad de la interfaz gráfica y diseño amigable para poder administrar elementos como credenciales, establecimientos de políticas, publicación de nuevas APIs, revocaciones de permisos, etc.
  • Capacidad de escalado en caliente, especialmente importante en modelos de pago por uso.
  • Modelo de alertas con posibilidad de configuración variada.
  • Diseñar unas directrices de integración en la parte cliente. Esta colaboración con el cliente, además de ofrecer un mejor servicio, facilitará mucho el supuesto de migración a otro API Manager.
Optimización del API Manager

El API Manager evidentemente tiene un coste, pero con una optimización de su uso, será posible reportar unos beneficios muy interesantes. 

Por ejemplo, con un control de tráfico adaptado al uso lógico de una API mediante el API Manager, el API Server que aloja esta API podría ver reducido su uso y se podrá dimensionar a la necesidad real.

No obstante, este artículo se centrará en el Api Manager de manera que se propone tener en consideración:

  • Buscar la ubicación adecuada del API Manager dentro de la arquitectura de la organización. 
  • Establecer una política de uso para los clientes API con un modelo integración definido, capacidad de auditoría y con posibilidad de penalización en caso de mal uso. Es buena práctica establecerlo por contrato entre las partes. 
  • Diseñar una Api eficiente en diseño y funcionamiento. Además, una buena definición del dominio permitirá un escalado más sencillo tanto de recursos técnicos, como de equipo humano.

En este artículo se proponen algunas ideas basadas en la experiencia y se espera que puedan ayudar en la selección del API Manager adecuado a la empresa concreta. 

Si aparte de lo descrito en este artículo necesitas más ayuda o propuestas, desde Techedge estaríamos encantados de participar en el análisis para la selección del API Manager e idear un modelo de arquitectura API cuyo objetivo sea exponer el modelo de negocio empresarial al exterior.

Asimismo, es interesante tener en consideración el cuadrante de Gartner, porque realiza un análisis basado en las siguientes áreas funcionales:

  • Developer portal: lugar donde se expone el catálogo de APIs y donde se podrán habilitar, comercializar y gobernar.
  • Api gateways: gestión del Runtime, seguridad y monitorización de las APIs.
  • Policy management and analytics: configuración de seguridad, mediación y analítica.
  • API design and development: herramientas para diseñar y crear API así como su activación. 
  • API testing: posibilidad de realizar pruebas funcionales, de rendimiento y seguridad avanzada de las APIs.
Report: 2021 Gartner Magic Quadrant for Full Life Cycle API Management

 

Contacta con nosotros

¡Suscríbete!