API gateway

Um gateway API é um padrão de software que fica na frente de uma interface de programação de aplicações (API) ou grupo de microserviços, para facilitar pedidos e entrega de dados e serviços. Sua principal função é atuar como um ponto de entrada único e processo padronizado para interações entre aplicativos, dados e serviços de uma organização e clientes internos e externos. O gateway da API também pode executar várias outras funções para suportar e gerenciar o uso da API, desde a autenticação até a limitação da taxa até a análise.

Estas amplas capacidades fazem do gateway da API uma peça essencial de uma estratégia da API corporativa.

Como funciona um gateway da API?

APIs permitem que aplicações separadas se comuniquem entre si e troquem dados dentro e fora de uma empresa. O API gateway fornece um ponto focal e uma interface padrão para realizar essas atividades. Ele recebe solicitações de fontes internas e externas, chamadas "API calls", e empacota várias solicitações, encaminha-as para a API ou APIs apropriadas e recebe e entrega as respostas ao usuário ou dispositivo que fez a solicitação.

API gateways também são fundamentais para uma arquitetura baseada em microserviços, na qual as solicitações de dados invocam várias aplicações e serviços que usam APIs múltiplas e díspares. Aqui a função da API gateway é semelhante: Fornecer um único ponto de entrada para um grupo definido de microserviços, e aplicar políticas para determinar sua disponibilidade e comportamento.

GatewaysAPI geralmente lidam com outras funções envolvidas com APIs e micro-serviços:

  • tradução de protocolos
  • descoberta de serviços
  • lógica de negócios básica
  • autenticação e aplicação de políticas de segurança
  • estabilização e balanceamento de carga
  • gerenciamento de cache
  • monitoramento, log e análises

> forte>gatewayAPI vs. API proxy. An alternative to the API gateway is an API proxy, which is basically a subset of an API gateway that provides minimal processing for API requests. The API proxy handles communication, including protocol translation, between specific software platforms, such as a proxy endpoint and target API. It can also control the flow of traffic between sending and receiving points. However, API gateways typically possess better performance analysis and monitoring capabilities.

This article is part of

Guide to building an enterprise API strategy

  • Which also includes:
  • 5 major reasons to adopt an API management platform
  • 10 API security guidelines and best practices
  • API testing checklist and best practices

Download1

Download this entire guide for FREE now!

> forte>API gateway vs. service mesh. Essencialmente, o service mesh também facilita as comunicações de e para os serviços de uma empresa com algum balanceamento de carga e outras funcionalidades. Entretanto, uma malha de serviço normalmente lida com comunicações internas, e seu papel é no nível de gerenciamento da rede; um gateway API facilita interações com usuários e dispositivos externos, assim como com fontes internas, e reside na camada de aplicação. Dessa forma, suas funções podem ser complementares -- gateways API podem ser um ponto de entrada em uma malha, por exemplo, enquanto alguns gateways API oferecem plugins para formar eles mesmos uma malha de serviço.

Um diagrama do padrão básico de gateway API Um diagrama do padrão básico de gateway API

<Quem usa gateways API e por quê?

O gateway API é o ponto focal para mensagens API, para organizar e agilizar as atividades e trocas da API com clientes internos e externos. Esse gerenciamento e supervisão também permite que uma empresa veja e controle um amplo escopo de APIs e integrações de forma centralizada, em vez de tentar rastrear e gerenciar as APIs individualmente. Os gateways de APIs normalmente incluem recursos de monitoramento e registro para registrar e analisar chamadas e respostas a fim de garantir a segurança e avaliar erros.

gatewaysAPI também podem suportar outras funcionalidades que governam as APIs. Por exemplo, os gerentes de políticas usam declarações lógicas operadas através de um gateway de API para determinar a disponibilidade e o comportamento da API, como, por exemplo, como ela controla o fluxo de dados, ou acelera as chamadas e a produção de chamadas de API.

Organizações que adotaram uma arquitetura baseada em microserviços confiam de forma semelhante nos gateways de API para facilitar a comunicação entre esses serviços.

Gateways API também desempenham um papel para ajudar a agilizar a integração B2B como uma alternativa às abordagens herdadas, como os serviços de intercâmbio eletrônico de dados.

Benefícios e desafios dos gateways API

