9 de Maio de 2025
Rollback e mitigação de incidentes
Como decidir entre voltar, desligar, degradar ou conter uma liberação ruim com clareza operacional.
Andrews Ribeiro
Founder & Engineer
3 min Intermediario Sistemas
Trilha
Trilha para entrevistas de startup engineer
Etapa 7 / 11
O problema
Tem release que da errado e o time reage com uma unica palavra:
rollback
As vezes funciona.
As vezes não.
E o erro esta em achar que rollback e a resposta universal para qualquer incidente ligado a deploy.
Na prática, existe uma pergunta que vem antes:
qual ação contem dano mais rápido agora?
Voltar versão pode ser uma delas.
Mas não e a unica.
Modelo mental
Rollback e uma tentativa de retornar para uma versão ou comportamento anterior.
Mitigação e qualquer ação que reduza o impacto do incidente rapidamente.
Isso pode incluir:
- rollback de versão
- desligar flag
- cortar tráfego
- desligar integração secundaria
- servir degradado
- abrir circuito
Ou seja:
rollback e uma ferramenta de mitigação, mas mitigação boa não depende só dele.
Quebrando o problema
Quando rollback ajuda muito
Rollback costuma funcionar bem quando:
- o problema veio claramente da release
- a versão anterior ainda e compativel
- não houve mudança de estado irreversivel
- a estratégia de deploy facilita voltar
Nesses casos, voltar reduz dano rápido.
Quando rollback não basta
Existem casos em que a versão anterior não resolve sozinha:
- migration já alterou schema ou dado
- evento ruim já foi publicado
- fila acumulou trabalho inconsistente
- fornecedor externo mudou comportamento
Aqui, voltar código pode ajudar um pouco, mas o dano já se espalhou por outras partes.
Por isso mitigação precisa ser mais ampla que rollback.
Mitigação forte pensa em contencao
Em incidente real, mitigação boa costuma perguntar:
- como diminuir o alcance agora?
- o que da para desligar sem derrubar tudo?
- o que precisa degradar para proteger o fluxo principal?
Exemplos:
- desligar funcionalidade não essencial por flag
- reduzir percentual do canary
- voltar tráfego para ambiente anterior
- bloquear escrita arriscada temporariamente
- responder com fallback mais simples
Rollback sem preparo vira teatro
Se o time diz que faz rollback, mas na prática:
- não sabe qual versão estava ativa
- não sabe como voltar
- não confia na versão anterior
- depende de passos manuais opacos
entao rollback e mais aspiracao do que capacidade.
Exemplo simples
Imagine uma nova release do checkout.
Depois do deploy:
- erro sobe
- latência piora
- conversão cai
Possiveis respostas:
- desativar novo fluxo por flag
- reduzir tráfego da versão canary
- voltar para ambiente blue-green anterior
- se preciso, bloquear funcionalidade secundaria para proteger compra principal
Repare que o objetivo imediato não e “fazer a arquitetura ficar bonita”.
E baixar dano agora.
Depois vem a analise mais calma.
Erros comuns
- Tratar rollback como resposta unica para tudo.
- Ignorar que dado e schema também entram na conta.
- Não preparar mecanismo claro para voltar ou desligar.
- Esperar demais para mitigar enquanto procura causa raiz perfeita.
- Confundir restaurar versão com restaurar estado.
Como um senior pensa
Quem tem mais experiência geralmente organiza a resposta assim:
- conter impacto
- estabilizar serviço
- entender causa
- corrigir e prevenir repetição
Esse raciocínio evita um erro comum em crise:
querer resolver elegantemente antes de reduzir dano.
O que o entrevistador quer ver
Em entrevista, o avaliador quer ver se você pensa operacionalmente sob pressao.
Você sobe de nivel quando:
- separa rollback de mitigação
- menciona flag, tráfego e degradação como opcoes
- reconhece limite de rollback em caso de estado alterado
- mostra prioridade em contencao de dano
Uma resposta forte costuma soar assim:
“Se a release piorou o sistema, minha primeira pergunta e qual ação reduz impacto agora. Pode ser rollback, pode ser desligar flag, pode ser voltar tráfego ou degradar funcionalidade. Depois eu investigo a causa com mais calma.”
Em incidente, elegancia vem depois. Primeiro vem reduzir o tamanho do estrago.
Resumo rápido
O que vale manter na cabeça
- Rollback e mitigação resolvem momentos diferentes do incidente, embora as vezes andem juntos.
- Nem toda falha permite voltar a versão anterior de forma limpa, especialmente com mudança de estado e migração.
- Mitigar rápido pode significar desligar flag, reduzir tráfego, degradar funcionalidade ou abrir circuito.
- Plano de resposta forte pensa antes em como conter dano do que em como parecer heroico durante a crise.
Checklist de pratica
Use isto ao responder
- Consigo explicar quando rollback ajuda e quando não resolve sozinho?
- Sei dizer exemplos de mitigação que não dependem de nova release?
- Consigo falar de estado e migração como limitadores de rollback simples?
- Sei responder incidente pensando primeiro em contencao de dano?
Você concluiu este artigo
Parte da trilha: Trilha para entrevistas de startup engineer (7/11)
Compartilhar esta página
Copie o link manualmente no campo abaixo.