O que é a Gestão 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 ajudá-lo a decidir se o Gerenciamento de API do Azure pode ser uma solução adequada para reduzir a complexidade da API da sua empresa.

O que é o gerenciamento do ciclo de vida da API?

O gerenciamento do ciclo de vida da API é o processo de administrar uma API durante toda a sua vida útil, desde seu design e criação até sua obsolescência e desativação. Para os fins deste módulo, retomaremos depois que suas APIs já tiverem sido projetadas, codificadas e implantadas. Vamos nos concentrar no restante das tarefas de gerenciamento do ciclo de vida da API, que incluem:

  • Fornecimento de documentação de API, testes e exemplos de código.
  • Usuários onboarding e off-boarding.
  • Gerenciamento de assinaturas de API e distribuição de chaves de assinatura.
  • Implementação de revisões de API de forma controlada e segura.
  • Gerenciando várias versões de uma API.
  • Implementação de controles de acesso à API, como limites de autenticação e taxa de chamada.
  • Fornecendo relatórios de API para uso, erros e assim por diante.
  • Gerenciando análises para sua empresa e para os desenvolvedores que usam as APIs.

Definição de Gerenciamento de API do Azure

O Gerenciamento de API do Azure é um serviço de nuvem que oferece uma plataforma para publicar, proteger, manter e analisar 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 programador

Os principais componentes do Gerenciamento de API do Azure incluem a interface de administração, o gateway e o portal do desenvolvedor.

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 uma espécie de fachada ou "porta de entrada" para suas APIs. Dessa forma, o Gerenciamento de API do Azure separa suas APIs permitindo que você defina políticas de API e outras opções de gerenciamento no Azure, deixando suas APIs de back-end implantadas intocadas.

Gateway

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

  • Verifica as chaves de assinatura da API e outras credenciais.
  • Impõe as suas quotas de utilização e limites de taxa.
  • Transforma a API conforme necessário para compatibilidade de back-end.
  • Encaminha cada chamada para seu servidor back-end apropriado.
  • Armazena em cache as respostas de back-end.
  • Coleta metadados de 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 permitem administrar seu serviço e suas APIs. Além de provisionar, dimensionar e monitorar o serviço, você usa a interface administrativa para:

  • Definição ou importação de especificações de API
  • Implementação de políticas de uso, como cotas e limites de taxa
  • Definição de políticas de segurança
  • Gerir utilizadores
  • APIs de empacotamento em produtos
  • Definindo transformações de API
  • Gerenciando revisões e versões da API
  • Executando análises em seus metadados de API

Portal do programador

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

  • Revisão da documentação de cada API.
  • Tentando uma API usando o console interativo.
  • Revisão de exemplos de código em diferentes linguagens de programação.
  • Subscrever uma API e obter uma chave de subscrição da API.
  • Execução de análises sobre o uso do desenvolvedor.

Camadas de Gerenciamento de API do Azure

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

Critérios Consumo Programador Básica Standard Premium
Concebido para Utilização leve Avaliação, teste e outros usos não relacionados à produção Uso de produção de nível básico Utilização de produção de volume médio Uso de produção empresarial ou de alto volume
Cache Apenas externo 10 megabytes (MB) 50 MB 1 gigabyte (GB) 5 GB
Contrato de nível de serviço (SLA) 99,95% Nenhuma 99,95% 99,95% 99,99%
Portal do programador Não Sim Sim Sim Sim
Análise integrada Não Sim Sim Sim Sim
Taxa de transferência (solicitações estimadas/seg) N/A 500 1,000 2500 4,000

Nota

O preço para o nível de consumo é por chamada de API, onde o primeiro milhão de chamadas são gratuitas e o restante é cobrado a uma taxa fixa por 10.000 chamadas. O preço para todos os outros níveis é por hora.

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

Um dos maiores problemas de 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 de API permitidas de uma única fonte em um determinado período de tempo), inclua esse limite como parte das políticas para uma API. Um limite de taxa é apenas um exemplo, mas existem inúmeras políticas que você pode aplicar. Multiplique isso por várias APIs diferentes e você terá um pesadelo de gerenciamento.

O Gerenciamento de API do Azure resolve o problema da política de API permitindo que você defina políticas para todas as suas APIs em um único local, 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 quando uma solicitação de API é permitida por meio do gateway. Por exemplo, imponha limites de taxa e cotas de uso, filtre IPs de chamadores e verifique se há um JSON Web Token (JWT) válido.
  • Autenticação. Autentique chamadas de API, por exemplo, usando a autenticação Básica, um certificado de cliente ou uma identidade gerenciada.
  • Armazenamento em cache. Melhore o desempenho da API armazenando e recuperando respostas no cache.
  • Validação. Valide chamadas de API comparando determinados parâmetros com o que está na sua especificação de API. Por exemplo, valide o corpo da solicitação ou resposta, os parâmetros do cabeçalho da solicitação e os cabeçalhos de resposta.

Combine de forma flexível suas políticas em definições de política, que são documentos XML que consistem em uma série de instruções, cada uma das quais representa uma política e seus 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 solicitação de API de um consumidor entra no gateway de Gerenciamento de API do Azure onde passa pelas políticas de entrada antes de ser enviada ao servidor back-end. Em seguida, a resposta da API passa pelas políticas de saída do gateway antes de ser enviada ao consumidor da API de origem.