prática
etapa: deliver
2 min de leitura
Estratégias de release e rollback
Fazer deploy e fazer release são coisas diferentes. Você pode colocar o código em produção às escuras, ligá-lo gradualmente e desligá-lo em segundos se ele se comportar mal.
Kubernetes rolling updatesArgo Rollouts / Flaggerfeature flags (OpenFeature, Unleash)load balancersdatabase migrations tools
As estratégias
- Rolling: substitui instâncias poucas por vez. Simples e o padrão na maioria dos orquestradores; versões antigas e novas rodam lado a lado por um tempo.
- Blue/green: mantém dois ambientes completos e troca o tráfego do antigo (blue) para o novo (green) de uma vez. O rollback é voltar a chave; custa o dobro de capacidade durante a troca.
- Canary: envia uma pequena parcela do tráfego para a nova versão, observa as métricas e depois amplia. Limita o de um release ruim.
- Feature flags: entregam o código desativado e o ativam por usuário, percentual ou ambiente. Separam deploy de release e dão um botão instantâneo de desligar.
- Shadow traffic: copia requisições reais para a nova versão sem devolver suas respostas, para comparar o comportamento com segurança.
Rollback é uma decisão de design
- Mantenha o artefato anterior pronto para deploy e faça deploy por versão imutável ou digest.
- Torne as mudanças de banco de dados retrocompatíveis (expand, migrate, contract), para que o código antigo continue funcionando com o novo schema.
- Decida com antecedência qual métrica dispara um rollback e automatize-o onde puder.
- Pratique o rollback: um rollback não testado é uma esperança.
Exemplo: um rollout canary
Um controlador de progressive delivery move o tráfego em etapas e verifica as métricas entre elas. O esboço abaixo usa a sintaxe do Argo Rollouts.
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: api
spec:
replicas: 6
selector:
matchLabels: { app: api }
strategy:
canary:
steps:
- setWeight: 10
- pause: { duration: 5m }
- setWeight: 50
- pause: { duration: 10m }
template:
metadata:
labels: { app: api }
spec:
containers:
- name: api
image: registry.example.com/api@sha256:<digest>Escolhendo
Ajuste a estratégia ao risco e ao custo. Uma ferramenta interna de baixo risco pode usar rolling updates. Um fluxo de pagamento merece um canary com rollback automático. Uma mudança que toca dados exige a disciplina de schema compatível, seja qual for a estratégia.
conexões no mapa
- Pipelines de CI que continuam rápidosentrega artefatos paraEstratégias de release e rollback
- Estratégias de release e rollbackroda sobreFundamentos de Kubernetes
- Estratégias de release e rollbackconsome o budget deConfiabilidade: SLOs, error budgets e incidentes
atualizado em 14/10/2026 · fontes para aprofundar · reportar erro
em outros domínios
- WAF - observação, shadow e enforcementsecopsobservação, shadow e enforcement: a mesma escada gradual
Estude antes
teste o que entendeu
Carregando perguntas…