Uma das principais vantagens de um gateway API é que ele padroniza e centraliza a entrega de serviços através de APIs ou microserviços. Além disso, os gateways API também ajudam a proteger e organizar as integrações baseadas em API de uma organização de várias maneiras.

  • Simplificar a entrega de serviços. Gateways API podem combinar múltiplas chamadas API para solicitar e recuperar dados e serviços, o que reduz o volume de solicitações e tráfego. Isso simplifica o processo da API e pode melhorar a experiência do usuário, particularmente para aplicativos móveis.
  • Prover flexibilidade. Os gateways API são altamente configuráveis. Os desenvolvedores podem encapsular a estrutura interna de um aplicativo de várias maneiras, para invocar vários serviços back-end e agregar os resultados.
  • >strong>Extender aplicativos legados. As empresas que dependem de aplicativos legados podem usar gateways API para trabalhar com esses aplicativos e até mesmo ampliar suas funcionalidades, como uma alternativa para uma migração mais ampla e complicada (e cara).
  • >strong>Contributo para monitoramento e observabilidade. A maioria das organizações depende de ferramentas específicas para monitorar a atividade através de APIs, mas um gateway de API pode ajudar a ajudar nesses esforços. Os logs de gateway da API podem ajudar a identificar um problema durante um evento de falha de monitoramento.

O gateway da API é o guardião entre consumidores e provedores de API, e esse papel amplo apresenta desafios únicos.

  • Reliabilidade e resiliência. Qualquer deficiência ou impedimento à funcionalidade do gateway da API pode causar a falha dos serviços associados. As empresas devem desconfiar de adicionar recursos que afetam o desempenho, especialmente porque o API gateway representa uma etapa extra do processo entre clientes e aplicativos ou dados.>
  • >forte>Segurança. O API gateway é uma fonte confiável que toca muitos cantos do negócio de uma empresa. Se for comprometido, este é potencialmente um problema sério e de longo alcance em termos de segurança. As empresas devem separar cuidadosamente as interfaces externas das APIs e sistemas internos, e definir parâmetros de autenticação e autorização.
  • >forte>Complexidade e dependências. Os desenvolvedores devem atualizar o gateway da API sempre que uma API ou microserviço for adicionado, alterado ou excluído. Isto é particularmente desafiador em um modelo onde algumas aplicações podem se tornar dezenas ou centenas de microserviços. A criação e aderência de regras de projeto de API e microserviços pode ajudar a mitigar esses problemas.

Quais são os diferentes tipos de produtos API gateway?

Dada a importância central do API gateway na economia atual de API, muitos provedores oferecem API gateways como ferramentas autônomas ou funcionalidades agrupadas em plataformas de gerenciamento de API mais amplas.

Exemplos de fornecedores de plataformas de gerenciamento de API que incorporam algum tipo de funcionalidade de gateway de API incluem Akana, Mulesoft, Postman, Tibco, Workato e outros.

As organizações também podem obter e usar separadamente certas ferramentas de gateway de API. Exemplos incluem Apigee (agora parte do Google Cloud), Express Gateway, Kong Gateway, Oracle API Gateway e Tyk API Gateway.

Os principais provedores de nuvens públicas oferecem plataformas de gerenciamento de API: AWS API Gateway, Microsoft Azure API Management e Google Cloud Endpoints. Eles também oferecem ferramentas de API Gateway específicas para as suas plataformas: Amazon API Gateway, Azure API Gateway e Google Cloud API Gateway (em beta a partir de janeiro de 2021).

>forte>Factores a considerar ao avaliar um gateway API. As empresas devem pesar vários critérios ao escolherem um gateway API, incluindo os seguintes:

  • Proprietário versus código aberto. Uma empresa que avalia um gateway de API de um fornecedor já pode utilizar outros produtos desse fornecedor. Exemplos incluem Oracle, ou os principais provedores de nuvem pública (AWS, Microsoft Azure, Google Cloud). Por outro lado, muitas empresas se sentem confortáveis com ferramentas de código aberto e suporte interno.>li>Arquitetura. Algumas ferramentas de API gateway enfatizam a simplicidade, enquanto outras enfatizam a extensibilidade. Elas também suportam diferentes sistemas de banco de dados, tais como PostgreSQL, Cassandra, Redis ou MongoDB. Como dito acima, as empresas que já confiam em um determinado provedor de nuvem podem preferir o gateway API desse provedor.
  • Customização. Alguns gateways API, particularmente opções de código aberto, podem oferecer mais habilidades para personalização, o que requer experiência interna. No entanto, alguns gateways de API dependem de diferentes linguagens de programação, como Golang ou Lua. Assegure-se de que as habilidades da equipe de TI estejam alinhadas com qualquer requisito desse tipo. O uso de plugins pode atenuar parcialmente este problema.