Apps e usuários lado a lado com Azure Traffic Manager

Esse post foi migrado do blog antigo. A publicação original foi no dia 27/05/2014

Recentemente, tive a oportunidade de palestrar na trilha de cloud computing do TDC de Floripa.

Nesse evento, eu apresentei e demonstrei uma funcionalidade MUITO legal do Azure, mas pouco conhecida: Azure Traffic Manager.

O Traffic Manager permite que você equilibre o tráfego de entrada entre os vários serviços do Azure, não importando se eles estão no mesmo data center ou em diferentes data centers ao redor do mundo.

Mas o que isso quer dizer? Bom, isso depende.

Atualmente, temos 3 maneiras de configurar o Traffic Manager.

Desempenho

Quando você configura o Traffic Manager para desempenho, o Azure vai escolher o endpoint com menor latência entre todos os endpoints disponíveis. Normalmente, é o endpoint mais perto do usuário.

Image for post

Nesse exemplo, podemos ver que cada usuário é ‘roteado’ para o data center mais próximo.

Round-Robin

Já o método round-robin, faz com que o Azure escolha endpoints aleatórios para distribuir a carga.

Image for post

Agora, podemos ver o o tráfego é distribuído aleatoriamente entre os data centers.

Failover

Por último, utilizando o método failover, nós garantimos que o app vai continuar funcionando quando seu app, no data center principal, parar de responder.

Image for post

Aqui, já podemos ver que, quando o data center primário (a ordem é configurável) tiver algum problema de disponibilidade, o Traffic Manager ‘roteia’ as requisições para os outros data centers.

Ok, me convenceu! Quero fazer isso aí!

Bom, você está no lugar certo! :) Vamos lá:

O primeiro passo é criar os sites em diferentes regiões.

Image for post

Depois, publicamos nossa aplicação nos diferentes data centers. Nesse exemplo, eu simplesmente criei 3 arquivos html diferentes e botei em cada data center.

Um no Japão.

Image for post

Um nos Estados Unidos.

Image for post

E o outro no Brasil

Image for post

Depois disso, vamos criar um perfil do Traffic Manager. Nesse exemplo, utilizei o método de balanceamento de desempenho.

Image for post

Logo após a criação, você já tem um dns disponível para acesso (luis.trafficmanager.net — você pode configurar seu domínio também).

Por enquanto, seu perfil vai estar inativo. Isso acontece porque não existe nenhum endpoint (ponto de extremidade) associado ao perfil. Vamos resolver isso e adicionar os endpoints.

Image for post

No meu exemplo, estou usando Azure Web Site, mas isso funciona com Cloud Services (Serviços de nuvem) também.

Image for post

Depois de escolher os endpoints desse perfil, basta confirmar e, rapidamente, já podemos ver os endpoints funcionando.

Image for post

PRONTO!

Fácil né? Para validar que tudo funcionou, eu criei 3 máquinas virtuais nos mesmos data centers dos sites.

Image for post

A do Japão, acessa o site do japão.

Image for post

A dos Estados Unidos, acessa o site dos Estados Unidos.

Image for post

E a do Brasil, acessa o site do Brasil.

Image for post

Curtiu? Você acabou de escalar seu app globalmente com alguns cliques, melhorando a performance e responsividade para seus usuários.

Os slides da palestra estão aqui. Nesse repositório, tem também um vídeo do processo inteiro. Fiz o vídeo pra evitar o #FAIL de não mostrar a demo se não tivesse internet no evento. Por sorte, a internet de 100mb estava muito boa.

É isso aí! Espero que aproveitem essa dica!

É isso aí! Espero que aproveitem essa dica!

Luís Rudge é pai e desenvolvedor há anos. Trabalha na Round Pegs Inc & seu projeto pessoal http://www.uniclearning.com.br/ — hospedado inteiramente no Azure

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store