Como o Gerenciamento de API do Azure funciona

Concluído

Aqui, discutimos como o Gerenciamento de API do Azure funciona em três pontos de uso. Esse conhecimento ajuda você a continuar avaliando se o Gerenciamento de API do Azure é uma boa solução para gerenciar as APIs da sua organização.

Nesta unidade, você aprenderá como o Gerenciamento de API do Azure funciona para os seguintes tipos de usuários:

  • Consumidores de API
  • Provedores de API
  • Desenvolvedores de aplicativos

Como o Gerenciamento de API do Azure funciona para consumidores de API

Um consumidor de API é uma entidade que faz uma solicitação de dados à API. Por exemplo, qualquer uma destas entidades pode ser um consumidor de API:

  • Aplicativo móvel
  • Aplicativo Web
  • Dispositivo IoT

O principal componente do Gerenciamento de API do Azure para consumidores é o gateway. Todas as chamadas à API do consumidor são encaminhadas primeiro para o ponto de extremidade do gateway. Os consumidores de API só interagem diretamente com o gateway, nunca com a instância de implantação da API real.

O gateway executa muitas tarefas do ponto de vista do consumidor, mas principalmente:

  • Autenticação. O gateway monitora o acesso à API verificando as chaves de assinatura do consumidor, tokens JWT e outras credenciais.
  • Segurança. O gateway impede o uso indevido da API impondo limites de taxa predefinidos e cotas de uso ao consumidor ou validando solicitações e respostas no esquema da API.
  • Transformação. O gateway transforma a solicitação ou a resposta de API conforme necessário. Por exemplo, se o serviço de back-end responder com os dados XML, você poderá modernizar a API transformando o XML em JSON automaticamente, conforme ilustrado na imagem a seguir.
  • Roteamento. Depois que uma solicitação de API é autenticada, validada e transformada, o gateway encaminha a chamada para o serviço de back-end em que a API está implantada.
  • Desempenho. O gateway pode armazenar a resposta da API de back-end em um cache. Nas situações em que a resposta de back-end é estática ao longo do tempo, o serviço de respostas subsequentes do cache fornece aos consumidores tempos de resposta mais rápidos e reduz a carga no servidor back-end.

Um aplicativo móvel solicita uma previsão do tempo usando uma API. O gateway do Gerenciamento de API do Azure encaminha a chamada para o servidor back-end e converte a resposta XML do servidor em JSON antes de devolvê-la ao aplicativo móvel.

Como o Gerenciamento de API do Azure funciona para provedores de API

Se você for um provedor de API, ainda terá muito trabalho a fazer depois que suas APIs forem publicadas. Esse trabalho inclui:

  • Como definir as políticas de API
  • Como gerenciar consumidores de API
  • Gerenciar revisões e versões da API
  • Como monitorar e analisar suas APIs

