O que é o Gerenciamento de API do Azure?
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
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: