API Management, una forma de gobernar los servicios de una compañía
por Juan Ricardo Herrera Gómez, el 31 de mayo de 2021
En los últimos años hemos tenido un auge del uso de servicios REST, lo cual ha impulsado a diferentes proveedores y compañías del mundo a buscar una definición de estándares, así como especificaciones para la construcción de este tipo de servicios y de las plataformas en las cuales van a ser desplegadas.
También nos hemos visto impactados por otro término hoy en día muy popular: microservicios, que cambia la forma como se construyen los servicios en las organizaciones, así como el modelo de gobierno, puesto que principalmente se hablaba de gobierno de servicios SOA.
Hoy en día los grandes proveedores de tecnología como Google, Microsoft, IBM y Oracle han apostado por tener su propia plataforma para el manejo de microservicios llamadas Api Management. Cuando hablamos de API Management, debemos brindar la posibilidad de completar el ciclo de vida de la API con los pasos que vemos a continuación.
¿Qué Características debe ofrecer una herramienta API Management?
Api Gateway: este componente se ofrece como puerta de entrada a todos los servicios que hacen parte de un API y que se encuentran desplegados en el API Management. Tiene bajo su responsabilidad autorizar el acceso a los servicios, enrutamiento de servicios, aplicar políticas en los servicios, recolectar información para realizar análisis de datos y habilitar uso de cache, entre otros.
Documentación: Apoyándose en los nuevos estándares y frameworks para la construcción de APIs, la auto-documentación de cada servicio se convierte en un paso natural durante el ciclo de vida de la API.
Portal de Publicación: con el uso de estándares como OpenApi y frameworks; LoopBack y Swagger se puede publicar la definición de un API con todas las políticas de seguridad y documentación. En el portal se publica el API para que pueda ser consumida por los diferentes clientes.
Ejecución y Pruebas: en este punto la herramienta se debe facilitar la ejecución de pruebas, por ejemplo, poder simular los datos necesarios para el consumo de cada servicio. También se debe habilitar un ambiente de ejecución de pruebas y no depender de terceros para su ejecución.
Análitica y Reportes: Un API management debe contar con la posibilidad de habilitar la captura de datos para la generación de reportes, tanto de los datos que viajan en cada petición, como los recursos usados durante la ejecución. Esto también nos va a permitir monetizar nuestra API de forma correcta. Al contar con esta información, se pueden aplicar mejoras sobre las APIs construidas.
Si queremos mejorar la administración de los servicios, que semana a semana se implementan en nuestras organizaciones, deberíamos contemplar una plataforma que nos permita controlar estos nuevos componentes que se van convirtiendo en parte fundamental de la compañía. Además de las ventajas que vimos en este post, este tipo de herramientas nos lleva a organizarnos para enfrentar de una mejor manera los retos para la construcción de nuevos servicios en un futuro.