Explore gateways de API
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.