La proliferación de aplicaciones que pueden interconectarse fácilmente entre sí, compartiendo servicios, es posible gracias al desarrollo de la API -Interfaz de Programación de Aplicaciones-, pero para que se utilicen y exploten eficazmente necesitan ser gestionadas. De ahí el término gestión de APIs.
Índice de temas
¿Qué son las APIs y por qué hay que gestionarlas con una solución de gestión de APIs?
Una interfaz de programación de aplicaciones es una aplicación que, mediante un modo estándar de consulta y acceso a los datos, expone las funcionalidades de otra aplicación, lo que le permite comunicarse con otras aplicaciones y posibilita la reutilización de los servicios puestos a disposición, que pueden así componerse y desglosarse según las necesidades.
Las APIs se convierten así en una herramienta indispensable para ofrecer rápidamente los servicios que requieren las empresas: es gracias a las APIs, por ejemplo, que una aplicación empresarial está fácilmente disponible en el móvil o, de nuevo, que uno puede integrarse en una cadena ampliada “abriendo” sus aplicaciones a los proveedores y socios, etc.
En este sentido, un reciente estudio de IDC realizado a nivel mundial muestra cómo las estrategias de gestión de APIs juegan un papel fundamental no sólo para impulsar el desarrollo de nuevos servicios y aplicaciones, sino también para construir ecosistemas de socios y clientes que favorezcan la difusión y explotación de los datos. De hecho, la empresa de investigación espera que en los próximos 10 años el 75% de las organizaciones se basen en modelos digitales y que casi todas las aplicaciones se basen en arquitecturas de microservicios para el próximo año. El papel central de las API en la mejora de estas arquitecturas de aplicaciones de microservicios es indiscutible.
Así pues, asistimos a una proliferación de APIs que, sin embargo, si no se gestionan y gobiernan, corren el riesgo de hacer inmanejable el parque de aplicaciones de cada empresa.
Plataformas de gestión de APIs
Por ello, se han creado plataformas de gestión de APIs para crear, gobernar y distribuirlas, gestionando sus versiones, disponibilidad y definiendo sus límites de uso. El objetivo de una solución de gestión de APIs es, por tanto, supervisar, optimizar y asegurar el uso de las APIs mediante el control de acceso, la aplicación de políticas de seguridad, el enrutamiento, el almacenamiento en caché, el análisis y las herramientas de supervisión.
Estas soluciones también apoyan la monetización de los datos y servicios expuestos al permitir la gestión de las transacciones, la fijación de precios, la medición del consumo, la facturación y el suministro de claves de acceso o tokens.
Las plataformas de gestión de API más completas, de hecho, gestionan el acceso de pago a las APIs, proporcionando a los desarrolladores la información que necesitan para crear aplicaciones basadas en ellas; el pago puede ser directo o con reparto de ingresos (por ejemplo: utilizando la API de PayPal, los desarrolladores permiten a sus clientes pagar fácilmente por un artículo, mientras que PayPal recibe un porcentaje directo de cada venta).
Funcionalidades de una solución de gestión de APIs
Forrester agrupa las funcionalidades de las soluciones de gestión de APIs en tres categorías principales:
Las que permiten utilizar y gestionar las APIs como si fueran productos reales
En este caso, la solución de gestión de APIs proporciona al productor de APIs herramientas de análisis para entender cómo los desarrolladores “usuarios” utilizan la API, herramientas de configuración para gestionar el acceso y herramientas de comunicación para interactuar con las comunidades de desarrolladores;
Las que gestionan su uso
Son las funcionalidades que permiten entender cómo utilizar las APIs disponibles (y por tanto están dirigidas a los desarrolladores “usuarios”); hacen un seguimiento de qué aplicación utiliza una API específica y con qué frecuencia; proporcionan a los desarrolladores todas las herramientas de apoyo necesarias para entender cómo utilizar las APIs;
Las que mejoran la seguridad
Las soluciones de gestión de APIs utilizan pasarelas que mejoran la seguridad y el control de acceso a las aplicaciones, implementando distintos niveles de seguridad en función de las diferentes necesidades de protección de los datos y las aplicaciones conectadas.
Las APIs pueden desarrollarse por diversos motivos: algunas son de uso interno y se crean para facilitar a los usuarios internos el uso de determinados servicios; otras se crean para crear ecosistemas dinámicos permitiendo la integración de la propia aplicación con las de los socios; otras, como las desarrolladas por Google o Facebook, etc., están pensadas para ser puestas a disposición de un número muy amplio de usuarios.
Escenarios de uso de una solución de gestión de APIs
Una solución de gestión de APIs debe ser capaz de satisfacer las necesidades de diferentes escenarios de uso. Para ayudarle a entender y clasificar sus necesidades con el fin de elegir la solución más adecuada, Forrester ha identificado cinco:
Construir una gran comunidad de usuarios a través de la API Rest
Grandes actores como Google, Twitter, Facebook, etc. ponen a disposición una amplia gama de APIs gratuitas y fáciles de implementar para atraer a una gran cantidad de desarrolladores independientes. En este caso es muy importante contar con una solución de gestión de APIs que disponga de herramientas analíticas muy potentes que permitan conocer cuántos están utilizando la API y cómo, para qué, etc;
Apoyo al desarrollo de aplicaciones móviles a través de Rest API
La solución de gestión de APIs se convierte en el lugar donde se coordinan todas las actividades de desarrollo y despliegue de APIs que permiten el uso de servicios de aplicaciones en movilidad. Es posible que necesite una solución que haga especial hincapié en este aspecto: algunas ofrecen funcionalidades adicionales específicas, como la notificación push, la geolocalización, etc;
Facilitar el uso de diferentes tipos de API
Las grandes empresas han utilizado, y siguen utilizando, tanto la tecnología Soap (Simple Object Access Protocol) como la Rest durante la última década, junto con WebSockets (tecnología web que proporciona canales de comunicación full-duplex a través de una única conexión TCP) y aplicaciones de comunicación como Amqp- Advanced Message Queuing Protocol o JMS- Java Message Service. En estos casos, se necesita una solución de gestión de API que pueda gobernar esta heterogeneidad y combinar las API con la arquitectura orientada a servicios (SOA);
Construir una sólida comunidad B2B en torno a las APIs de misión crítica
En este caso es necesario favorecer la elección de una solución de gestión de APIs que permita la gestión de una amplia gama de APIs y que cumpla con unos requisitos de seguridad de los datos muy estrictos, tanto en términos de privacidad como de integridad.
Actuar como un proveedor de API que quiere obtener un valor directo del acceso a las aplicaciones: en este caso, la solución de gestión de API debe integrar funcionalidades de facturación y gestión de pagos.
Cómo evaluar una solución de gestión de APIs
A continuación le mostramos los criterios utilizados por Gartner y Forrester para la inclusión de soluciones en sus respectivos Cuadrantes Mágicos para la Gestión de APIs durante todo el ciclo de vida y Forrester Wave para la Gestión de APIs.
El mercado, por tanto, está lleno de propuestas, y Forrester y Gartner recomiendan leer detenidamente los análisis realizados para cada proveedor en los dos documentos (descargables en las páginas web de ambas empresas) para entender qué solución se adapta mejor a sus necesidades.
Los criterios adoptados por Forrester
La evaluación se realizó sobre la base de 27 criterios, agrupados en los tres grupos siguientes
Oferta actual
Se han evaluado: el portal de usuarios/desarrolladores de la API, incluido el soporte para escenarios en los que los socios B2B utilizan las API; las capacidades de publicación de la API, incluidas las definiciones, la documentación, etc.; las políticas de seguridad adoptadas, incluida la gestión de usuarios y la protección contra ataques externos; y la gestión de la API como producto, incluidas las capacidades de facturación y de precios basados en el uso.
Sólo los proveedores capaces de ofrecer soluciones completas de gestión de APIs están incluidos en el Wave, lo que, para Forrester, significa tener al menos los siguientes elementos básicos: un portal para usuarios/desarrolladores, un portal para la administración y una pasarela de APIs. También debe ser capaz de funcionar como una solución independiente sin tener que estar necesariamente asociada a otra plataforma.
Estrategia
Se analizó la estrategia global de salida al mercado del proveedor, así como las acciones puestas en marcha para apoyar las necesidades de la economía de las API: planificación de las mejoras de la solución; servicios prestados en apoyo; ecosistema de socios que apoyan la solución; programas de certificación.
Presencia en el mercado
En primer lugar, se analizó el nivel de presencia geográfica del vendedor, evaluando hasta qué punto es capaz de dar soporte a su solución, directa o indirectamente, en todo el mundo. A continuación, se consideró el número de clientes que han adoptado la solución hasta la fecha, teniendo en cuenta únicamente las empresas que tienen al menos 10 clientes de pago.
Los criterios adoptados por Gartner
Para entrar en el Cuadrante Mágico, un proveedor debe cumplir tres macrocriterios:
- La solución puede comercializarse en la nube, en las instalaciones o en modo híbrido; la oferta en la nube puede formar parte de una oferta más amplia de SaaS, iPaaS o HIP (plataforma de integración híbrida), mientras que la oferta en las instalaciones puede formar parte de la infraestructura de integración o de la tecnología de gobernanza SOA. La solución debe cubrir al menos dos de las cinco etapas del ciclo de vida de la API identificadas por Gartner:
- planificación, la capacidad de apoyar al cliente en la planificación de la API más adecuada a sus necesidades;
- diseño e implementación, una API puede diseñarse para satisfacer los requisitos de una o varias aplicaciones empresariales o móviles específicas o para permitir el acceso a tipos de usuarios concretos. Por lo tanto, es necesario entender qué API publicar, y para ello es posible seguir diferentes enfoques o una mezcla de ellos: una solución de gestión de API puede proporcionar diferentes funcionalidades para simplificar la implementación de la API;
- Despliegue y ejecución – funcionalidades básicas: operativa, tiempo de ejecución y mantenimiento de la API; despliegue y ejecución – funcionalidades avanzadas: colaboración, analítica avanzada, facilidad de integración, etc.);
- el versionado y el desmantelamiento, es decir, la gestión de las diferentes versiones de la API hasta su desmantelamiento.
- La oferta debe ser de propósito general y no estar relacionada con un sector vertical específico; también debe tener un portal para desarrolladores.
Las soluciones deben generar al menos 10 millones de dólares al año en ingresos y si el proveedor persigue un modelo de negocio basado en la suscripción de código abierto, los ingresos deben ser de al menos 2 millones de dólares al año. Estas cifras incluyen los ingresos de software, SaaS, iPaaS, PaaS, servicios gestionados en la nube, soporte y servicios profesionales/de consultoría relacionados con las ofertas de gestión de API.
Beneficios de la gestión de APIs
Como ya hemos mencionado, la gestión de APIs se trata del proceso mediante el cual una compañía determinada organiza, crea, evalúa y controla las interfaces de programas de aplicaciones de forma segura y facilitando la escalabilidad. Pues se trata de una actividad que brinda una serie de beneficios importantes que mencionaremos a continuación.
Centralización
Uno de los principales beneficios de la gestión de APIs es el hecho de que centraliza el control de los programas de APIs con los que se esté trabajando. De hecho, una herramienta efectiva en este campo permite abarcar el análisis, el control de acceso, importante en materia de seguridad, la rentabilización y además, el flujo de trabajo que tienen los desarrolladores.
Facilita el trabajo y reduce costos
Pero la centralización del control de las APIs que permite la gestión trae otros aspectos positivos como el hecho de que es más sencillo compartir fácilmente la documentación de API y la construcción de codificación entre equipos. Esto facilita el trabajo en grupo de los desarrolladores, así como también permite reducir costos de manera significativa.
También acelera los tiempos de desarrollo y permite salir al mercado con más anticipación.
Microservicios
Por otra parte, la gestión de APIs proporciona otro beneficio en lo que refiere a los microservicios. Esto es debido a que facilita los mecanismos de detección que hacen falta para que estos puedan ser encontrados.
Además, permite que se comparta la documentación acerca de su uso mediante el portal para desarrolladores.
Flexibilidad y mayor productividad
Asimismo, para las empresas, la gestión de APIs brinda una mayor flexibilidad y aumenta la productividad debido a que permite ahorrar tiempo y dinero. Tengamos en cuenta que todo esto sucede sin poner en riesgo la seguridad que es de vital importancia.
Mayor seguridad
En el mismo sentido, al rastrear el uso de las APIs a través de la gestión, los servicios se pueden mantener más seguros. A su vez, es posible integrar protocolos de seguridad de última generación.
Entre otro de los beneficios podemos destacar la posibilidad de implementar y reutilizar activos de integración de forma rápida y efectiva.
Características principales de la gestión de APIs
Tal como vimos previamente, la gestión de APIs ofrece una serie de beneficios para las empresas entre los que podemos destacar la fiabilidad, la flexibilidad, la calidad y la velocidad que proporciona. Asimismo, hay una serie de características que se desprenden de la propia gestión las cuales analizaremos a continuación.
Portal para desarrolladores
En primer lugar, es necesario que mencionemos al portal para desarrolladores, que significa una ventaja para el trabajo en equipo de quienes colaboran en un desarrollo. El portal para desarrolladores permite que se pueda observar la documentación de la API junto con los procesos de incorporación como el registro y la administración de cuentas.
Punto de acceso
Asimismo, sabemos que de la gestión de APIs se desprende el punto de acceso que pueden tener los clientes. Este último se trata de la puerta de enlace de API que determina, a través de políticas, su interacción con ellas.
Gestión en todo el ciclo
Por otro lado, de nada servirá la gestión de APIs si no se realiza en todos los momentos de su vida. Es por eso que la mayoría de las soluciones creadas en este sentido ofrecen la posibilidad de realizar la gestión en todo el ciclo, incluyendo el diseño, la implementación y hasta su eliminación.
Análisis y evaluación
Un aspecto clave de la gestión de APIs es el análisis y la evaluación constante que hay que llevar a cabo para controlar que todo esté funcionando. Es esencial estar al tanto de la actividad y saber que usuarios y aplicaciones están utilizando, con qué frecuencia y si han presentado algún tipo de fallas.
Estrategias para mejorar la seguridad en las API
Como es sabido, en materia informática la seguridad adquiere un rol esencial. Pues es muy grande el daño que se puede generar si no se toman los recaudos correspondientes. En este apartado veremos algunas estrategias para mejorar la seguridad en las APIs.
La seguridad en las APIs consiste básicamente en proteger la integridad de las aplicaciones que posee la interfaz y a su vez de las que utiliza. Como se trata de una herramienta importante para la transferencia de datos es un proceso muy sensible. Esto se debe a que, si la API es vulnerable, está dañada o quizá expuesta es más fácil que la seguridad de los datos se vea afectada. Es justamente de esa manera como puede quedar expuesta información sensible y valiosa.
Lo cierto es que los usuarios suelen tomarse muy en serio la evaluación de la seguridad de las APIs por lo que la confianza se vuelve un valor fundamental.
Autorización
En primer lugar, a la hora de desarrollar y diseñar una API hay ciertos aspectos que no se pueden dejar de lado. Uno de ellos es la autorización, cuyo proceso consiste en la identificación del acceso que puede recibir una solicitud determinada.
Autenticación
Por otra parte, es muy importante también la autenticación que consiste en controlar la validez de las credenciales que son pasadas junto con una solicitud. En estos casos, las credenciales pueden pasarse en forma de usuario y contraseña con un token asignado.
Métodos de cifrado
Asimismo, la utilización de métodos de cifrado y firmas es de gran importancia. Con esta herramienta de seguridad, podremos limitar a las personas que decidamos la opción de descifrar y modificar los datos.
Actualizaciones
Cabe aclarar que otra de las acciones que se pueden tomar es la de mantener actualizados todos los elementos de API entre los que se incluyen los controladores, las redes, los sistemas operativos, etc.
Esto último es en gran parte para poder identificar las vulnerabilidades que se puedan llegar a tener y tratar de contrarrestarlas.
Todas las medidas de seguridad que se tomen deben ser tendientes a controlar diferentes etapas como la definición, la ejecución y el despliegue.
La importancia del monitoreo y análisis en las APIs
En la gestión de APIs hay varios aspectos a considerar como por ejemplo la automatización, la estandarización, el diseño de API, la evaluación y el monitoreo. En este apartado nos ocuparemos de este último.
Pues, el monitoreo en las APIs es esencial en el sentido de que garantiza la disponibilidad, la fiabilidad y como ya vimos la seguridad.
En otro sentido, también es importante para el rendimiento y la resolución de problemas ya que posibilita encarar estos aspectos de forma rápida y eficiente.
Asimismo, lo cierto es que mientras más se conoce y se estudia algo, más fácil es trabajar después. Es por eso que a través del monitoreo y el análisis se puede tener una comprensión más profunda de las APIs para optimizar el rendimiento de ellas.
Herramientas para el desarrollo y gestión de APIs
Cuando hablamos del rendimiento de las aplicaciones debemos saber que este, en gran parte, depende de la propia gestión de las APIs. Se trata de un aspecto central para el desarrollo de aplicaciones modernas.
Es por esto que en el último tiempo se han desarrollado novedosas herramientas para la gestión de APIs que ayudan a las personas que trabajan en tecnología informática a tener mejores resultados.
Entre ellas podemos destacar a Colmenar; a Apigee, cuya empresa creadora se fusionó recientemente con Google Cloud; a Kong, ideal para microservicios; a MuleSoft cuya principal actividad es conectar datos, aplicaciones y dispositivos; y por último a WSO2.
Cómo definir una estrategia eficiente para la gestión de APIs
A la hora de gestionar APIs es esencial que definamos un plan de acción o más precisamente una estrategia. A la hora de realizar dichas tareas, hay algunos ejes que debemos tener en cuenta.
En primer lugar, es importante la codificación de la propiedad de los datos para que solo puedan estar en manos de propietarios legítimos o de las personas sobre las que se haya asignado esa responsabilidad. Pues entonces, este primer eje tiene que ver con la seguridad.
Por otra parte, es importante también apoyar la innovación inclusiva y colaborativa para darle la relevancia que el desarrollo de APIs debería tener. Pues, cada día el acceso a los datos se vuelve más relevante.
A su vez, otro aspecto importante tiene que ver con la mentalidad que hay que tener a la hora de gestionar las APIs. Se trata de crear una metodología en la cual se reutilizan objetos para acelerar el tiempo de comercialización, y reducir el costo de entrega.
Desafíos a los que se enfrentan las empresas al Administrar sus APIs
Uno de los principales desafíos a los que se enfrentan las empresas cuando gestionan APIs tiene que ver con lo complejo que puede volverse esta tarea y lo importante que es.
En otras palabras, se trata de una actividad fundamental pero que a la vez cuesta mucho trabajo. Esto es, por ejemplo, porque las empresas suelen mantener muchas aplicaciones que almacenan a su vez una gran cantidad de datos.
Por otro lado, también se busca innovar en otro tipo de servicios externos a los que el propio cliente pueda acceder e integrar sus aplicaciones y sistemas. Esto siempre trae aparejado el objetivo de generar mayor valor comercial, así como también mejorar la experiencia que recibe el cliente.
Artículo publicado originalmente en 19 Nov 2021