rollfuse
← Voltar ao blog

Rollback Automático de Feature Flag: além do liga/desliga

Uma feature flag, sozinha, é um interruptor que alguém aciona. Ela desacopla deploy de release: o código sobe apagado, depois é ligado pra um segmento ou percentual, mas a flag em si não sabe se ligá-la foi uma boa ideia. "Rollback automático de feature flag" descreve algo estruturalmente diferente: uma flag cuja exposição é governada por uma política capaz de revertê-la, sem uma pessoa decidir isso.

O que precisa existir pra uma flag se reverter sozinha

Uma ferramenta simples de feature flag te dá targeting: regras, percentuais, kill switches. Nada disso observa nada depois que a flag é configurada. Pro rollout de uma flag se reverter sozinho, três coisas precisam existir juntas:

  1. A exposição da flag é em estágios, não binária: um percentual que sobe por etapas definidas, não um único clique liga/desliga.
  2. Um guardrail está anexado a esse rollout em estágios, referenciando uma métrica real com limite e janela de avaliação.
  3. Uma violação reverte a exposição, automaticamente. O rollout é abortado e a flag volta a servir a variação padrão para 100% do ambiente, pelo mesmo caminho que um abort manual usaria.

Sem os três, o que você tem é uma feature flag com um alerta ligado nela, que ainda exige alguém ver o alerta e agir.

Por que isso importa mais do que parece

O valor de uma feature flag sempre foi "sobe o código sem expor ainda". Rollback automático estende essa mesma ideia mais um passo: expõe gradualmente, e retira a exposição automaticamente se a métrica que importa disser que não deveria ter sido exposta mais. A flag continua sendo o mecanismo; o guardrail é o que a transforma de uma alavanca manual numa que se autocorrige.

Configurando

Um rollout é dono dos seus guardrails, e é o rollout que avança a configuração-alvo de uma flag através de exposição em estágios. Uma violação de limite de um guardrail aborta esse rollout, e a flag naquele ambiente volta a servir a variação padrão para 100% do tráfego, automaticamente, com a avaliação que disparou isso (valor da métrica, limite, id de correlação) registrada pra revisão posterior. Não existe uma ação separada de "rollback" pra configurar; o caminho de abort é o mesmo que um operador manual usaria, só que disparado por política em vez de uma pessoa.

A distinção que vale lembrar: uma feature flag torna um rollback possível; quem tem acesso sempre pode desligá-la. Rollback automático torna isso desnecessário de esperar alguém fazer, que é o ponto inteiro quando a regressão está acontecendo às 3 da manhã e a diferença entre uma janela de exposição de cinco minutos e uma de duas horas é exatamente quão rápido alguém percebe.