Quando usar o Gerenciamento de API do Azure

Concluído

Agora, vamos discutir alguns cenários que ilustram quando é apropriado usar o Gerenciamento de API do Azure. Usando como exemplo o serviço de entrega de comida, investigaremos o gerenciamento do ciclo de vida da API em relação à padronização, à centralização do gerenciamento, à exposição e ao aprimoramento da segurança da API. Podemos usar os critérios a seguir para ajudar você a decidir se o Gerenciamento de API do Azure é uma opção adequada para gerenciar e publicar o inventário de APIs da sua organização:

Critérios de decisão

Critérios Análise
Número de APIs A principal consideração é o número de APIs que você gerencia. Quanto mais APIs você tiver implantadas, maior a necessidade de padronização e centralização da implantação do controle de API.
Taxa de alterações de API A próxima consideração é a taxa na qual sua organização implementa revisões e versões de API. Quanto mais rápido você criar revisões de API e publicar novas versões de API, maior será a necessidade de um sistema de controle de versão robusto e flexível.
Carga de administração de API A última consideração é a quantidade de sobrecarga de política que você aplica às suas APIs. Isso inclui cotas de uso, limites de taxa de chamada, transformações de solicitação e validação de solicitação. Quanto mais configurações e opções suas APIs exigirem, maior é a necessidade de implementações de políticas padronizadas e centralizadas.

Aplicar os critérios

O Gerenciamento de API do Azure é a opção correta para gerenciar APIs por meio de seus ciclos de vida quando você tem uma implantação de API grande que é alterada com frequência e que exige sobrecarga de política significativa. No entanto, esses critérios não se aplicam igualmente a todos os casos de uso. Vamos considerar como esses critérios se aplicam aos casos de uso de nosso cenário.

Você deve usar o Gerenciamento de API do Azure para padronizar APIs?

Ao habilitar o gerenciamento de várias APIs por meio de uma só interface administrativa, o Gerenciamento de API do Azure facilita a criação de suas APIs. Você pode padronizar muitos recursos de API, incluindo:

  • Especificações. Padronizar especificações de API, como usar REST para todas as APIs e usar um esquema de nomenclatura consistente para pares nome-valor JSON, reduz o tempo de desenvolvimento, diminui erros e permite que sua organização responda mais rapidamente às sugestões de clientes e às forças do mercado.
  • Documentação. A documentação de padronização da API permite que os desenvolvedores comecem a trabalhar rapidamente com uma API. Ela também reduz as consultas de suporte técnico e incentiva os desenvolvedores a usarem mais das suas APIs.
  • URLs. Padronizar a URL base das suas APIs reduz os erros do consumidor e dá às suas implantações de API uma aparência mais profissional.
  • Análise. A padronização da análise de API permite que equipes de gerenciamento e engenheiros comparem o uso e o desempenho entre várias APIs.
  • Regulamentos. Para APIs que devem atender às regras e regulamentos do governo ou do setor, a padronização ajuda a garantir a conformidade entre todas as APIs.

Várias APIs com diferentes configurações são importadas para o Gerenciamento de API do Azure. Quando saem do Gerenciamento de API, elas têm as configurações padronizadas.

Na maioria dos casos, a necessidade de padronização se expande conforme:

  • O número de APIs aumenta.
  • A taxa em que as APIs são revisadas aumenta.
  • A carga de administração da API cresce.

Essa necessidade é real para o cenário da plataforma de entrega de comida, que exige consistência entre as APIs para o aplicativo móvel, o aplicativo Web e o restaurantes do parceiro.

Você deve usar o Gerenciamento de API do Azure para centralizar as operações de API?

O Gerenciamento de API do Azure aprimora a centralização de todas as operações de AP ao colocar várias APIs sob um ponto administrativo único. Sem um serviço de gerenciamento de API, cada API funciona independentemente em termos de administração, implantação e acesso do desenvolvedor. Esse modelo descentralizado geralmente resulta em esforços duplicados e maior sobrecarga. A centralização das operações de API pode resultar nos seguintes benefícios:

  • Administração. Aplique operações administrativas – como a criação de políticas, o gerenciamento de usuários e análises – em uma só localização, como a interface administrativa fornecida pelo Gerenciamento de API do Azure. Torna a execução dessas tarefas mais simples e eficiente.
  • Implantação. Encaminhe todas as solicitações de API por meio de uma só URL base, como o ponto de extremidade criado pelo gateway de Gerenciamento de API do Azure. A centralização da implantação torna mais fácil impor políticas e aplicar transformações.
  • Acesso de Desenvolvedor. Centralize todos os recursos de desenvolvedor – como documentação, exemplos de código, testes e assinaturas – em uma só localização, como o portal do desenvolvedor no Gerenciamento de API do Azure. Com a centralização do acesso dos desenvolvedores, eles encontram e usam com facilidade as sua APIs.

As eficiências que se acumulam pela centralização de operações de API tendem a aumentar com o número de APIs e com o tamanho da carga administrativa geral que você impõe às suas APIs. Ter APIs centralizadas é de grande ajuda quando as APIs são atualizadas com frequência, pois habilita um esquema de controle de versão para todos os produtos.

Todos esses fatores se aplicam fortemente ao nosso cenário de plataforma de entrega de comida. Por exemplo, o acesso do consumidor centralizado no portal do desenvolvedor facilita a inscrição de novos desenvolvedores, o que melhora a monetização das APIs da plataforma.

Você deve usar o Gerenciamento de API do Azure para proteger o acesso às suas APIs?

O Gerenciamento de API do Azure foi projetado com a segurança de API em mente. Muitas organizações dependem de APIs para a troca interna e externa de dados entre aplicativos e dispositivos. Uma abordagem descuidada ou inconsistente para a segurança é uma maneira de buscar problemas. Uma estratégia de segurança de API adequada abrange as seguintes bases:

  • Permissões. Controle quem pode trabalhar com uma API e o que podem fazer com ela. No Gerenciamento de API do Azure, ter todos os seus consumidores de API como usuários e ser capaz de organizar esses usuários em grupos torna mais fácil e mais eficiente aplicar permissões para controlar o acesso à API.
  • Acesso. Permita que somente usuários autorizados enviem solicitações. Com o Gerenciamento de API do Azure, o portal do desenvolvedor fornece aos usuários chaves de assinatura e você pode restringir o acesso a APIs usando várias formas de autenticação e tokens Web JSON.
  • Proteção. Proteja a API contra o uso mal-intencionado. O Gerenciamento de API do Azure permite que você restrinja o acesso à API usando limites de taxa e cotas de uso para ajudar a evitar o uso indevido do consumidor (intencional ou acidental) da API.
  • Conformidade. Verifique se as suas APIs atendem a todas as políticas de segurança corporativas ou governamentais. Ter todas as suas APIs reunidas no Gerenciamento de API do Azure facilita a configuração dessas APIs com políticas de segurança que apresentam conformidade.

Quanto mais APIs você gerenciar, maior será a necessidade de segurança. Ter um número maior de APIs aumenta a superfície de ataque e o risco de violações ou vazamentos de dados acidentais. Além disso, quanto mais vezes você revisar suas APIs, maior será a chance de que uma revisão ou nova versão possa revelar uma falha de segurança.

Essas questões de segurança são fundamentais em nosso cenário de entrega de comida. Nossa plataforma gera e armazena uma grande quantidade de dados confidenciais, incluindo pagamentos a restaurantes, nomes e endereços de clientes e locais do veículo de entrega.