Você pode executar todas essas tarefas e muito mais usando a interface de administração do Gerenciamento de API do Azure no portal do Azure. Ou usando ferramentas como a CLI do Azure ou Azure PowerShell. Além de permitir definir políticas de API (como você aprendeu na unidade anterior), a interface de administração permite que você execute as seguintes tarefas:

  • Definir e importar especificações de API. Importe uma especificação OpenAPI, uma API REST, uma API SOAP (Simple Object Access Protocol) (que você pode converter opcionalmente em REST), uma API WebSocket ou uma API do GraphQL. Você também pode criar uma API importando instâncias dos seguintes serviços do Azure: Aplicativo Web, Aplicativo de Contêiner, Aplicativo de Funções, Aplicativo Lógico e Service Fabric. Você também pode criar uma API em branco e defini-la manualmente.
  • Gerenciar usuários e grupos.
    • Um usuário é uma conta de desenvolvedor. É uma conta para um consumidor de API. Você pode adicionar usuários manualmente ou convidar usuários para criar uma conta, mas a maioria dos usuários cria as próprias contas usando o portal do desenvolvedor.
    • Um grupo é uma coleção de usuários relacionados. Você pode associar um grupo a um produto de API específico e, assim, cada usuário nesse grupo tem acesso ao produto no portal do desenvolvedor.
  • Empacotar APIs em produtos. No Gerenciamento de API do Azure, um produto é um grupo de APIs relacionadas. Ao empacotar várias APIs como um só produto, você pode configurar apenas o produto em vez de configurar todas as APIs separadamente. Por exemplo, defina limites de taxa e outras políticas, estabeleça termos de uso, adicione grupos e assim por diante. Essa configuração é aplicada a todas as APIs no produto. Depois que você publicar o produto, os consumidores podem assiná-lo e usar suas APIs com uma chave de assinatura única.
  • Gerencie as revisões e as versões da API. Quando sua equipe de desenvolvedores precisar fazer alterações em uma API, exponha a alteração de uma forma segura e controlada que não afete negativamente os consumidores usando revisões e versões:
    • Uma revisão é uma alteração relativamente secundária ou sem interrupção em uma API. Sua equipe de desenvolvimento pode codificar e testar a revisão separadamente da API de produção, como na imagem a seguir. Quando sua revisão estiver pronta para consumidores, use a interface de administração do Gerenciamento de API do Azure para definir a API atualizada como a revisão atual.
    • Uma versão é uma alteração relativamente importante ou interruptiva de uma API. O Gerenciamento de API do Azure permite que você ofereça aos desenvolvedores várias versões da API simultaneamente. Ele também oferece vários esquemas de versão, incluindo o controle de versão baseado em caminho, baseado em cabeçalho e baseado em cadeia de caracteres de consulta.
  • Monitore e analise APIs. A interface de administração inclui ferramentas integradas de monitoramento que permitem rastrear e revisar o tráfego de API em tempo real e analisar insights sobre como os consumidores estão usando suas APIs publicadas. O Gerenciamento de API do Azure também dá suporte a várias ferramentas do Azure para monitorar APIs e executar cargas de trabalho de análise. Os serviços do Azure com suporte do Gerenciamento de API do Azure incluem Logs do Azure Monitor, Application Insights e Hubs de Eventos.

Representação de como as revisões funcionam no Gerenciamento de API do Azure. As solicitações de API dos consumidores são encaminhadas para a revisão atual da API, enquanto as solicitações de API da equipe de desenvolvimento local são encaminhadas para a revisão da API.

Como o Gerenciamento de API do Azure funciona para desenvolvedores de aplicativos

Exceto para a camada Consumo, todas as instâncias do Gerenciamento de API do Azure incluem um portal do desenvolvedor em que você revela suas APIs para consumidores de API potenciais e existentes. O portal do desenvolvedor vem com uma interface padrão personalizável para corresponder à identidade visual e aos requisitos da sua organização.

Os desenvolvedores de aplicativos com contas de desenvolvedor entram no portal do desenvolvedor (que também aceita usuários convidados que ainda não têm uma conta). Em seguida, os desenvolvedores são apresentados a uma interface da Web que permite que eles interajam com APIs das seguintes maneiras:

  • Acessando a documentação de API. Os desenvolvedores podem examinar a documentação que você forneceu para cada API.
  • Testando uma API. O portal do desenvolvedor oferece um console interativo que permite que um desenvolvedor teste uma API de maneira rápida e segura. O desenvolvedor pode escolher uma operação de API, adicionar valores de parâmetro e enviar a chamada para determinar qual resposta a API retorna.
  • Revendo exemplos de código da API. O portal do desenvolvedor oferece exemplos de chamada à API em várias linguagens de programação, como C#, Java, JavaScript, PHP e Python.
  • Assinando uma API. Quando um consumidor decide usar sua API, o portal do desenvolvedor permite que o usuário crie uma assinatura para a API e obtenha uma chave de assinatura a ser usada ao chamar a API.
  • Executando análises. O portal do desenvolvedor oferece análises sobre o uso de uma API pelo desenvolvedor.