Escolha uma Página

No último dia 24/05/2016 tive a oportunidade de palestrar na Universidade FUMEC. O assunto? Azure API Management.

Conheci o Azure API Management em um projeto desafiador e a experiência foi ótima. Na palestra abordamos temas importantes da ferramenta mas e todo o conceito que a envolve.

API Gateway

O API Gateway é, basicamente, uma interface que recebe chamadas para seus serviços internos. É praticamente uma grande porta de entrada para o nosso negócio.

Em uma simples analogia, podemos entender nossos serviços como os restaurantes disponíveis em um shopping. Cada restaurante nos fornece algum tipo de comida, assim como os serviços nos fornecem alguma saída. O Garçom é uma interface que recebe as chamadas dos clientes, no caso, um cliente faminto. Então, o garçom leva o pedido ao balcão, que representa o Gateway, e este irá redirecionar os pedidos às cozinhas específicas para que os alimentos sejam produzidos. A imagem abaixo representa graficamente esta prática:

 

O interessante é que a chamada para algum recurso é feita por uma interface única e o Gateway tem a responsabilidade de distribuir esta solicitação do requisitante em um ou vários serviços, dependendo da necessidade negocial. É fácil imaginar como seria este conceito quando efetuamos o pagamento de um item que compramos em uma loja online. Ao solicitar efetuar o pagamento, a requisição é feita, por exemplo, para um serviço de “EfetuarPagamento”. Mas “por baixo dos panos” muitos outros serviços são requisitados, como o de “Pagamento”, “BaixarEstoque”, etc…

Com API Gateway temos benefícios como:

  • Filtro para o tráfego das chamadas de diferentes clients(web, mobile, cloud);
  • Centralização das chamadas através de uma única interface;
  • Melhor segurança;
  • Simplicidade para o solicitante do recurso; entre outros benefícios.

API Management


Outro conceito importante que foi discutido foi o de API Management. Disponibilizar um endpoint da API não é suficiente. Além disso, deve-se disponibilizar sua documentação, efetuar controles de chamada, obter relatórios de utilização, gerir a própria disponibilização da API.

O objetivo do API Management é, justamente, prover todo um cenário onde controlamos tudo o que é feito com nossas APIs, como relatórios de auditoria, os usuários que estão utilizando, aplicações, além de prover ambiente de testes, depuração e muito mais. É muito importante para manter total controle do seus recursos.

Na união dos dois conceitos, Gateway e Management, há um ambiente mais complexo porém robusto tanto para disponibilização de recursos quanto para monitoramento dos mesmos.

Azure API Management

Obviamente que existem inúmeras formas de prover um Gateway e um Management utilizando várias ferramentas de mercado, gratuitas ou não. É interessante contar com um serviço na nuvem para aumentar as possibilidades da solução, como escalabilidade, disponibilidade e outras características importantes.

Então uma ótima solução que a Microsoft nos disponibiliza é o Azure API Management.

 

Fonte: https://azure.microsoft.com/en-us/services/api-management/

Como podemos observar na imagem acima, o Azure API Management disponibiliza tudo em um só lugar. Esta poderosa ferramenta nos permite utilizar todo o potencial do Gateway e do Management de forma escalável e com muito mais recursos. Dentre os principais:

  • Developer portal – um portal da sua API, totalmente customizável
  • Publisher portal – um portal de gerenciamento de suas APIs, muito detalhado, onde além de expor os recursos, existe a possiblidade de gerenciar as políticas, prover produtos(limite de requisições), compor serviços, gerenciar usuários, etc. É totalmente integrado ao Developer Portal
  • Gateway – a interface de entrada para os recursos

Essas são apenas algumas das possibilidades ao se utilizar o Azure API Management.

Agradecimentos

Agradeço a todos que compareceram na palestra e também a todos os que facilitaram tanto a disponibilização da data, quanto ao auditório. Obrigado a Todos, sem exceção. Um agradecimento especial à Universidade FUMEC por mais uma vez ceder este espaço maravilhoso.

Muito obrigado.

Referências

https://azure.microsoft.com/en-us/services/api-management/
https://azure.microsoft.com/en-us/pricing/
https://docs.microsoft.com/en-us/azure/api-management/

Grande abraço a todos.