Las 10 mejores herramientas de gestión de API

El mundo empresarial moderno está impulsado por software e impulsado por API. Cualquier aplicación, ya sea pública o privada, necesita API poderosas y convenientes para ser realmente útil. Crear y mantener API es un trabajo duro, por lo que no es de extrañar que hayan surgido clases completas de software en torno a la gestión de API.

La mayoría de los productos de administración de API proporcionan un conjunto común de funciones: enrutamiento y proxy, transformación de datos y URL, paneles y análisis, políticas y restricciones, y herramientas de desarrollo como generadores de documentación. Aquí veremos 10 herramientas populares de administración de API (proyectos de código abierto, productos comerciales, servicios en la nube y combinaciones de los mismos) que ofrecen de todo, desde una suite de servicio completo para API hasta herramientas específicas para escenarios específicos.

3escala

Originalmente un producto de código cerrado, 3scale fue adquirido por Red Hat y de código abierto después de aproximadamente dos años de trabajo. El proyecto de código abierto se puede utilizar libremente bajo la licencia de Apache, mientras que Red Hat ofrece una implementación de SaaS con soporte comercial.

Las características de 3scale están en línea con las otras ofertas de este resumen. Encontrará control de versiones de API, control de acceso y limitación de velocidad, controles de seguridad y análisis. 3scale también ofrece funciones fáciles de usar para desarrolladores, como un portal de desarrolladores y CMS para crear documentación para las API de uno. 3scale también ofrece herramientas nativas para monetizar API, como facturación e integración con servicios de pago.

Si tiene la intención de instalar 3scale usted mismo para la producción, necesitará Oracle Database y OpenShift. Dado que incluso una instalación mínima de 3scale para las pruebas requiere Minishift, un clúster OpenShift de un solo nodo, es posible que le sirva mejor si utiliza la versión de prueba gratuita de 90 días de 3scale si desea comenzar lo más rápido posible.

La versión Pro comienza en $ 750 por mes para 5,000 cuentas de desarrollador, 500,000 llamadas API diarias y hasta tres API. La versión Enterprise (precio disponible a pedido) elimina la mayoría de esas restricciones.

Embajador

Ambassador es un sistema de gestión de API de código abierto creado para trabajar con Kubernetes. Ambassador se implementa sobre el proxy Envoy, que maneja la abstracción de red para microservicios, por lo que la mayor parte del trabajo pesado lo realizan Envoy y Kubernetes.

El conjunto de funciones de Ambassador está en línea con la mayoría de las otras herramientas de administración de API que existen: reescritura de URL y enrutamiento de solicitudes, filtrado, autenticación y control de acceso, limitación de velocidad y tiempos de espera, e integración con herramientas de registro, resolución de problemas y visibilidad.

Sin embargo, la mayoría de las funciones de Ambassador giran en torno a la gestión del tiempo de ejecución y la integración con Kubernetes y otras herramientas de Kubernetes (por ejemplo, Prometheus). Ambassador deja el diseño y la configuración declarativa de las API completamente al usuario. Las funciones como el control de versiones de API no se admiten de forma nativa; tienes que manejar esas cosas por tu cuenta. Eso hace que Ambassador sea más adecuado para trabajar con API como parte de una implementación de Kubernetes, en lugar de como una solución general de administración de API.

Apiman

Apiman, anteriormente "JBoss Apiman", es un proyecto de código abierto de Red Hat construido en Java. Aunque Red Hat todavía lo mantiene, la mayor parte del desarrollo activo de Red Hat en la gestión de API parece haberse trasladado a su producto 3Scale.

Apiman se concentra en lo básico: publicar y administrar API, proporcionar acceso basado en roles a esas funciones, establecer políticas sobre el uso de API, recopilar métricas de facturación y tiempo de ejecución y crear estructuras organizativas de arriba hacia abajo para todos esos elementos.

Apiman puede establecer políticas para las API en torno a la seguridad, los recursos (p. Ej., Limitación de velocidad), las transformaciones de datos, el almacenamiento en caché y el registro. Las políticas se configuran a través de JSON, por lo que pueden ser leídas y editadas tanto por humanos como por máquinas. Las políticas de seguridad se pueden aplicar por identidad o rol del usuario, y las API se pueden controlar de manera flexible o estricta. Puede publicar API con el ID de revisión en la URL y sin contrato asociado con su uso; o puede solicitar una clave API y administrar de cerca cómo se versionan.

Casi todo lo que vaya más allá de lo básico es responsabilidad suya. Por ejemplo, si bien hay disponibles varios complementos para Apiman, generalmente equivalen a pequeñas extensiones de la funcionalidad de Apiman, proporcionadas por los encargados del mantenimiento del proyecto principal.

