Novo conceito implementado no WAF da XLabs e já em funcionamento em alguns de nossos clientes que necessitam de uma alta disponibilidade em seus ambientes e aplicações web: Fail-Over e Balancer.
Muitas empresas ainda possuem sistemas próprios, servidores próprios e hospedados em seus próprios ambientes, infraestrutura própria, links de internet de provedores etc. E como sabemos, mesmo contratando um link dedicado de internet, seja de qualquer provedor, não estamos imunes a imprevistos.
A quebra ou rompimento de fibras, queima de equipamentos, queda de luz e muitos outros fatores podem impactar a saúde de um link dedicado a atender uma aplicação web de alta complexidade ou criticidade, como em caso de hospitais onde um sistema de exames indisponível por horas devido a um rompimento de fibra ou falha de hardware de rede, por exemplo, pode impactar diretamente vidas que estejam passando por alguma emergência.
Nasce a Fail-Over da XLabs
Diante da necessidade de alguns de nossos clientes, incluindo um grupo hospitalar que atendemos e um dos maiores portos da América Latina, que não pode parar as exportações e importações que passam por ele, nossos especialistas desenvolveram um serviço integrado ao nosso WAF (Web Application Firewall) e a nossa CDN (Content Delivery Network) apelidado de Fail-Over, ou zona de failover.
Essa integração nos dá a capacidade de fazer a verificação da saúde de links, servidores e aplicações e escolher a melhor rota ou servidor a ser acessado, acrescentando a capacidade de alta disponibilidade aos clientes em suas aplicações web e websites hospedados “on premise” ou não, no nosso plano “Empresarial Plus” de WAF e CDN.
Para entender melhor o funcionamento da nossa Fail-Over elaboramos pequenos fluxogramas para explicar a funcionalidade. Acompanhe a seguir como funciona na prática.
Sobre o Fail-Over
Antes de entendermos exatamente do que se trata a Fail-Over vamos abordar como alguns clientes utilizam nossos serviços de WAF e CDN. Clientes com ambientes “on premise” usam nossos serviços somente com um único link de internet servindo seu servidor web HTTP/HTTPS, conforme o fluxograma abaixo:
Nesse fluxo, podemos perceber que o cliente utiliza-se somente de um link, enviando conexões ao seu web-server.
Há ainda clientes que utilizam outra forma de conexão fazendo o balanceamento da carga de acessos entre dois links de operadoras diferentes, e outros, com sistemas de failover próprios, fazem a checagem e a mudança de links em caso de falha, conforme a imagem a seguir:
Porém, outros clientes, ao utilizarem o balanceamento entre dois links sem a verificação de integridade e saúde dos links, estavam sempre suscetíveis a falhas. Caso algum dos links viesse a apresentar lentidão ou sofresse com algum tipo de desastre, como naturais ou uma ruptura de fibra óptica, fazendo com que praticamente 50% do seu público de usuários de suas aplicações recebesse alguma mensagem de falha (geralmente nossa tela de “Hosting Error” apresentando geralmente o erro 504 de Gateway Timeout), até às equipes de TI dos nossos clientes identificarem o problema em seus links nós já teríamos muitos chamados abertos em nosso suporte com nossos clientes acreditando se tratar de alguma instabilidade em nossa plataforma de WAF e CDN.
Até descobrirmos se tratar do link com falha (e qual link), para orientarmos o cliente a mudar suas rotas em seu sistema de backup e failover, já teria se passado uns bons 10 minutos ou mais de paralisação parcial ou de intermitências em acessos de sua aplicação web.
Através do nosso serviço de Health Check e Failover automático, nosso WAF ganhou a capacidade de mudar automaticamente a rota de envio das requisições, evitando quedas extensas que podem impactar grande parte de seus usuários.
Nossas opções de Health Check, ou checagem de saúde são: Ping (ICMP), GET (HTTP/HTTPS), POST (HTTP/HTTPS) e Port Listening, que faz a checagem de portas abertas ou não.
Para checagem de saúde de links de internet, recomendamos a utilização de Health Check’s baseados em ping (ICMP), que enviam pequenas requisições ICMP para verificar a saúde e estabilidade de um link de internet.
Para a checagem de saúde de aplicações web recomendamos a utilização de checagens utilizando o próprio protocolo HTTP, com requisições GET ou POST. Essas requisições de checagens podem ser combinadas com nossas equipes de suporte, sendo que esta modalidade também pode ser utilizada para a verificação de integridade entre servidores e aplicações web para evitar aplicações que estejam apresentando quedas por problemas tanto de links quanto de banco de dados etc, pois pode dar a possibilidade de checagem de múltiplos servidores.
Para a checagem da saúde de Web-Servers em si, uma simples checagem de porta online já é o suficiente para saber se um Web-Server está operando ok ou não, fazendo nossa Zona de Fail-Over atuar para enviar ao Web-Server disponível.
Nessa zona especial que desenvolvemos podemos escolher qual melhor link para nosso WAF enviar as requisições HTTP de forma que não impacte as aplicações web atendidas por nossa CDN.
As checagens são feitas de forma automática e periódicas, todas as funcionalidades de check mencionadas anteriormente são executadas de 5 em 5 minutos. Em caso de falha, ou seja, em caso de queda da aplicação ou link, as checagens são mais curtas, chegando a checagens de 2 em 2 minutos para uma recuperação mais rápida.
Junto com nossa zona de Health Check e Fail-Over, também disponibilizamos a possibilidade de Balanceamento de cargas entre links.
Entendendo o Balancer da XLabs
Alguns de nossos clientes utilizam somente links primários para atendimento de suas aplicações web, ou seja, precisam que as requisições cheguem 100% em determinados links e somente sejam passadas ao link secundário em caso de desastres.
Nossa Fail-Over também foi pensada e desenvolvida para estes clientes que possuem somente um link de backup e um principal, conforme exemplificado nas imagens a seguir.
Podemos definir que o tráfego seja 100% enviado ao link 2 em caso de desastres ou falhas.
Caso a saúde do link 1 esteja ok, enviamos 100% do tráfego ao link 1.
Outra possibilidade de balanceamento de carga é a divisão de carga e requisições 50%-50% conforme a imagem a seguir:
E você? Já escolheu a melhor forma de manter seu ambiente com alta disponibilidade?
Considerações
A XLabs Security possui uma equipe de especialistas altamente qualificados que, além de atuarem diariamente na proteção das aplicações de nossos clientes, buscam sempre formas de inovar e trazer melhorias para garantir a eficácia dos nossos serviços.