Microservicios y API (corto para Interfaces de programación de aplicaciones) se han convertido en casi un lugar común en el desarrollo de aplicaciones modernas y sostenibles. Las API impulsan los microservicios (un diseño arquitectónico que estructura una aplicación en pequeños, autónomos y servicios / piezas manejables) y definen cómo un consumidor (de la API) puede interactuar y usar el subyacente Servicio.
Para las empresas y otras organizaciones, las API se han convertido en el núcleo de las estrategias de transformación digital. El crecimiento en el uso de API ha aumentado el uso de soluciones de administración de API por parte de los desarrolladores para publicar sus API al público o desarrolladores externos, desarrolladores internos y otros socios.
Una herramienta de administración de API puede ayudarlo a:
¿Está buscando una solución de gestión de API de código abierto para su empresa? Entonces esta guía está hecha solo para ti, sigue leyendo.
A continuación, compartimos las 10 principales puertas de enlace de API de código abierto y soluciones de administración de API que puede utilizar en su infraestructura de TI. Tenga en cuenta que la siguiente lista está organizada sin ningún orden en particular.
Kong Gateway (OSS) es una puerta de enlace API nativa de la nube avanzada, de código abierto y popular creada para la implementación universal: puede ejecutarse en cualquier plataforma. Esta escrito en Lenguaje de programación Lua y admite infraestructura híbrida y de múltiples nubes, y está optimizado para microservicios y arquitecturas distribuidas.
En su centro, Kong está diseñado para un alto rendimiento, extensibilidad y portabilidad. Kong también es ligero, rápido y escalable. Admite la configuración declarativa sin una base de datos, utilizando solo almacenamiento en memoria y CRD nativos de Kubernative.
Kong cuenta con equilibrio de carga (con diferentes algoritmos), registro, autenticación (soporte para OAuth2.0), limitación de velocidad, transformaciones, monitoreo en vivo, descubrimiento de servicios, almacenamiento en caché, detección y recuperación de fallas, agrupamiento y mucho más. En tono rimbombante, Kong admite la agrupación de nodos y funciones sin servidor.
Admite la configuración de proxies para sus servicios y los sirve a través de SSL, o usa WebSockets. Puede equilibrar la carga del tráfico a través de réplicas de sus servicios ascendentes, supervisar la disponibilidad de sus servicios y ajustar su equilibrio de carga en consecuencia.
Adicionalmente, Kong se envía con una interfaz de línea de comandos que le permite administrar un Kong cluster desde la línea de comando. También, Kong es altamente extensible usando complementos y diferentes tipos de integraciones. Se puede administrar con su API RESTful para una máxima flexibilidad.
Tyk (pronunciado Taik) es una puerta de enlace API de código abierto, potente, liviana y con todas las funciones, escrita desde cero con el Ir al lenguaje de programación. Es nativo de la nube, de alto rendimiento con una arquitectura fácilmente extensible y conectable basada en estándares abiertos.
Puede funcionar de forma independiente y solo requiere Redis como almacén de datos. Permite a los usuarios publicar y administrar de forma segura una variedad de servicios, incluidos los heredados, DESCANSO, y GraphQL (apoya GraphQL fuera de la caja).
Tyk está preparado con tantas características que incluyen una variedad de métodos de autenticación, cuotas y limitación de velocidad, control de versiones, notificaciones y eventos, monitoreo y análisis. También admite el descubrimiento de servicios, transformaciones sobre la marcha y puntos finales virtuales, y permite crear API simuladas antes del lanzamiento.
Más a lo anterior, Tyk admite la documentación de API y ofrece un portal para desarrolladores de API, un CMS (Sistema de gestión de contenidos) -como un sistema en el que puede publicar sus API administradas y los desarrolladores de terceros se registran, se inscriben en sus API y pueden administrar sus propias claves.
Es importante destacar que solo hay una versión del Puerta de enlace Tyk API y es 100% de código abierto. Si eres un Edición de la comunidad usuario o un usuario empresarial, obtiene el mismo API Gateway. Se envía con todas las piezas posibles necesarias para una usabilidad completa, sin bloqueo de funciones ni caja negra. Con Tyk, puede saber exactamente cómo se procesan sus datos.
También escrito en Go y creado pensando en el rendimiento, KrakenD es una puerta de enlace API enchufable, simple y de código abierto de alto rendimiento diseñada con una arquitectura sin estado. Puede ejecutarse en todas partes y no requiere una base de datos para ejecutarse. Tiene una configuración simple y admite endpoints y backends ilimitados.
KrakenD características de monitoreo, almacenamiento en caché, cuota de usuario, limitación de velocidad, calidad de servicio (llamadas simultáneas, disyuntor y tiempo de espera granulado) transformación, agregación (fusionar fuentes), filtrado (listas blancas y negras) y descodificación. Ofrece funciones de proxy como equilibrio de carga, traducción de protocolos y Oauth; y características de seguridad como SSL y políticas de seguridad.
Puede configurar el comportamiento de la puerta de enlace API a mano o utilizando el KrakenDiseñador, una GUI que le permite diseñar visualmente su API desde cero o reanudar una existente. Es más, KrakenD's La arquitectura extensible permite agregar funcionalidades adicionales, complementos, scripts integrados y middlewares sin modificar su código fuente.
Gravitee.io es una plataforma de gestión de API de código abierto, basada en Java y fácil de usar que ayuda a las organizaciones a proteger, publicar, analizar y documentar sus API. Viene con tres módulos principales, que son:
Es más, Gravitee.io naves con Cabina, una herramienta que le ayuda a diseñar sus API y las publica en todos sus entornos con soporte multi-tenancy con todas las funciones. Le permite escalar su Gravitee.io despliegue desde la propia plataforma. Y graviteeio-cli, una sencilla herramienta de línea de comandos que se utiliza para gestionar el ecosistema Gravitee.io.
También de código abierto y basado en Go, Gloo Edge es un controlador de entrada nativo de Kubernetes repleto de funciones (construido sobre Representante de Envoy) y una puerta de enlace API nativa de la nube de próxima generación que admite aplicaciones heredadas, microservicios y sin servidor. Y se integra con su entorno, lo que le permite elegir sus herramientas favoritas para la programación, la persistencia y la seguridad.
Ofrece un potente enrutamiento a nivel funcional (que permite la integración de aplicaciones heredadas, microservicios y sin servidor) y está diseñado para admitir aplicaciones híbridas creadas con diferentes tipos de tecnologías, arquitecturas y protocolos que se ejecutan en diferentes nubes.
Gloo Edge admite funciones de puerta de enlace API como limitación de velocidad, interrupción de circuitos, reintentos, almacenamiento en caché, autenticación externa y autorización. También es compatible con la transformación, la integración de la malla de servicios, el descubrimiento completamente automatizado y la seguridad.
Gloo Edge emplea los mejores proyectos de código abierto como GraphQL, gRPC, OpenTracing, NATS y más, para proporcionar funciones de alta calidad. Además, apoya la integración de proyectos de código abierto que puedan surgir en el futuro.
Puerta de enlace API de Goku es una puerta de enlace de microservicios de código abierto con una arquitectura nativa de la nube creada con Go. Funciona como una puerta de enlace API de arquitectura de microservicios; como plataforma para autenticación unificada, control de flujo, protección de seguridad; como plataforma de desarrollo interna de OPEN API; y como plataforma unificada para API de terceros.
Cuenta con reenvío HTTP de alto rendimiento y enrutamiento dinámico, orquestación de servicios, administración de tenencia múltiple, control de acceso a API y más. Admite la implementación de clústeres y el registro de servicios dinámicos, equilibrio de carga de backend, verificación de estado de API, API desconectar y volver a conectar la funcionalidad, actualización en caliente (actualiza continuamente las configuraciones sin reiniciar los nodos).
Goku también viene con un panel de control integrado para facilitar la configuración, un potente sistema de complementos para ampliar su funcionalidad y una CLI para iniciar \ detener \ recargar Goku a través de la línea de comandos.
Microgateway API WSO2 es una puerta de enlace de API descentralizada, nativa de la nube, centrada en el desarrollador y de código abierto para microservicios. Construido principalmente usando Java, simplifica el proceso de creación, implementación y protección de API dentro de arquitecturas de microservicios distribuidos.
Microgateway API WSO2 es un contenedor ligero sin estado con poca huella de memoria, que admite la composición de varios microservicios a través de una única API y también admite el descubrimiento de servicios en tiempo de ejecución. Permite transformar formatos de API heredados (tanto solicitudes como respuestas) a formatos modernos, para exponerlos a aplicaciones de consumo modernas.
Porque Microgateway API WSO2 usos Especificación de OpenAPI (OEA), esto permite a los desarrolladores colaborar en la creación de API y luego probarlas de forma independiente. Además, es altamente escalable, ya que puede ejecutarse de forma aislada sin dependencias de otros componentes.
Cuenta con limitación de velocidad, descubrimiento de servicios, transformación de solicitudes y respuestas, equilibrio de carga, conmutación por error e interrupción de circuitos, integración perfecta de Docker y Kubernetes, entre otros. Proporciona autenticación y autorización basadas en OAuth2.0, claves de API, autenticación básica y TLS mutua.
Fusio es una solución de gestión de API basada en PHP de código abierto que se utiliza para crear y gestionar API REST. Es una gestión de API plataforma en el sentido de que le permite desarrollar puntos finales API que pueden solicitar y transformar datos de una base de datos. Proporciona todas las herramientas necesarias no solo para crear rápidamente una API a partir de diferentes fuentes de datos, sino también para crear respuestas totalmente personalizadas.
Se utiliza para exponer la funcionalidad empresarial, microservicios, aplicaciones Javascript y aplicaciones móviles, ofreciendo funciones como limitación de velocidad, autorización, soporte RPC, validación, análisis y usuario administración.
También, Fusio admite la generación de OpenAPI, la generación de SDK y viene con una capa de suscripción para ayudarlo a crear un pub / sub para su API y un sistema de pago simple para cobrar por rutas específicas.
Fusio contiene un cliente de línea de comandos que le permite interactuar directamente con la API e implementar archivos de configuración YAML específicos. Fusio-CLI se incluye automáticamente en cada Fusio instalación, pero también puede ejecutar el cliente CLI de forma independiente. Hay varias otras herramientas en el ecosistema de Fusio.
Apiman es una herramienta de administración de API de código abierto basada en Java que se envía con un diseño de API enriquecido y una capa de configuración con un tiempo de ejecución increíblemente rápido. Es un sistema independiente que se puede ejecutar como un sistema separado o incrustado en marcos y plataformas existentes.
Sus características clave son la flexibilidad y la gobernanza en tiempo de ejecución basada en políticas para las API, la capa de administración enriquecida y su total asincrónica. Admite limitaciones y cuotas, seguridad centralizada, facturación y métricas, y muchas otras funciones.
Paraguas API es una solución de gestión de API de código abierto construida principalmente con Rubí. Es un proxy que se encuentra frente a sus API, lo que le permite crear un único punto de entrada público a todas sus API y microservicios, independientemente de dónde se encuentren. Ofrece funcionalidades como claves API, limitación de velocidad, análisis y almacenamiento en caché.
Es compatible con la tenencia múltiple y viene con un administrador para administrar todos los aspectos de API Umbrella, como la configuración de enrutamiento de API, administración de usuarios, análisis de visualización y más. Bajo API Umbrella, toda la funcionalidad administrativa también está disponible a través de REST API.
¡Eso es todo por ahora! En este artículo, hemos revisado 10 puertas de enlace API de código abierto y soluciones de administración que puede usar en un servidor Linux, en su infraestructura. No dude en informarnos de cualquier otra solución que haya encontrado, pero que no hemos incluido en este artículo.