Os benefícios de utilizar a Gestão de API do Azure para compor a API

Concluído

A gestão das arquiteturas de microsserviços podem ser difíceis. Por exemplo, pode depender de equipas separadas para a implementação de requisitos transversais, como 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 das encomendas responde através de XML. Quer garantir que todas as respostas estão no formato JSON para facilitar as coisas para os programadores de aplicações cliente.

Nesta unidade, você aprenderá sobre os recursos do Gerenciamento de API. Você pode usar esses recursos para integrar diferentes microsserviços e apresentá-los a aplicativos cliente com comportamento consistente em uma única URL.

Desafios da arquitetura de microsserviços

A abordagem de microsserviços para a arquitetura cria uma aplicação modular na qual cada parte está acoplada livremente às outras. A implantação independente de serviços reduz o efeito de quaisquer bugs que possam passar por testes até a produção. Esta abordagem modular torna mais fácil reverter para uma versão estável. Além disso, pode criar equipas de programadores pequenas e autónomas para cada microsserviço. Esta divisão adapta-se bem às práticas modernas do método Ágil.

No entanto, as arquiteturas de microsserviços também podem apresentar desafios, como:

  • As aplicações cliente estarem acopladas a microsserviços. Se quiser alterar o local ou a definição do microsserviço, talvez seja necessário reconfigurar ou atualizar o aplicativo cliente.
  • Cada microsserviço pode ser apresentado sob diferentes nomes de domínio ou endereços IP. Esta apresentação pode dar uma impressão de inconsistência aos utilizadores e pode afetar negativamente a sua imagem corporativa.
  • Pode ser 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.
  • Está dependente de equipas individuais para implementar a segurança no microsserviço corretamente. É difícil impor estes requisitos centralmente.

Como é que a Gestão de API ajuda?

Ao adicionar várias APIs, funções e outros serviços à Gestão de API, pode montar esses componentes num produto integrado que apresenta um único ponto de entrada para as aplicações cliente. Vantagens da composição de uma API com a Gestão de API:

  • As aplicações cliente são acopladas à API ao expressarem a lógica de negócio e não a implementação técnica subjacente dos microsserviços individuais. Pode alterar a localização e a definição dos serviços sem ter necessariamente de reconfigurar ou atualizar as aplicações cliente.
  • A Gestão de API atua como um intermediário. Ele encaminha solicitações para o microsserviço certo, independentemente da localização, e retorna respostas aos usuários. Os utilizadores nunca veem os diferentes URIs onde os microsserviços estão alojados.
  • Pode utilizar as políticas de Gestão de API para impor regras consistentes em todos os microsserviços do produto. Por exemplo, poderá transformar todas as respostas XML em JSON, se esse for o seu formato preferido.
  • As políticas também permitem que imponha requisitos de segurança consistentes.

A Gestão de API também inclui ferramentas úteis: pode testar cada microsserviço e as respetivas operações para garantir que se comportam de acordo com os requisitos. Também pode monitorizar o comportamento e o desempenho dos serviços implementados.

A Gestão de API do Azure suporta a importação de Aplicações de Funções do Azure como novas APIs ou anexa-as às APIs existentes. O processo gera automaticamente uma chave de anfitrião na Aplicação de Funções do Azure que, em seguida, é atribuída a um valor nomeado na Gestão de API do Azure.

Na unidade seguinte, vai adicionar o microsserviço de detalhes das encomendas à API da Loja Online que criou 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.