Fábrica de sueños

La plataforma de gestión de API DreamFactory está construida con el marco Laravel en PHP. DreamFactory está disponible como una oferta de código abierto gratuito o con diferentes niveles de soporte comercial (precio no divulgado). Es una elección natural para los desarrolladores que ya han invertido en PHP y que quieren profundizar en la implementación de código abierto. DreamFactory también ofrece integración de secuencias de comandos del lado del servidor con Node.js y Python.

La función “Datamesh” de DreamFactory, disponible lista para usar en todas sus encarnaciones, le permite combinar resultados de múltiples llamadas a bases de datos heterogéneas, incluso a diferentes productos de bases de datos, y devolver los resultados como una sola llamada API. Asimismo, las actualizaciones de tablas en múltiples bases de datos se pueden combinar en una sola llamada a la API.

La documentación de DreamFactory carece de una lista única, canónica y de búsqueda de todos los servicios disponibles. La información está organizada por categoría, por lo que debe realizar una exploración manual en profundidad para averiguar qué hay disponible. Por el lado positivo, los documentos incluyen muchos videos instructivos para casos de uso específicos, como configurar una aplicación simple o conectarse a varias fuentes de datos.

Kong

Kong es una de las herramientas de administración de API más conocidas, creada originalmente por Mashape (renombrada como Kong) para impulsar su propio producto de mercado de API. Kong está disponible en una edición de código abierto o en una oferta comercial de nivel empresarial (precio no revelado) con funciones adicionales de administración, monitoreo y desarrollo. La edición empresarial puede ejecutarse localmente o en un servicio en la nube de su elección. La documentación de los productos de código abierto y empresariales es abundante y detallada.

Kong proporciona un controlador Ingress para la integración de Kubernetes y una malla de servicios que permite "inyectar" la funcionalidad de Kong en una implementación de servicios existente. La edición empresarial ofrece un portal para desarrolladores destinado a facilitar la creación de nuevas API y familiarizar a los nuevos desarrolladores con su base de código API.

Kong normalmente usa una base de datos, pero también puede ejecutarse en un modo sin base de datos, usando un archivo de configuración JSON / YAML y almacenamiento en memoria. Esto es mejor si solo está ejecutando un único nodo mínimo, pero desea el máximo rendimiento.

KrakenD

KrakenD, escrito en Go, ofrece solo lo esencial, pero promociona el alto rendimiento como una característica clave. KrakenD se entrega como un único binario autónomo, como es el caso de la mayoría de las aplicaciones integradas en Go. Alternativamente, puede compilarse desde la fuente o usarse como una biblioteca de Go si desea crear su propia aplicación a su alrededor.

KrakenD utiliza un archivo de configuración, que se puede enrollar a mano o generar a máquina. La limitación de velocidad, la manipulación de respuestas, el reenvío, la depuración de puntos finales, las medidas de seguridad del protocolo (p. Ej., Protección contra el secuestro de clics), el proxy, el stubbing y el almacenamiento en caché de respuestas en memoria son todos compatibles desde el primer momento.

Las instancias de KrakenD se pueden agrupar para lograr una alta disponibilidad. No se necesita ningún software adicional para hacer esto, solo KrakenD. También puede implementar KrakenD en un clúster de Kubernetes sin mucho trabajo adicional. Se puede obtener una variedad de middleware de terceros en el repositorio KrakenD GitHub.

El soporte empresarial, que incluye consultoría y capacitación, está disponible a través de los creadores de KrakenD, aunque los precios no se revelan.

Plataforma MuleSoft Anypoint

La plataforma Anypoint de MuleSoft está destinada a ser una oferta completa: cubre el diseño, la construcción, el alojamiento, la administración, la integración y el soporte para desarrolladores de API en un solo producto comercial. 

Con Anypoint, puede desarrollar API desde cero o reutilizar conectores e integraciones existentes creados por otros clientes de MuleSoft y compartidos en Anypoint Exchange. Los conectores están disponibles para protocolos genéricos (acceso a archivos, HTTP, correo electrónico), módulos de idioma para transformaciones de datos (Java, JavaScript), servicios en la nube (Amazon AWS), aplicaciones comerciales (Salesforce, SAP) y aplicaciones de código abierto (MongoDB).

Para aquellos que crean API que serán consumidas por socios o el público, Anypoint proporciona API Community Manager para crear interfaces de usuario web, lo que MuleSoft llama "portales", para esas API. Se incluye documentación interactiva, personalización (incluidas características como la adaptación de la salida según la ubicación geográfica del usuario) y análisis de uso de API.

