Como funciona o Gerenciamento de API do Azure

Concluído

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

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

  • Consumidores de API
  • Provedores de API
  • Programadores de aplicações

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

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

  • Aplicação móvel
  • Aplicação Web
  • Dispositivo IoT

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

O gateway executa muitas tarefas do ponto de vista do consumidor, mas as seguintes são as mais importantes:

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

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

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

Se você é um provedor de API, ainda tem muito trabalho a fazer depois que suas APIs foram publicadas. Este trabalho inclui:

  • Definindo políticas de API
  • Gerenciando consumidores de API
  • Gerenciando revisões e versões da API
  • Monitoramento e análise de suas APIs

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

  • Defina e importe 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 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ção, Aplicativo Lógico e Service Fabric. Você também pode criar uma API em branco e defini-la manualmente.
  • Gerencie 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 suas próprias contas usando o portal do desenvolvedor.
    • Um grupo é uma coleção de usuários relacionados. Você pode associar um grupo a um determinado produto de API e, em seguida, cada usuário desse grupo tem acesso ao produto no portal do desenvolvedor.
  • Empacote APIs em produtos. No Gerenciamento de API do Azure, um produto é um grupo de APIs relacionadas. Ao empacotar várias APIs como um único 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, defina termos de uso, adicione grupos e assim por diante. Essa configuração é aplicada a todas as APIs do produto. Depois de publicar o produto, os consumidores podem assiná-lo e usar suas APIs com uma única chave de assinatura.
  • Gerencie revisões e versões da API. Quando sua equipe de desenvolvedores de API precisar fazer alterações em uma API, exponha a alteração de forma segura e controlada que não afete negativamente os consumidores usando revisões e versões:
    • Uma revisão é uma alteração relativamente pequena ou ininterrupta 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. Em seguida, quando sua revisão estiver pronta para os consumidores, use a interface de administração de Gerenciamento de API do Azure para definir a API atualizada como a revisão atual .
    • Uma versão é uma alteração relativamente grande ou significativa em 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 controle de versão, incluindo versionamento 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 de monitoramento integradas para rastrear e revisar o tráfego de API em tempo real e análises para obter informações 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 suportados pelo Azure API Management incluem Azure Monitor Logs, 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 de consumidores são roteadas para a revisão atual da API, enquanto as solicitações de API da equipe de desenvolvimento interna são roteadas para a revisão da API.

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

Com exceção da camada de Consumo, todas as instâncias de Gerenciamento de API do Azure incluem um portal do desenvolvedor onde você exibe suas APIs para consumidores de API potenciais e existentes. O portal do desenvolvedor vem com uma interface padrão que é personalizável para corresponder à marca e aos requisitos da sua organização.

Os programadores de aplicações com contas de programador iniciam sessão no portal do programador (que também aceita utilizadores convidados que ainda não têm uma conta). Os desenvolvedores são então apresentados a uma interface da Web que lhes permite interagir com APIs das seguintes maneiras:

  • Acesso à documentação da API. Os desenvolvedores podem revisar a documentação fornecida para cada API.
  • Testando uma API. O portal do desenvolvedor oferece um console interativo que permite que um desenvolvedor teste uma API de forma rápida e segura. O desenvolvedor pode escolher uma operação de API, adicionar valores de parâmetro e, em seguida, enviar a chamada para determinar qual resposta a API retorna.
  • Revisão de exemplos de código de API. O portal do desenvolvedor oferece exemplos de chamadas de API em várias linguagens de programação, incluindo C#, Java, JavaScript, PHP e Python.
  • Subscrever 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 para usar ao chamar a API.
  • Execução de análises. O portal do desenvolvedor oferece análises sobre o uso de uma API pelo desenvolvedor.