Explorar gateways de API

Concluído

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

O gateway de Gerenciamento de API (também chamado de plano de dados ou runtime) é 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, encaminhando as solicitações de clientes para serviços. Ele também pode executar várias tarefas detalhadas, como autenticação, terminação de SSL e a limitação de taxa. Se você não implantar um gateway, os clientes precisarão enviar solicitações diretamente aos serviços front-end. No entanto, há alguns possíveis problemas com a exposição de serviços diretamente aos clientes:

  • Isso pode resultar em código de cliente complexo. O cliente deve manter o controle dos vários pontos de extremidade e lidar com falhas de forma resiliente.
  • Ele cria um 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 serviços.
  • Uma única operação pode exigir chamadas para vários serviços.
  • Cada serviço voltado ao público deve lidar com preocupações como autenticação, SSL e limite de taxa do cliente.
  • Serviços devem expor um protocolo de cliente amigável, como HTTP ou WebSocket. Isso limita a escolha de protocolos de comunicação.
  • Serviços com pontos de extremidade públicos são uma superfície de ataque potencial e devem ser protegidos.

Um gateway ajuda a resolver esses problemas, separando 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 do Gerenciamento de API em cada camada de serviço. Com o gateway gerenciado, todo o tráfego de API flui pelo Azure, independentemente do local em que os back-ends que implementam as APIs estão hospedados.

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