Anypoint ofrece tres planes de precios, Gold, Platinum y Titanium, que varían según el nivel de soporte al cliente y las funciones empresariales. Los tres planes incluyen API ilimitadas y cobran extra por los conectores "premium" (por ejemplo, el conector de mainframe IBM AS / 400).

Netflix Zuul

Zuul, un proyecto de código abierto creado por los ingenieros de Netflix, fue construido internamente para manejar solicitudes de enrutamiento a los servicios de transmisión de video de Netflix. No hay una oferta comercial de Zuul, al menos no de Netflix, por lo que tendrá que hacer girar Zuul y administrarlo por su cuenta.

Zuul está escrito en Java y utiliza herramientas comunes de Java (Gradle, Ivy, Maven) para comenzar a funcionar. Zuul ofrece un conjunto de funciones relativamente mínimo en comparación con otros sistemas de administración de API, centrándose en filtrar y enviar solicitudes entrantes a través de servicios. Zuul proporciona funciones de detección de servicios, equilibrio de carga, agrupación de conexiones y depuración (el "pasaporte de solicitud"), pero carece de funciones más sofisticadas, como la incorporación de desarrolladores y la documentación automática.

Zuul es un proyecto activo con muchas características nuevas planeadas para versiones futuras. El próximo "filtro de caída de tensión", por ejemplo, desactivará ciertas funciones para liberar la CPU durante períodos de alta actividad.

Tyk

Tyk incluye una gran cantidad de forma predeterminada: la puerta de enlace API, herramientas de análisis, un portal de desarrollo y un panel de administración. También incluye funcionalidad para simular API antes de que se publiquen formalmente, almacenamiento en caché de solicitudes incorporado (que se puede incluir directamente en una definición de API) y plantillas de respuesta para diferentes códigos de error HTTP.

Tyk está disponible en cuatro ediciones, cada una para diferentes casos de uso. La edición de la comunidad, la versión de código abierto de Tyk, incluye solo la puerta de enlace, que maneja el control de acceso, las transformaciones y el registro. Puede implementar su propia funcionalidad directamente o aprovechando el ecosistema de complementos de Tyk, con soporte para varios idiomas.

La edición local le permite utilizar el producto comercial con todas las funciones detrás de su firewall. Las licencias de puerta de enlace única (básicamente, ediciones para desarrolladores) están disponibles de forma gratuita, sin límites de llamadas a la API, aunque las API no se pueden utilizar en entornos comerciales. Las licencias para uso comercial comienzan en $ 3000 por año.

Las ediciones en la nube y en múltiples nubes, disponibles para una variedad de servicios populares en la nube, proporcionan Tyk como un servicio alojado. Una versión básica de una sola nube que admite 1,000 llamadas API por día está disponible de forma gratuita (aparte de lo que cobre su proveedor de servicios en la nube); los planes de nivel profesional comienzan en $ 450 por mes.

Administrador de API WSO2

WSO2 API Manager es, en esencia, un producto de código abierto, construido con Java. El producto está disponible para implementación local o alojada en la nube con soporte comercial, o como un servicio administrado en la nube.

Las diversas opciones de implementación permiten una serie de escenarios de gestión diferentes. Por ejemplo, una implementación local de WSO2 puede hacer cumplir sus políticas y otra configuración a través de un portal de desarrolladores alojado en la nube, con los cambios sincronizados entre la nube y las instalaciones o enviados periódicamente desde la nube (para entornos que deben ser bloqueado).

WSO2 tiene unos 200 conectores que se pueden utilizar para conectar servicios externos. Muchos son productos básicos de los desarrolladores: Slack, Splunk, Kafka, Redis, Amazon S3, etc.

Otra característica de WSO2, el "microgateway API", asegura que ciertos tipos de llamadas reciban seguridad adicional y menor latencia. Por ejemplo, las llamadas utilizadas para administrar la puerta de enlace, o las llamadas enrutadas entre microservicios, se pueden manejar de esta manera.

Un nuevo complemento de WSO2 agrega integración con la malla de servicios de Istio para Kubernetes. Istio no administra las API expuestas por los microservicios que administra, por lo que WSO2 se integra con el proxy Envoy utilizado por Istio para hacerlo.

El precio de las ofertas comerciales de WSO2 comienza con una prueba gratuita de dos semanas con hasta un millón de llamadas a la API, continúa a $ 550 por mes para 20 millones de llamadas y se amplía desde allí a configuraciones personalizadas.