Explore gateways de API

Concluído

Sua solução pode conter vários serviços front-end e back-end. Nesse cenário, como um cliente sabe quais pontos de extremidade chamar? O que acontece quando novos serviços são introduzidos ou os serviços existentes são refatorados? Como os serviços lidam com terminação SSL, autenticação e outras preocupações?

O gateway de Gerenciamento de API (também chamado de plano de dados ou tempo de execução) é o componente de serviço responsável por fazer proxy de solicitações de API, aplicar políticas e coletar telemetria.

Um gateway de API fica entre clientes e serviços. Ele atua como um proxy reverso, roteando solicitações de clientes para serviços. Ele também pode executar várias tarefas transversais, como autenticação, terminação SSL e limitação de taxa. Se você não implantar um gateway, os clientes deverão enviar solicitações diretamente para os serviços back-end. No entanto, existem alguns problemas potenciais com a exposição de serviços diretamente aos clientes:

  • Isso pode resultar em código de cliente complexo. O cliente deve acompanhar vários endpoints e lidar com falhas de forma resiliente.
  • Ele cria acoplamento entre o cliente e o back-end. O cliente precisa saber como os serviços individuais são decompostos. Isso torna mais difícil manter o cliente e também mais difícil refatorar os serviços.
  • Uma única operação pode exigir chamadas para vários serviços.
  • Cada serviço voltado para o público deve lidar com questões como autenticação, SSL e limitação de taxa de cliente.
  • Os serviços devem expor um protocolo amigável ao cliente, como HTTP ou WebSocket. Isso limita a escolha dos protocolos de comunicação.
  • Serviços com pontos de extremidade públicos são uma superfície de ataque potencial e devem ser fortalecidos.

Um gateway ajuda a resolver esses problemas, dissociando clientes de serviços.

Gerenciado e auto-hospedado

O Gerenciamento de API oferece gateways gerenciados e auto-hospedados:

  • Gerenciado - O gateway gerenciado é o componente de gateway padrão implantado no Azure para cada instância de Gerenciamento de API em cada camada de serviço. Com o gateway gerenciado, todo o tráfego de API flui pelo Azure, independentemente de onde os back-ends que implementam as APIs estão hospedados.

  • Auto-hospedado - O gateway auto-hospedado é uma versão opcional em contêiner do gateway gerenciado padrão. É útil para cenários híbridos e multicloud em que há um requisito para executar os gateways fora do Azure nos mesmos ambientes onde os back-ends de API estão hospedados. O gateway auto-hospedado permite que os clientes com infraestrutura de TI híbrida gerenciem APIs hospedadas no local e em nuvens a partir de um único serviço de Gerenciamento de API no Azure.