Microserviços e APIs (abreviação de Interfaces de Programação de Aplicativos) tornaram-se quase comuns no desenvolvimento de aplicativos modernos sustentáveis.
As APIs impulsionam os microserviços (um design arquitetônico que estrutura um aplicativo em pequenos serviços/pedaços autocontidos e gerenciáveis) e definem como um consumidor (da API) pode interagir e usar o serviço subjacente.
Para empresas e outras organizações, as APIs se tornaram o cerne das estratégias de transformação digital. O crescimento no uso de APIs aumentou o uso de soluções de gerenciamento de API pelos desenvolvedores para publicar suas APIs para o público ou desenvolvedores externos, desenvolvedores internos e outros parceiros.
Uma ferramenta de gerenciamento de API pode ajudá-lo a:
- Expor microserviços como APIs gerenciadas.
- Combina vários microserviços para serem expostos como APIs.
- Aplicar segurança a microserviços internos e externos.
- Expor serviços legados como APIs modernas.
- Obter insights comerciais do consumo de microserviços e APIs, e muito mais.
Você está procurando por uma solução de gerenciamento de API de código aberto para sua empresa? Então este guia foi feito especialmente para você, continue lendo.
Abaixo, compartilhamos as 10 melhores soluções de gateway de API de código aberto e gerenciamento de API que você pode usar em sua infraestrutura de TI. Note que a seguinte lista está organizada sem uma ordem específica.
1. Kong Gateway (OSS)
O Kong Gateway (OSS) é um gateway de API nativo de nuvem popular, de código aberto e avançado, construído para implantação universal: pode ser executado em qualquer plataforma.
É escrito na linguagem de programação Lua e suporta infraestrutura híbrida e multi-nuvem, sendo otimizado para microsserviços e arquiteturas distribuídas.
No seu núcleo, o Kong é construído para alta performance, extensibilidade e portabilidade. O Kong também é leve, rápido e escalável. Ele suporta configuração declarativa sem um banco de dados, utilizando apenas armazenamento em memória, e CRDs Kubernative nativos.

O Kong apresenta balanceamento de carga (com diferentes algoritmos), registro de logs, autenticação (suporte para OAuth2.0), limitação de taxa, transformações, monitoramento ao vivo, descoberta de serviço, cache, detecção e recuperação de falhas, clustering e muito mais. Importante destacar que O Kong suporta o agrupamento de nós e funções sem servidor.
Suporta a configuração de proxies para seus serviços e os serve por SSL, ou utiliza WebSockets. Ele pode balancear o tráfego através de réplicas dos seus serviços upstream, monitorar a disponibilidade dos seus serviços e ajustar o balanceamento de carga conforme necessário.
Além disso, o Kong vem com uma interface de linha de comando que permite gerenciar um cluster Kong a partir da linha de comando. Além disso, o Kong é altamente extensível usando plugins e diferentes tipos de integrações. Ele pode ser gerenciado com sua API RESTful para máxima flexibilidade.
2. Tyk
Tyk (pronunciado Taik) é um gateway de API de código aberto, poderoso, leve e completo, escrito do zero usando a linguagem de programação Go. É nativo da nuvem e altamente performático, com uma arquitetura facilmente extensível e plugável baseada em padrões abertos.
Ele pode ser executado de forma independente e requer apenas Redis como um repositório de dados. Permite aos usuários publicar e gerenciar com segurança uma variedade de serviços, incluindo legados, REST e GraphQL (suporta GraphQL nativamente).
Tyk possui muitos recursos, incluindo uma variedade de métodos de autenticação, cotas, limitação de taxa, controle de versão, notificações e eventos, monitoramento e análises. Também suporta descoberta de serviços, transformações sob demanda e pontos de extremidade virtuais, e permite a criação de APIs simuladas antes do lançamento.

