Categorias
DNS

Nova rede de DNS

A rede de DNS da Infinite é reconhecida por ser robusta e resiliente. No entanto, ela também apresenta algumas limitações e para solucionar esses problemas, a Infinite reconstruiu sua rede de DNS do zero. Neste artigo, vamos apresentar as vantagens da nova rede de DNS da Infinite e como ela pode beneficiar seus usuários.

Limitações Atuais

Atualmente, a rede de DNS da Infinite (ns1.nameservers8.com etc) é robusta e se mostrou bastante resiliente nos últimos oito anos. No entanto, ela possui algumas limitações que sempre quisemos melhorar, mas que nunca tivemos tempo ou condições para isso até então. São elas:

  • latência acima de 200ms em alguns casos;
  • base em software que não possui API interna (BIND9);
  • sem suporte a ALIAS e registros dinâmicos.

Então, para mitigar estes três pontos, reconstruímos a nossa rede DNS do zero. Com isso, tentamos desenvolver a rede DNS mais robusta possível e, para alcançar o objetivo, montamos clusters de PowerDNS com LMDB sob a rede da AWS e da Google.

Latência alta em alguns casos

Até então, a rede padrão funcionou com base em quatro nameservers:

ns1.nameservers8.net (Brasil);
ns2.nameservers8.com (Estados Unidos);
ns3.nameservers8.net (Estados Unidos);
ns4.nameservers8.com (Europa).

Hoje, os sistemas operacionais mais modernos já são capazes de identificar, automaticamente, qual é o servidor mais próximo e, portanto, o tempo de resolução DNS sempre esteve na casa dos 20ms~40ms para a maioria dos visitantes, o que é excelente.

Em casos isolados, devido às limitações de alguns sistemas operacionais, mesmo que você estivesse no Brasil, você poderia ter que aguardar o servidor DNS da Europa responder, o que não é nada ideal e pode se tornar um problema para os aficionados por velocidade.

Por sua vez, a nova rede de DNS funciona com base em dois nameservers:

alpha.nameservers8.net (Global AnyCast);
bravo.nameservers8.org (Global GeoDNS)

Você deve estar se perguntando: “apenas dois?”. E, sim: apenas dois, mas calma que não são apenas dois servidores.

AnyCast

Graças ao uso do AWS Global Accelerator, conseguimos ter um servidor no Brasil, outro nos Estados Unidos e outro na Europa, respondendo pelo exato mesmo endereço de IP. Isso é chamado de rede AnyCast.

Image by Imperva

Dessa forma, sempre que você estiver no Brasil, o servidor responsável por responder também será do Brasil, independente do sistema operacional que você utilizar. Legal, né?

Mas não para por aí... O cluster “Alpha” foi construído sob a rede da AWS, que, apesar de super-ultra-mega-power resiliente, ainda é um ponto único de falha. Por isso, optamos por construir o cluster “Bravo” sob a rede da Google.

AWS + Google? Exatamente. A nova rede de DNS da Infinite possui duas redes separadas com os dois maiores provedores de cloud do planeta, trabalhando em total sincronia para entregar o máximo de desempenho possível.

GeoDNS

Aaah, e tem um detalhe extra. Você percebeu que mencionamos “Global GeoDNS” no cluster “Bravo”? Pois bem, a rede “Bravo” construída sob a rede do Google não foi baseada em AnyCast, mas em GeoDNS. Calma que vamos te explicar direitinho!

Image by NGINX Plus

GeoDNS é uma técnica de resolver registros DNS com endereços de IP diferentes de acordo com a localização do requisitante. Se você estiver no Brasil, o cluster “Bravo” terá um endereço de IP X. Se você estiver nos Estados Unidos, terá o endereço de IP Y e assim por diante. Tudo acontecendo por trás das cortinas, sem que você perceba nada.

Fizemos dessa forma porque a nossa nova rede DNS, além de ter dois provedores diferentes, utiliza duas tecnologias diferentes para seus clusters. Com isso, teremos sempre uma garantia extra.

Por aí, existem muitas redes DNS gratuitas com altíssima qualidade, mas todas elas dependem sempre de um único provedor. Caso aconteça algum problema com o referido provedor, o seu site pode sair do ar, independentemente de quão grande ou robusta seja a rede dele.

