Gerenciador de Tráfego do Azure

Imagine uma estrutura de nuvem mantém um aplicativo Web, que tem usuários espalhados em diversos locais do mundo. Nossa missão é garantir que a aplicação tenha um SLA de no mínimo 99,9% de disponibilidade.
Além de todos esses requisitos acima, também é necessário que os usuário de diversos pontos do mundo tenham a melhor experiência possível ao utilizar o aplicativo.
Com certeza podemos pensar em várias soluções, para atender esta demanda, porém neste artigo vou tratar o Gerenciado de Tráfego no Azure.

Bora conhecer esse recurso??

Gerenciador de Tráfego

O Gerenciador de Tráfego do Azure, basicamente é um balanceador de carga, porém o gerenciamento é baseado consultas de DNS. Dessa forma é possível distribuir o tráfego de rede respeitando uma série de regras que podem direcionar o tráfego de rede para diferentes regiões do Azure.

É possível obter alta disponibilidade com opções de failover automático, aumento de capacidade de resposta de um aplicativo aproveitando o melhor desempenho de roteamento, combinação de sistemas locais e em nuvem e muito mais.

Como funciona o Gerenciador de Tráfego

Quando um cliente tenta se conectar ao aplicativo através de um nome (DNS), o Gerenciador de Tráfego usa o DNS para encaminhar a solicitação do cliente diretamente para o ponto de extremidade que melhor atende a solicitação baseado nas regras pré-definidas.

Como o Gerenciamento de tráfego não é um gateway ou um proxy a requisição é redirecionada diretamente no aplicativo ou serviço publicado.

Ponto de extremidade

O ponto de extremidade é a nomenclatura que a Microsoft utiliza para definir o endereço que é retornado para cada nova requisição.

O Gerenciamento de Tráfego, tem 3 tipos de pontos extremidades.

Ponto de extremidade do Azure: É usado para os serviços hospedados no Azure. Exemplo: Serviços de Aplicativos, IP Públicos, VMs, Load Balancers, etc

Ponto de extremidade externo: É usado para serviços hospedados fora do Azure, Exemplo: IPv4/IPv6, FQDN, etc.

Ponto de extremidade aninhados: Este ponto de extremidade é utilizado para combinar perfis de Gerenciamento de Tráfego, para criar esquemas de roteamento mais granularizados.

Métodos de Roteamento

Como mencionei anteriormente, o Gerenciado de Tráfego do Azure tem suporte a diferentes métodos de roteamento de tráfego, permitindo que o uso do recurso seja adaptado da maneira que melhor pode atende a necessidade do ambiente.

Abaixo vou detalhar os seis tipos diferentes de métodos de roteamento oferecidos.


Roteamento ponderado

Vamos utilizar o roteamento ponderado se o objetivo for distribuir o tráfego entre 2 ou mais pontos de extremidade de forma equilibrada ou de acordo com pesos diferentes que podem ser definidos conforme a capacidade de cada ponto de extremidade.
O peso pode ser definido através de uma “pontuação” que vai de 1 a 1000.

Toda vez que uma consulta DNS é recebida o Gerenciador de Tráfego trata de distribuir a requisição aleatoriamente entre os pontos de extremidade disponíveis, essa distribuição baseia-se nos pesos atribuídos.


Roteamento por desempenho

O roteamento por desempenho é mais indicado para utilização quando nosso ambiente possui pontos de extremidade provisionados em regiões geográficas diferentes.

Este método é muito interessante, pois através de uma tabela de latência da internet, o Gerenciador de Tráfego consegue direcionar a solicitação para o ponto de extremidade com maior desempenho, para isso é utilizada a tabela de latência em conjunto com a localização geográfica que originou a pesquisa de DNS.

Quando uma requisição é processada, o Gerenciador de Tráfego analisa a localização do usuário, e com base na tabela de latência para redirecionar a requisição ao ponto de extremidade com a menor latência possível.


Roteamento geográfico

Este método pode ser o mais indicado para o cenário que descrevi lá na introdução do artigo.

Quando temos uma ambiente distribuído em vários locais do mundo, provavelmente vamos necessitar que a nossa aplicação se comporte com algumas particularidades em cada região, seja para atender uma necessidade de compliance local, layout personalizado, o idioma, etc…

E através do roteamento geográfico, podemos criar regras que delimitam o tráfego direcionando a solicitação para o ponto de extremidade definido baseado na região geográfica que originou a solicitação.

Em alguns países o recurso é tão completo que podem ser criadas regras baseadas em estados ou províncias.


Roteamento de vários valores

No roteamento de vários valores, podemos obter respostas a uma consulta de DNS, vários pontos de extremidade íntegros e ativos. Utilizando este modelo de roteamento, podemos observar um aumento na disponibilidade do serviço, além da redução da latência.


Roteamento de sub-rede

Quando falamos em roteamento de sub-rede, podemos identificar alguma semelhança com o método de Roteamento geográfico. Porém  no método de sub-rede é possível definir experiência de uso ou acessos diferente para usuários que se conectem através um determinado range de sub-rede.

Podemos por exemplo definir que todo tráfego de uma unidade da empresa sejam encaminhadas para um site secundário enquanto a matriz utiliza um ponto de extremidade diferente.


Roteamento de prioridade

E por fim, chegamos ao método de roteamento de prioridade, neste método, adicionamos uma lista com todos os pontos de extremidade disponíveis em nosso ambiente e com um nível de prioridade para cada item desta lista.

O Gerenciador de Tráfego irá se encarregar de entregar as solicitações de DNS para o ponto de extremidade primário, ou seja, o ponto de extremidade com prioridade mais alta. Se em algum momento este ponto de extremidade não estiver disponível, o Gerenciador de Tráfego irá rotear as solicitações para o próximo ponto de extremidade disponível.

Neste método de roteamento, é necessário observar o status e o monitoramento de cada ponto de extremidade, pois estes dois fatores irão determinar se o ponto de extremidade está ou não disponível.


Se você gostou do Gerenciador de Tráfego e quer ver ele funcionando na prática, logo abaixo vou deixar a gravação de uma Live que eu fiz, mostrando o passo a passo para a configuração do Gerenciador de Tráfego.

No vídeo eu explico como configurar um Gerenciador de Tráfego e como utilizar os principais métodos de roteamento disponíveis.

Se você gostou deste conteúdo, tem alguma dica, dúvida ou recomendação de conteúdo, deixe o seu comentário abaixo!!!!

Que a força esteja com você!!!

Share

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    © 2019 All Rights Reserved. Cooperati.