Hybrid API Management

Introducción

El Cloud Computing está ganando terreno a pasos agigantados hoy día. Cada vez un mayor número de organizaciones se está moviendo hacia este tipo de soluciones. Según uno de los informes de Gartner, se prevé que el gasto de los usuarios finales en todo el mundo en servicios de nube crezca un 20,4 % en 2022 hasta un total de 494 700 millones de dólares, frente a los 410 900 millones de dólares de 2021. En 2023, se espera que el gasto de los usuarios finales alcance casi $ 600 mil millones.

Bajo mi punto de vista y mi experiencia, el mayor crecimiento que se va a producir en el gasto de los usuarios finales en 2022 estará asociado a la Infraestructura como Servicio (IaaS) y el Escritorio como Servicio (DaaS), seguido de la Plataforma como Servicio (PaaS). La nueva realidad del trabajo híbrido está impulsando a las organizaciones a dejar de potenciar a su fuerza laboral con soluciones informáticas de cliente tradicionales, como computadoras de escritorio y otras herramientas físicas en la oficina, y hacia DaaS.

Con esta visión algunos componentes para la solución estratégica se encontrarán en Cloud, mientras que el resto de los componentes estarán en On-premise, en los centros de datos locales tradicionales.

Con el aún creciente movimiento de transformación digital, donde cada vez se exponen cada vez más datos a través de las APIs, las organizaciones dependen en gran medida de las plataformas de API Management para aliviar la carga de administrar estas API. Hoy en día, cada vez más estas plataformas se están moviendo hacia enfoques híbridos donde algunas partes de la plataforma están en Cloud y el resto en On-premise en centros de datos locales.

Este artículo se pretende explicar por qué y cuándo adoptar una solución de Hybrid API Management, teniendo como claros ejemplos:

  • Google Apigee Hybrid
  • Microsoft Azure API Management
  • MuleSoft Anypoint Platform API Management
  • Kong
  • 3Scale

On-premise API Management

Tradicionalmente, las plataformas de API Management se han adoptado internamente en las organizaciones en su centro de datos local.

Ventajas

Las soluciones On-premise API Management lo que ofrecen son un control total y una gran flexibilidad sobre dicha plataforma.

Gracias a estar dentro de la misma red corporativa, la integración final con los servicios de backend, sin tener que exponerlos al exterior, es mucho más sencilla y ofrece una menor latencia.

Digital Lover

Desventajas

El mantenimiento de este tipo de soluciones On-premise, se vuelve muy complejo y tedioso, requiriéndose un pool de recursos hardware y humanos muy extensos, lo traducido al mundo empresarial, supone un gran gasto económico para la empresa. Además, la necesidad de una integración con terceros supone un proceso muy complejo, debido a todas las restricciones de seguridad de la red de la organización, lo que supone un aumento significativo en cuanto a los riesgos de seguridad.

Cloud API Management

Con el gran crecimiento que está teniendo hoy en día el Cloud Computing, cada vez existen más soluciones de Cloud API Management se basan en Cloud.

Ventajas

Las soluciones Cloud API Management, permiten a las organizaciones centrarse en la lógica empresarial para mejorar su agilidad y su modelo de desarrollo rápido.

Resuelven el gran problema de las soluciones On-premise, de la gran cantidad de recursos necesarios para su mantenimiento y su dificultad. Esto es así, puesto que los productos SaaS ofrecidos para API Management, ofrecen un ciclo de vida completo para las APIs, además de encargarse del mantenimiento y la disponibilidad de los sistemas.

Desventajas

Si el consumo que se va a realizar de las APIs expuestas en los Gateways es por la propia organización, donde los backend de los servicios que consumen dichas APIs son internos, los saltos adicionales que son introducidos por una plataforma de Cloud API Management ralentizarían mucho la respuesta hacia el cliente final ya que se aumentaría significativamente la latencia.

Además, dichos servicios de backend se deberán de exponer a internet suponiendo un gran riesgo en cuanto a la seguridad de la organización o usar una conexión VPN desde los Gateways en Cloud hacia los backend, lo que supone un gasto económico significativo para la empresa.

Bajo esta premisa existe la idea de seguridad llamada “Zero-Trust”, que a través de diferentes mecanismos como por ejemplo Mutual-TLs o Oauth 2.0, se consigue tener un entorno seguro donde se hace casi infranqueable la posibilidad de acceder a dichos recursos backend sin los permisos suficientes.