Perceba que sites como amazon.com, nytimes.com etc possuem dois provedores de DNS diferentes. Agora você, cliente Infinite, poderá usufruir da mesma tecnologia sem pagar nenhum centavo a mais por isso.

Software sem API

A rede atual é baseada no BIND9, um software que, apesar de testado em batalha, não possui uma API robusta para que possamos fazer alterações rápidas. Isso se traduzia em um editor de DNS no painel que dependia de conexão SSH com todos os servidores DNS da Infinite.

Uma requisição de leitura ou alteração poderia levar até 15 segundos para completar. Ou seja, bem mais devagar do que qualquer pessoa gostaria de esperar, principalmente quando você precisa cadastrar ou alterar diversos registros.

Assim, a solução foi mudar para um software mais moderno, que entregasse uma API rápida que possibilitasse a integração com os nossos sistemas. Optamos pelo PowerDNS, um software open source super maduro e com uma API amigável.

Na nova rede, as requisições levam entre 0.2 a 0.5s, desde leitura às alterações, o que permite alterações nas zonas DNS extremamente velozes.

Sem suporte ao ALIAS e outros registros dinâmicos

ALIAS, ANAME ou “CNAME Flattening” são registros DNS que, em teoria, não existem nos registros oficiais, mas possuem uma função nobre: permitem a utilização de um “domínio como IP” na entrada principal de sua zona DNS, algo como:

meusite.com.br.     90  IN  ALIAS   goinfinite.net

Quando usar isso? Bom, se for utilizar um balanceador de carga como o AWS LB, uma plataforma de WAF/CDN ou plataformas SaaS como Shopify e cia ltda, você, provavelmente, desejará um DNS que suporta entradas do tipo ALIAS para poder usar o seu domínio personalizado.

É óbvio que tal entrada DNS não existirá quando você consultar através de ferramentas como “dig” ou sites como o “whatsmydns.net”. Por dentro do motor, a nossa rede DNS consegue “traduzir” quais endereços de IP o seu destino possui e converter o registro principal nesses mesmos endereços de IP, usando a já antiga entrada do tipo A.

Por sua vez, se os endereços de IP mudam, a nossa rede DNS reconhece a mudança e já faz a troca automaticamente, sem que você precise ficar se preocupando. Muito bacana, né?

Outro tipo de entrada que pouquíssimas pessoas conhecem são as entradas do tipo LUA. Também virtuais, elas permitem que você resolva uma entrada DNS de acordo com algumas políticas personalizadas, tais como “se o IP estiver respondendo na porta 80” ou “se o usuário for do Brasil”.

Por hora, não vamos habilitar ainda as entradas do tipo LUA, mas, no futuro, você poderá definir vários registros dinâmicos utilizando a nossa rede DNS, coisa que muitos provedores, incluindo os mais famosos do mundo, não entregam ou te cobram caro para fazê-lo. Aqui, nós disponibilizaremos gratuitamente. Fique ligado nas novidades!

Como usar a nova rede?

Agora que você já sabe quais são as vantagens da nova rede, aposto que quer experimentá-la, certo? É bastante simples. Vamos lá? Primeiro, entre no novo painel da Infinite e clique em “Domínios”:

Em seguida, clique em “Adicionar Domínio” e pronto: a sua zona DNS será criada e você poderá alterar o servidor DNS no seu provedor de domínio conforme as instruções da página!

A rede atual (ns1.nameservers8.net) não será descontinuada por enquanto, mas recomendamos que você já passe a utilizar a nova rede DNS para se beneficiar das vantagens aqui abordadas.

Não se esqueça que é preciso copiar, manualmente, os seus registros DNS da sua zona antiga utilizando a nova seção de “Domínios”, uma vez que ainda não possuímos uma ferramenta de migração de zona DNS.

É isso. A nova rede de DNS da Infinite foi construída com o objetivo de ser a mais robusta e resiliente possível. A utilização de nova arquitetura e tecnologia torna dela uma excelente opção para aqueles que desejam utilizar um DNS mais rápido, flexível e confiável. Com a nova rede de DNS da Infinite, os usuários podem desfrutar de um serviço de alta qualidade sem precisar pagar nada a mais por isso.