5 de Julho de 2025
Como Fazer Rollout Gradual Com Controle
Como liberar mudança em produção em etapas reais, com critério de pausa e expansao, em vez de empurrar para 100 por cento e rezar.
Andrews Ribeiro
Founder & Engineer
4 min Intermediario Sistemas
Trilha
Trilha para entrevistas de startup engineer
Etapa 9 / 11
O problema
Tem time que chama isto de rollout gradual:
- sobe a versão
- coloca 10 por cento
- espera pouco
- vai para 100 por cento porque “parece ok”
Isso não e controle.
Isso e só pressa dividida em etapas.
Rollout gradual só ajuda de verdade quando reduz o alcance de erro e aumenta sua chance de perceber problema cedo.
Modelo mental
Pense assim:
rollout gradual e um loop de exposição, observação e decisão
Primeiro você escolhe quem vai receber a mudança.
Depois mede o que interessa.
Depois decide:
- amplia
- segura
- volta
Se essa decisão não esta clara antes de começar, o rollout ainda esta mal desenhado.
Quebrando o problema
Escolha qual pedaco do mundo vai receber a mudança primeiro
Rollout pode ser por:
- instancia
- usuário
- tenant
- região
- tipo de tráfego
- time interno antes de cliente
A pergunta útil e:
qual recorte reduz dano sem esconder o comportamento que eu preciso observar?
As vezes 1 por cento aleatorio ajuda.
As vezes um tenant interno e controlado ajuda mais.
Defina o que significa sucesso e o que significa falha
Antes de liberar, você precisa saber o que vai olhar.
Exemplos:
- taxa de erro
- latência
- timeout
- fila acumulando
- divergencia de resultado
- conversão ou impacto de negócio
Também precisa definir gatilho de parada.
Sem isso, o time sempre encontra um jeito de dizer que “ainda esta aceitavel”.
Tenha um jeito claro de parar ou voltar
Rollout gradual sem kill switch e sem rollback rápido e metade da história.
Você precisa saber:
- como parar nova exposição
- como voltar o tráfego
- o que acontece com estado já escrito
- se ha algo irreversivel no caminho
Esse ultimo ponto importa muito.
Se o sistema escreveu dado breaking, desligar o tráfego talvez não baste.
Expanda em etapas com tempo suficiente para observar
Nem toda falha aparece em 30 segundos.
Algumas dependem de:
- volume
- horario
- tipo raro de request
- job assinado rodando depois
- dado antigo encontrando caminho novo
Por isso, etapa boa não e só percentual.
E percentual mais tempo mais leitura correta do sinal.
Separe deploy, ativação e exposição
Esse ponto evita muita confusao.
Você pode:
- deployar o código
- manter a feature desligada
- ativar para poucos
- ampliar gradualmente
Quando o time mistura essas camadas, perde a capacidade de operar release com calma.
Exemplo simples
Imagine um checkout novo.
Plano fraco:
- deploy na sexta
- libera 5 por cento
- se ninguém reclamar em 10 minutos, vai para 100 por cento
Plano melhor:
- deploy do código novo sem ativar
- ativa primeiro para time interno
- libera para um tenant pequeno
- mede erro, latência, abandono e integração com pagamento
- sobe para mais tenants ou mais porcentagem
- mantem regra clara de pausa se aparecer regressao
Repare que o ponto não e o número em si.
O ponto e que cada etapa compra aprendizado antes de comprar mais risco.
Erros comuns
- Confundir rollout gradual com deploy gradual.
- Escolher cohort aleatorio quando o problema depende de um tenant específico.
- Fazer rollout sem baseline para comparar.
- Ampliar por calendario e ansiedade, não por sinal.
- Ignorar que schema ou contrato ainda podem quebrar com versões convivendo.
Como um senior pensa
Quem tem mais experiência não pergunta só:
“Com quantos por cento eu começo?”
Pergunta mais isto:
“Qual erro eu quero detectar cedo, qual grupo me mostra isso e como eu paro sem piorar o dano?”
Esse jeito de pensar e menos sobre ferramenta e mais sobre controle operacional.
O que o entrevistador quer ver
Em entrevista, o avaliador quer ver se você sabe transformar release em processo observável, não em chute elegante.
Você sobe de nivel quando:
- diferencia deploy de ativação
- escolhe cohort com critério
- fala de metrica e stop condition
- considera rollback e compatibilidade de estado
Uma resposta forte costuma soar assim:
“Eu faria rollout gradual definindo primeiro a unidade de exposição, depois metricas de sucesso e falha, e um jeito claro de pausar ou reverter. Só ampliaria quando o sinal estivesse estavel, não só porque passou algum tempo.”
Rollout gradual bom não e o que vai devagar. E o que aprende rápido antes de expor o resto.
Se você não sabe quando parar, você não esta controlando nada.
Resumo rápido
O que vale manter na cabeça
- Rollout gradual não e só liberar em porcentagens; e controlar exposição com critério de observação e parada.
- Escolher a unidade de rollout certa importa tanto quanto escolher a ferramenta.
- Sem metrica, sem kill switch e sem regra de stop, rollout gradual vira só deploy lento.
- Mudancas de dado, contrato e estado precisam ser compativeis com convivencia parcial entre versões.
Checklist de pratica
Use isto ao responder
- Consigo explicar a diferença entre deploy gradual e rollout gradual?
- Sei escolher entre cohort por usuário, tenant, região ou instancia?
- Consigo dizer que metricas observaria antes de sair de 1 por cento para 10 por cento?
- Sei responder em entrevista quando eu pausaria ou reverteria um rollout?
Você concluiu este artigo
Parte da trilha: Trilha para entrevistas de startup engineer (9/11)
Compartilhar esta página
Copie o link manualmente no campo abaixo.