Tyk suporta documentação de API e oferece um portal para desenvolvedores de API, um sistema semelhante a um CMS (Sistema de Gerenciamento de Conteúdo), onde você pode publicar suas APIs gerenciadas e desenvolvedores de terceiros se inscrevem, se matriculam em suas APIs e podem gerenciar suas próprias chaves.
É importante ressaltar que há apenas uma versão do Tyk API Gateway e é 100% de Código Aberto. Seja você um usuário da Edição Comunitária ou um usuário corporativo, você obtém o mesmo Gateway de API.
Ele é fornecido com todas as partes necessárias para total usabilidade, sem bloqueio de recursos e sem caixa preta. Com Tyk, você sabe exatamente como seus dados estão sendo processados.
3. KrakenD
Também escrito em Go, e construído com desempenho em mente, KrakenD é um gateway de API de código aberto, simples e plugável, projetado com arquitetura sem estado. Pode ser executado em qualquer lugar e não requer banco de dados para funcionar. Possui uma configuração simples e suporta endpoints e backends ilimitados.
KrakenD possui recursos de monitoramento, cache, cota de usuário, limite de taxa, qualidade de serviço (chamadas concorrentes, disjuntor de circuito e tempo limite granular) transformação, agregação (mesclar fontes), filtragem (lista branca e lista negra) e decodificação.
Ele oferece recursos de proxy como balanceamento de carga, tradução de protocolo e OAuth; e recursos de segurança como SSL e políticas de segurança.

Você pode configurar o comportamento do gateway de API manualmente ou usando o KrakenDesigner, uma interface gráfica que permite projetar visualmente sua API a partir do zero ou retomar uma existente. Além disso, a arquitetura extensível de KrakenD’s permite adicionar funcionalidades adicionais, plug-ins, scripts embutidos e middleware sem modificar seu código-fonte.
4. Plataforma de API Gravitee.io
Gravitee.io é uma plataforma de gerenciamento de API de código aberto, baseada em Java, fácil de usar, que ajuda as organizações a proteger, publicar, analisar e documentar suas APIs.

Ela vem com três módulos principais, que são:
- Gerenciamento de API (APIM): uma solução de gerenciamento de API (APIM) de código aberto, simples, poderosa, flexível, leve e extremamente rápida, projetada para dar à sua organização controle total sobre quem acessa suas APIs, quando e como.
- Gerenciamento de Acesso (AM): uma solução de gerenciamento de identidade e acesso de código aberto flexível, leve, versátil e fácil de usar. Baseada nas protocolos OAuth2/OpenID Connect, atua como um provedor de identidade. Possui um serviço centralizado de autenticação e autorização para proteger seus aplicativos e suas APIs.
- Motor de Alertas (AE): um módulo que permite aos usuários configurar alertas e receber notificações para monitorar facilmente e de forma eficiente sua plataforma de API. Ele suporta notificações multi-canais, detecção de comportamento suspeito e muito mais.
Gravitee.io é fornecido com Cockpit, uma ferramenta que ajuda você a projetar seus APIs e publicá-los em todos os seus ambientes com suporte completo para multi-tenancy.
Ele permite que você dimensione sua implantação do Gravitee.io a partir da própria plataforma. E o graviteeio-cli, uma ferramenta de linha de comando simples usada para gerenciar o ecossistema Gravitee.io.
5. Gloo Edge
Também de código aberto e baseado em Go, Gloo Edge é um controlador de entrada nativo do Kubernetes repleto de recursos (construído sobre o Envoy Proxy) e um gateway de API nativo da nuvem de próxima geração que suporta aplicativos legados, microsserviços e também sem servidor. E integra-se ao seu ambiente permitindo que você escolha suas ferramentas favoritas para agendamento, persistência e segurança.
Ele oferece roteamento poderoso em nível funcional (que permite a integração de aplicativos legados, microsserviços e sem servidor) e é projetado para suportar aplicativos híbridos construídos usando diferentes tipos de tecnologias, arquiteturas e protocolos em execução em diferentes nuvens.

Gloo Edge suporta recursos de gateway de API como limitação de taxa, quebra de circuito, tentativas, armazenamento em cache, autenticação externa e autorização. Também suporta transformação, integração com malha de serviço, descoberta totalmente automatizada e segurança.
Gloo Edge utiliza os principais projetos de código aberto como GraphQL, gRPC, OpenTracing, NATS e mais, para fornecer recursos de alta qualidade. Além disso, suporta a integração de projetos de código aberto que possam surgir no futuro.
6. Apache APISIX
Apache APISIX é um gateway de API dinâmico, de alto desempenho e escalável, projetado para facilitar a conexão contínua entre clientes e microsserviços. Construído sobre a robusta base do Nginx, o APISIX possui uma arquitetura flexível, permitindo aos usuários personalizar e estender suas funcionalidades facilmente.
Ele suporta vários protocolos como HTTP, HTTPS, TCP e UDP, garantindo casos de uso versáteis. Com um painel de controle fácil de usar e uma API RESTful, gerenciar as configurações da API se torna simples.

