Introdução ao Azure Traffic Manager
No post Usando ASP.NET Core na Nuvem eu mostrei como criar e publicar uma aplicação ASP.NET Core na nuvem através do serviço Azure AppService. A aplicação foi publicada em 3 datacenters de localidades diferentes, sendo: Brasil, Estados Unidos e Europa, visando alta disponibilidade.
Ao publicar em 3 continentes diferentes, eu consigo melhorar o desempenho ao reduzir a latência dos acessos a minha aplicação. Por exemplo, o desempenho será melhor para os usuários de US se eles acessarem a aplicação hospedada em US ao invés da aplicação hospedada na Europa ou Brasil.
No post anterior, a aplicação foi publicada e exposta através das seguintes URLs:
- MyAppOnCloudBR.azurewebsites.net
- MyAppOncloudUS.azurewebsites.net
- MyAppOnCloudEU.azurewebsites.net
Para garantir que os usuários acessem as aplicações dos sites com melhor tempo de resposta (latência), e também para poder automatizar a alta disponibilidade caso algum dos sites ficarem indisponíveis, eu vou usar o Azure Traffic Manager.
O Azure Traffic Manager é um serviço de load balance que permite configurar um DNS e, por exemplo, definir uma regra que de tempos em tempos verifica qual é a melhor latência e redireciona os acessos à aplicação para o site de melhor desempenho.
Para configurar, acesse o Portal do Azure e crie um novo Traffic Manager através do botão New.
Clique no botão Criar. Na tela a seguir, informe o nome da aplicação. Essa URL será a URL do balanceador. Escolha o método de balanceamento. Eu escolhi Performance, pois quero que os usuários sejam direcionados para o site de menor latência. E informe qual é o Resource Group que contém a sua aplicação.
O próximo passo é criar os endpoints, ou seja, informar quais são os sites (URLs) da sua aplicação. Para adicionar os endpoints, clique no botão Add:
No primeiro endpoint eu informei o nome BR e apontei para a aplicação do Brasil (myapponcloudbr).
Eu tive que repetir duas vezes esse procedimento para configurar os endpoints de US e EU.
No post anterior, eu usei o plano Free para hospedar a minha aplicação nos datacenters. Acontece que o plano free não me dá direito ao uso do traffic manager, nesse caso, eu tive que alterar o plano para o Standard 1 Small. Para realizar a troca, eu cliquei em cada um dos AppServices, cliquei no App Service plan e Scale Up (App Service plan) , conforme a seguir:
Após trocar os planos, os meus 3 endpoints ficaram habilitados e online conforme:
Uma vez que o traffic manager foi configurado, agora os acessos a minha aplicação passam a ser realizados através da URL myapponcloud.trafficmanager.net ao invés das URLs individuais para cada datacenter.
Espero que tenham gostado.