Uma virada gradual é melhor que uma instantânea
Blue
100% do tráfego
Divisão ponderada
95/5, depois 50/50
Green
100% do tráfego
Implantações blue-green e viradas de DNS
Uma implantação blue-green mantém dois ambientes de produção completos em execução: um ativo (“blue”) e outro ocioso, mas totalmente implantado e pronto (“green”). O tráfego é transferido entre eles em uma única troca rápida, em vez de uma atualização gradual. Uma forma comum de implementar essa troca, especialmente entre infraestruturas ou provedores diferentes, é uma mudança de DNS: atualizar o registro do domínio para apontar para o endereço do ambiente green assim que ele for verificado como saudável.
Onde a versão simples deixa de funcionar
Uma virada baseada em DNS não é instantânea como costuma ser a troca do grupo de destino de um balanceador de carga. Todo resolvedor que guardou em cache a resposta antiga (blue) continua servindo-a até que o TTL desse registro expire. Isso significa que, durante uma janela de tempo proporcional ao TTL, uma parte do tráfego ainda cai no ambiente do qual você acabou de tentar sair. Com um TTL de uma hora, isso pode significar até uma hora de tráfego dividido entre os dois ambientes antes que a virada esteja completa em todos os lugares.
- Reduza o TTL bem antes da virada planejada, de preferência com pelo menos um ciclo completo do TTL antigo de antecedência, para que, na hora da virada, todos os resolvedores já tenham atualizado o cache com o novo TTL, mais curto.
- Mantenha o ambiente antigo (blue) totalmente em execução e saudável por pelo menos a janela do TTL após a virada, em vez de desativá-lo imediatamente: ele ainda recebe tráfego real durante esse período.
- Verifique a virada consultando o DNS diretamente, em vez de apenas olhar os logs da aplicação: isso confirma que o próprio registro mudou, independentemente de quanto tráfego já o acompanhou.
- Volte o TTL ao valor normal somente quando tiver certeza de que a virada foi concluída e está estável.
A alternativa gradual: DNS ponderado
Em vez de virar todos os resolvedores de uma vez e torcer para que o ambiente green aguente imediatamente a carga total de produção, vários provedores de DNS oferecem políticas de roteamento ponderado (ou baseado em porcentagem): 95% das respostas apontam para o blue, 5% para o green, e essa divisão vai mudando aos poucos (80/20, 50/50 e adiante) conforme a confiança no novo ambiente cresce.
| Virada direta | Implantação ponderada | |
|---|---|---|
| Raio de impacto de um problema | 100% do tráfego, imediatamente | Uma fatia pequena e controlável |
| Velocidade do rollback | Rápido, mas reverte tudo de uma vez | Rápido e reversível em etapas granulares |
| Complexidade da configuração | Simples: altere um registro | Exige um provedor que ofereça registros ponderados |
| Melhor aplicação | Mudanças pequenas e bem testadas | Mudanças de alto risco em infraestrutura crítica |
Ela troca uma virada simples e limpa pela capacidade de detectar um problema enquanto ele afeta apenas uma pequena fatia do tráfego e de voltar a 100% blue em segundos, se o green não estiver pronto, em vez de precisar reverter uma virada completa sob pressão.
Verificando as duas abordagens da mesma forma
Seja qual for a estratégia, a etapa de verificação é idêntica: resolva o domínio repetidamente, a partir de mais de um ponto de observação, e confirme que a divisão observada na prática corresponde à configurada. Uma política ponderada que deveria enviar 10% do tráfego ao green, mas na verdade envia 40% (por um peso mal configurado ou porque alguns resolvedores guardam em cache e não refazem o sorteio da divisão com a frequência esperada), é exatamente o tipo de desvio que só aparece ao conferir as respostas reais resolvidas, em vez de confiar que o painel do provedor de DNS reflita a realidade com perfeição.
Precisa conferir os endereços DNS públicos de um domínio? Use a ferramenta Domain IP Lookup.
Leitura relacionada
Um IP, um servidor, ou um IP, vários
Unicast
Um IP corresponde a exatamente um servidor
Anycast
Um IP, anunciado de vários locais
Anycast DNS: como funciona e por que é rápido
O mesmo endereço IP anunciado de dezenas de locais ao mesmo tempo: é assim que os grandes provedores de DNS se mantêm rápidos e resilientes em qualquer lugar.
Por que uma consulta mostra a CDN, e não a origem
Visitante
consulta o domínio
Borda da CDN
104.21.x.x
é isto que o DNS retorna
Servidor de origem
IP real, nunca exposto
Como as CDNs usam o DNS para rotear o tráfego
A mágica de uma rede de distribuição de conteúdo acontece na camada de DNS, antes de um único byte de conteúdo ser solicitado.
Um hostname, vários registros A
1ª resposta
93.184.216.34
2ª resposta
93.184.216.35
3ª resposta
93.184.216.36
O resolvedor devolve todos os registros, geralmente em ordem rotativa
DNS round-robin explicado: dividindo o tráfego entre IPs
Veja como o DNS round-robin retorna vários endereços, o que ele pode e não pode fazer pela distribuição de carga e como o cache afeta os resultados observados.