Os benefícios de usar o Gerenciamento de API do Azure para compor sua API
As arquiteturas de microsserviços podem ser difíceis de gerenciar. Por exemplo, você pode contar com equipes separadas que implementam requisitos abrangentes, como de segurança, de maneira consistente.
Na loja online, suas equipes de desenvolvedores criaram os microsserviços de detalhes do produto e detalhes do pedido em diferentes URLs de host. Além disso, o serviço de detalhes do pedido responde usando XML. Você quer garantir que todas as respostas estejam no formato JSON para facilitar o trabalho dos desenvolvedores de aplicativos cliente.
Nesta unidade, você aprenderá sobre os recursos do Gerenciamento de API. Você pode usar esses recursos para integrar microsserviços diferentes e apresentá-los a aplicativos cliente com comportamento consistente em uma única URL.
Desafios da arquitetura de microsserviços
A abordagem de microsserviços da arquitetura cria um aplicativo modular no qual cada parte está acoplada livremente às outras. A implantação independente de serviços reduz o efeito de qualquer bug que possa fazer isso por meio de testes em produção. Essa abordagem modular facilita a reversão para uma versão estável. Você também pode criar equipes pequenas e autônomas de desenvolvedores para cada microsserviço. Essa divisão se adapta bem às práticas ágeis modernas.
No entanto, as arquiteturas de microsserviços também podem apresentar desafios, como:
- Aplicativos cliente são acoplados a microsserviços. Se você quiser alterar o local ou a definição do microsserviço, talvez seja necessário reconfigurar ou atualizar o aplicativo cliente.
- É possível apresentar cada microsserviço em diferentes nomes de domínio ou endereços IP. Essa apresentação pode passar aos usuários uma impressão de inconsistência e afetar negativamente sua marca.
- Talvez seja difícil impor regras e padrões de API consistentes em todos os microsserviços. Por exemplo, uma equipe pode preferir responder com XML e outra pode preferir JSON.
- Você depende de equipes individuais para implementar corretamente a segurança nos microsserviços. É difícil impor esses requisitos de forma centralizada.
Como o Gerenciamento de API pode ajudar?
Ao adicionar várias APIs, funções e outros serviços ao Gerenciamento de API, é possível montar esses componentes em um produto integrado que apresente um único ponto de entrada para aplicativos cliente. Compor uma API usando o Gerenciamento de API proporciona vantagens que incluem:
- Os aplicativos cliente são acoplados à API que expressa a lógica de negócios, e não à implementação técnica subjacente com microsserviços individuais. Você pode alterar o local e a definição dos serviços sem necessariamente reconfigurar ou atualizar os aplicativos cliente.
- O Gerenciamento de API atua como um intermediário. Ele encaminha solicitações para o microsserviço certo, independentemente do local e retorna respostas aos usuários. Os usuários nunca veem os diferentes URIs em que os microsserviços estão hospedados.
- É possível usar políticas do Gerenciamento de API para impor regras consistentes em todos os microsserviços do produto. Por exemplo, você pode transformar todas as respostas XML em JSON, caso esse seja o seu formato preferido.
- As políticas também permitem que você imponha requisitos de segurança consistentes.
O Gerenciamento de API também inclui ferramentas úteis; você pode testar cada microsserviço e suas operações para garantir que eles se comportem de acordo com os seus requisitos. Você também pode monitorar o comportamento e o desempenho dos serviços implantados.
O Gerenciamento de API do Azure dá suporte à importação de aplicativos de funções do Azure como novas APIs ou acrescentando-as a APIs existentes. O processo gera automaticamente uma chave de host no aplicativo de funções do Azure, que é atribuída a um valor nomeado no Gerenciamento de API do Azure.
Na próxima unidade, você adicionará o microsserviço de detalhes do pedido à API da loja online criada no exercício anterior. Ao fazer isso, você integra os detalhes do pedido com o microsserviço de detalhes do produto e apresenta ambos no mesmo domínio como parte de uma API integrada.