Explorar gateways de API
Sua solução pode conter vários serviços de front-end e back-end. Nesse cenário, como um cliente sabe quais endpoints 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 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, roteando solicitações de clientes para serviços. Ele também pode executar várias tarefas transversais, como autenticação, finalização SSL e limitação de velocidade. Se você não implantar um gateway, os clientes deverão enviar solicitações diretamente para serviços de back-end. No entanto, há 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 controlar múltiplos endpoints e lidar com falhas de maneira resiliente.
- Ele cria o acoplamento entre o cliente e o back-end. O cliente precisa saber como os serviços individuais estão divididos. Isso dificulta a manutenção do cliente e também mais difícil de refatorar 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 preocupaçõ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 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 desassociando clientes de serviços.
Gerenciado e auto-hospedado
O Gerenciamento de API oferece gateways gerenciados e auto-hospedados:
Managed – 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-hospedada – o gateway auto-hospedado é uma versão opcional e containerizada do gateway gerenciado padrão. É útil para cenários híbridos e multinuvem em que há um requisito para executar os gateways fora 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 no Azure.