Domain IP Lookup

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

Infraestrutura e operações

Implantações blue-green e viradas de DNS

3 min de leitura

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 diretaImplantação ponderada
Raio de impacto de um problema100% do tráfego, imediatamenteUma fatia pequena e controlável
Velocidade do rollbackRápido, mas reverte tudo de uma vezRápido e reversível em etapas granulares
Complexidade da configuraçãoSimples: altere um registroExige um provedor que ofereça registros ponderados
Melhor aplicaçãoMudanças pequenas e bem testadasMudanç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.