O APISIX se destaca no balanceamento de carga, controle de tráfego e aplicação de segurança, melhorando a resiliência geral do sistema. Como um projeto de código aberto sob a Apache Software Foundation, o APISIX capacita os desenvolvedores a criar ecossistemas de API resilientes e eficientes.
7. WSO2 API Microgateway
WSO2 API Microgateway é um gateway de API de microsserviços de código aberto, nativo da nuvem, centrado no desenvolvedor e descentralizado. Construído principalmente usando Java, ele simplifica o processo de criação, implantação e segurança de APIs dentro de arquiteturas de microsserviços distribuídos.
WSO2 API Microgateway é um recipiente leve e sem estado com baixa pegada de memória, que suporta a composição de vários microsserviços através de uma única API e também suporta descoberta de serviço em tempo de execução. Ele permite a transformação de formatos de API legados (tanto solicitações quanto respostas) em formatos modernos, para expô-los a aplicativos de consumidores modernos.

Porque WSO2 API Microgateway utiliza Especificação OpenAPI (OAS), isso permite que os desenvolvedores colaborem na criação de APIs e então as testem independentemente. Além disso, é altamente escalável, pois pode ser executado de forma isolada sem depender de outros componentes.
Ele possui limitação de taxa, descoberta de serviço, transformação de solicitação e resposta, balanceamento de carga, failover e quebra de circuito, integração contínua com Docker e Kubernetes, entre outros. Ele fornece autenticação e autorização baseadas em OAuth2.0, chaves de API, Autenticação Básica e TLS mútuo.
8. Fusio
Fusio é uma solução de gerenciamento de API de código aberto baseada em PHP usada para construir e gerenciar APIs REST. É uma plataforma de gerenciamento de API no sentido de que permite desenvolver pontos de extremidade de API que podem solicitar e transformar dados de um banco de dados. Ele fornece todas as ferramentas necessárias não apenas para construir rapidamente uma API a partir de diferentes fontes de dados, mas também para criar respostas totalmente personalizadas.
É usado para expor funcionalidades de negócios, microsserviços, aplicativos Javascript e aplicativos móveis, oferecendo recursos como limitação de taxa, autorização, suporte a RPC, validação, análises e gerenciamento de usuários.

Fusio suporta a geração de OpenAPI e a geração de SDK, e vem com uma camada de assinatura para ajudá-lo a construir um pub/sub para sua API, e um sistema de pagamento simples para cobrar por rotas específicas.
Fusio contém um cliente de linha de comando que permite interagir diretamente com a API e implantar arquivos de configuração YAML específicos. Fusio-CLI é automaticamente incluído em cada instalação de Fusio, mas você também pode executar o cliente CLI de forma independente. Existem várias outras ferramentas no ecossistema Fusio.
9. Apiman
Apiman é uma ferramenta de Gerenciamento de API de código aberto baseada em Java que vem com uma camada de design e configuração de API rica com um tempo de execução extremamente rápido. É um sistema independente que pode ser executado como um sistema separado ou incorporado em estruturas e plataformas existentes.

Seus principais recursos são flexibilidade e governança de tempo de execução baseada em políticas para APIs, uma camada de gerenciamento rica e totalmente assíncrona. Ele suporta limitação de taxa e cotas, segurança centralizada, faturamento e métricas, e muitos outros recursos.
10. API Umbrella
API Umbrella é uma solução de gerenciamento de API de código aberto construída principalmente usando Ruby. É um proxy que fica na frente de suas APIs permitindo que você crie um único ponto de entrada público para todas as suas APIs e microsserviços, independentemente de onde estiverem localizados. Oferece funcionalidades como chaves de API, limitação de taxa, análises e cache.
Ele suporta multilocação e vem com um Admin para gerenciar todos os aspectos do API Umbrella, como configuração de roteamento de API, gerenciamento de usuários, visualização de análises e muito mais. Sob o API Umbrella, toda a funcionalidade administrativa também está disponível via REST API.

Conclusão
Isso é tudo por agora! Neste artigo, revisamos 10 gateways de API de código aberto e soluções de gerenciamento que você pode usar em um servidor Linux, em sua infraestrutura. Sinta-se à vontade para nos informar sobre outras soluções que você encontrou e que não incluímos neste artigo.
Source:
https://www.tecmint.com/open-source-api-gateways-and-management-tools/