O que é o Gerenciamento de API do Azure?

Concluído

Vamos começar com uma visão geral rápida do Gerenciamento de API do Azure e seus principais recursos. Esta visão geral deve ajudar você a decidir se o Gerenciamento de API do Azure pode ser uma solução adequada para reduzir a complexidade de API da sua empresa.

O que é gerenciamento do ciclo de vida da API?

O gerenciamento do ciclo de vida da API é o processo de administrar uma API durante todo o seu tempo de vida, desde o design e a criação até a obsolescência e a desativação. Para os fins deste módulo, vamos partir do ponto em que suas APIs já foram criadas, codificadas e implantadas. Vamos nos concentrar no restante das tarefas de gerenciamento do ciclo de vida da API, que incluem:

  • Fornecer documentação, testes e exemplos de código da API.
  • Integrar e desintegrar usuários.
  • Gerenciar assinaturas e a distribuição de chaves de assinatura da API.
  • Implementar revisões da API de maneira controlada e segura.
  • Gerenciar várias versões de uma API.
  • Implementar controles de acesso à API, como autenticação e limites de taxa de chamada.
  • Fornecer relatórios de uso e de erros da API, entre outros.
  • Gerenciar análises para sua empresa e para os desenvolvedores que usam as APIs.

Definição do Gerenciamento de API do Azure

O Gerenciamento de API do Azure é um serviço de nuvem que fornece uma plataforma para publicação, segurança, manutenção e análise de todas as APIs da sua empresa. O Gerenciamento de API do Azure realiza essas tarefas oferecendo três componentes principais:

  • Gateway
  • Interface de administração
  • Portal do desenvolvedor

The main components of Azure API Management include the administration interface, gateway, and developer portal.

Importante

O Gerenciamento de API do Azure não hospeda suas APIs reais; suas APIs permanecem onde foram originalmente implantadas. Em vez disso, o Gerenciamento de API do Azure atua como um tipo de fachada ou "front door" para suas APIs. Dessa forma, o Gerenciamento de API do Azure serve para separar suas APIs, deixando você definir políticas de API e outras opções de gerenciamento no Azure, enquanto suas APIs de back-end implantadas permanecem inalteradas.

Gateway

O gateway do Gerenciamento de API do Azure é um ponto de extremidade do Azure que aceita todas as chamadas de todas as suas APIs. O gateway:

  • Verifica chaves de assinatura de API e outras credenciais.
  • Impõe cotas de uso e limites de taxa.
  • Transforma a API conforme necessário para compatibilidade com o back-end.
  • Encaminha cada chamada para seu servidor back-end apropriado.
  • Armazena em cache as respostas do back-end.
  • Coleta metadados da chamada para cargas de trabalho de análise.

Interface de administração

A interface de administração do Gerenciamento de API do Azure é um conjunto de páginas e ferramentas do portal do Azure que lhe permite administrar seu serviço e suas APIs. Além de provisionar, colocar em escala e monitorar o serviço, você usa a interface administrativa para:

  • Definir ou importar especificações da API
  • Implementar políticas de uso, como cotas e limites de taxa
  • Configurar políticas de segurança
  • Managing users
  • Empacotar APIs em produtos
  • Definir transformações da API
  • Gerenciar revisões e versões da API
  • Executar análises nos metadados da API

Portal do desenvolvedor

O portal do desenvolvedor do Gerenciamento de API do Azure é um site totalmente personalizável que permite aos desenvolvedores interagirem com suas APIs por meio de:

  • Revisão da documentação de cada API.
  • Teste de uma API usando o console interativo.
  • Revisão de exemplos de código em linguagens de programação diferentes.
  • Como assinar uma API e obter a chave de assinatura dela.
  • Execução de análises sobre o uso do desenvolvedor.

Camadas do Gerenciamento de API do Azure

O Gerenciamento de API do Azure fornece várias camadas de serviço, cada qual com um conjunto distinto de recursos, capacidades e preços. A tabela a seguir lista as camadas em ordem do preço mais baixo para o mais alto e compara alguns dos principais recursos.

Critérios Consumo Desenvolvedor Basic Standard Premium
Criado para Uso baixo Avaliação, teste e outros usos que não são de produção Uso de produção de nível de entrada Uso de produção de volume médio Uso de produção de alto volume ou corporativo
Cache Apenas externo 10 megabytes (MB) 50 MB 1 gigabyte (GB) 5 GB
SLA (Contrato de Nível de Serviço) 99,95% Nenhum 99,95% 99,95% 99,99%
Portal do desenvolvedor Não Sim Sim Sim Sim
Análise integrada Não Sim Sim Sim Sim
Taxa de transferência (solicitações estimadas/s) N/D 500 1,000 2\.500 4.000

Observação

O preço da camada Consumo é determinado por chamada à API, em que o primeiro milhão de chamadas é gratuito e pelo restante é cobrada uma taxa fixa a cada 10 mil chamadas. O preço de todas as outras camadas é por hora.

Aplicar políticas a solicitações e respostas da API

Um dos maiores problemas de se ter várias APIs publicadas é que cada API requer um conjunto separado de políticas. Aqui, uma política é uma configuração ou ação que controla o comportamento da API. Por exemplo, se você quiser impor um limite de taxa (o número máximo de chamadas à API permitidas de uma só fonte em um determinado período), inclua esse limite como parte das políticas de uma API. O limite de taxa é apenas um exemplo, mas há várias políticas que você pode aplicar. Multiplique isso por várias APIs diferentes e você terá um problema de gerenciamento.

O Gerenciamento de API do Azure resolve o problema de políticas de API, permitindo que você defina políticas para todas as suas APIs em um só lugar, que é a interface de administração do Gerenciamento de API do Azure. Com o Gerenciamento de API do Azure, você pode definir políticas em muitas categorias. Uma lista parcial inclui:

  • Restrição de acesso. Essas políticas determinam onde uma solicitação de API é permitida por meio do gateway. Por exemplo, imponha limites de taxa e cotas de uso, filtre IPs de chamador e verifique se há um JWT (Token Web JSON) válido.
  • Autenticação. Autentique chamadas à API, por exemplo, usando a autenticação Básica, um certificado do cliente ou uma identidade gerenciada.
  • Cache. Aprimore o desempenho da API armazenando e recuperando respostas no cache.
  • Validação. Valide chamadas à API comparando determinados parâmetros com o que está na especificação da sua API. Por exemplo, valide a solicitação ou o corpo da resposta, os parâmetros de cabeçalho da solicitação e os cabeçalhos de resposta.

Combine de maneira flexível suas políticas nas definições de política, que são documentos XML compostos por uma série de instruções, cada qual representando uma política e os respectivos parâmetros. As definições de política permitem configurar políticas separadas em diferentes estágios do pipeline de solicitação-resposta da API:

A consumer's API request enters the Azure API Management gateway where it passes through inbound policies before being sent to the backend server. The API response then passes through the gateway's outbound policies before being sent to the originating API consumer.