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.

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.

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.

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.

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.

Um nos Estados Unidos.

E o outro no Brasil

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

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.

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

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

PRONTO!

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

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

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

E a do Brasil, acessa o site do Brasil.

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!

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.