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