O Azure Application Gateway é um balanceador de carga na camada de aplicação para aplicativos web, direcionando o tráfego com base em critério como endereço IP e porta, diferenciando-se dos load balancers tradicionais que operam na camada de transporte.
Por fazer parte da camada de aplicação, o Azure Application Gateway consegue tomar decisões de roteamento com base em atributos adicionais de uma solicitação HTTP, como o caminho do URI ou os cabeçalhos de host.
Mas o que isso quer dizer?
Torna-se possível direcionar o tráfego para um conjunto específico de servidores (pool) dependendo da URL de entrada, conforme ilustrado na imagem abaixo ao acessar https://viniciusdeschamps.com.br/images ou /videos, o usuário será redirecionado para servidores otimizados para fornecer o recurso selecionado.
Além disto, o Azure Application Gateway possui recursos importantes (para lista completa confira aqui:
- Terminação do protocolo SSL/TLS
- Este recurso permite que os servidores web sejam aliviados da tarefa de criptografia e descriptografia, além de fornecer suporta encriptação SSL/TLS de ponta a ponta
- Dimensionamento automático
- A partir do SKU Standard v2, é possível utilizar o recurso de dimensionamento automático, fazendo com que o Application Gateway possa aumentar ou diminuir com base nas mudanças nos padrões de tráfego
- Web Application Firewall
- Oferece proteção centralizada para seus aplicativos web, defendendo-os contra vulnerabilidades.
- WAF utiliza regras provenientes dos conjuntos de regras do Open Web Application Security Project (OWASP)
- Hospedagem de vários sites
- Permite que você configure o direcionamento do tráfego baseado no hostname ou domínio
- viniciusdeschamps.com.br, azurefloripa.com.br vão estar apontando para o IP do mesmo Azure Application Gateway, porém terão diferentes listeners configurados, o que irá fazer com que o tráfego seja direcionado para o backend pool do site correto
- Session Affinity
- Através do Session Affinity todo o tráfego e solicitações subsequentes de uma sessão do cliente, será sempre para o mesmo servidor no backend pool
- Connection draining
- Permite que você remova membros do backend pool durante uma atualização de serviço planejada
- Garante que as instâncias removidas não recebam novas solicitações/conexões, mantendo as conexões existentes até o valor de tempo limite configurado
Referências:
Deixe um comentário