Hybrid API Management

Para obtener los beneficios de un entorno SaaS junto con el control de las plataformas locales, han de combinarse el Cloud y el On-premise en el diseño de soluciones.

Ventajas

La mayoría de las plataformas de Hybrid API Management, incluyen las interfaces de usuario de administración, el portal del desarrollador y los análisis en la nube, por lo tanto, siempre están accesibles para los editores y suscriptores de API.

Las organizaciones no necesitan preocuparse por la disponibilidad, el tiempo de actividad y el mantenimiento de estos componentes, ya que el proveedor se encargará de ello, lo que garantiza una implementación más ágil, rápida y con un bajo costo total del pool de recursos y su mantenimiento.

El runtime se puede ejecutar tanto en On-premise como en Cloud, lo que reduciría bastante la carga de la red y garantiza una mayor seguridad al encontrarse en la misma red corporativa en un punto cercano a los servicios de backend. Además, elimina la necesidad del Cloud de una VPN o cualquier otra solución del estilo.

Desventajas

Se requiere cierto mantenimiento para el runtime con un pool de recursos hardware y humanos no tan extenso como una solución completa de API Management en On-premise.

Además, conviene diseñar una solución de alta disponibilidad para el runtime, que sea capaz de escalar y haga un uso eficiente de la infraestructura, aunque esto se puede solventar corriendo los Gateways sobre entornos con Docker o Kubernetes.

¿Qué modelo de arquitectura API Management escoger para nuestro caso de negocio/organización?

Hay múltiples y diferentes factores a evaluar y decidir sobre multitud de aspectos mediante los cuales poder escoger y tomar una decisión en cuanto a qué modelo de arquitectura de API Managment encaja mejor en nuestro caso de negocio para nuestra organización. Algunos de estos aspectos que se consideran más importantes y nos va a ayudar a tomar una decisión sobre qué modelo escoger son:

- Seguridad / Conformidad:

  • ¿Los datos y/o metadatos de las diferentes APIs/servicios pueden o no convivir fuera de tus entornos On-Premise?

- Infraestructura

  • ¿Existe alguna directriz para que sea necesaria una solución completamente Cloud?
  • ¿Se trata de una migracion completa a entornos Cloud?
  • ¿Hay algunos sistemas legacy dentro de la organización que por alguna razon no puedan ser migrados a entornos Cloud?
  • Dispones de tantos servidores On-Premise, ¿que desea realizar una migración paso a paso?: Solo nuevas aplicaciones van a ser On Cloud y las ya existentes seguirán funcionando On-Premise

- Coste

  • ¿Existe algun assessment sobre el número aproximado de APIs y/o servicios necesarios?
  • ¿Está buscando un ahorro de costes al dejar de realizar el mantenimiento en las instalaciones On-Premise?

- Tiempo

  • ¿Hay tiempo para realizar un assessment sobre el número aproximado de APIs y/o servicios necesarios?

- Jurisdicción

  • ¿Existe alguna normativa o regulación Jurisdiccional sobre datos y/o metadas? Ej.: Tus datos y/o metadatos no puedes viajar fuera de tu país/jurisdicción.
  • ¿Existen regiones Cloud dentro de tu país/jurisdicción?

- Equipo

  • ¿Tiene un equipo de infraestructura que pueda administrar su infraestructura en Cloud?
  • ¿Está planeando conservar a su equipo de Infraestructura?

Conclusiones

Como se ha podido observar cada una de las posibles soluciones engloba un marco teórico muy complejo con sus ventajas y desventajas. Así mismo, no siempre una única solución encaja en todos los casos de negocio de una organización, pudiéndose tener una mezcla de las diversas soluciones existentes según caso de uso.

Este artículo no pretende dar unas directrices estrictas para la toma de decisión sobre qué enfoque dar a las soluciones de API Managment, simplemente sirve como un punto de partida a modo de ayuda, para realizar una reflexión en profundidad acerca de cual es la mejor opción que puede suplir las necesidades de una nueva iniciativa. Como habréis podido observar, hay multitud de factores que intervienen en dicha decisión, algunos más claros que otros, tratando de abstraer de la solución la parte técnica de que herramienta usar.

Espero que este articulo os sirva de ayuda si lo necesitarais (o si no) a la hora de escoger la mejor solución que mejor supla vuestras necesidades.

Tags

API
He leído y acepto la política de privacidad
Acepto recibir emails sobre actividades de recruiting NTT DATA