Estratégias de implantação: azul-verde e canário
Vá além das atualizações graduais e aprenda a fazer lançamentos seguros com os padrões de implantação azul-verde e canário no Kubernetes.
Estratégias de implantação: azul-verde e canário é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
Por que algo além de atualizações contínuas?
As atualizações contínuas substituem os pods gradualmente, mas misturam versões antigas e novas durante a transição. Em lançamentos arriscados, talvez você queira controle total sobre quais usuários veem a nova versão.
As estratégias azul-verde e canário oferecem esse controle.
A ideia azul-verde
Em uma implantação azul-verde, você executa dois ambientes idênticos:
- Azul = versão atual em produção
- Verde = nova versão, totalmente implantada, mas que ainda não recebe tráfego
Você redireciona todo o tráfego do azul para o verde de uma só vez.
Duas implantações, um serviço
Cada versão é sua própria implantação, com um rótulo de versão. Um único serviço seleciona a cor que está em produção.
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-blue
spec:
replicas: 3
selector:
matchLabels:
app: web
version: blue
template:
metadata:
labels:
app: web
version: blue
spec:
containers:
- name: web
image: myapp:1.0Alternando o tráfego
Para colocar o verde em produção, basta alterar o seletor do serviço para apontar para a versão verde. A mudança ocorre instantaneamente.
kubectl patch service web -p '{"spec":{"selector":{"app":"web","version":"green"}}}'Vantagens e desvantagens do azul-verde
- Vantagem: reversão instantânea ao voltar para o azul
- Vantagem: nenhuma mistura de versões durante o lançamento
- Desvantagem: requer o dobro dos recursos durante a sobreposição
A ideia do canário
Um lançamento canário envia primeiro uma pequena parcela do tráfego para a nova versão. Se as métricas parecerem favoráveis, você aumenta a escala gradualmente.
O nome vem dos canários que os mineiros usavam para detectar perigos antecipadamente.
Canário com contagens de réplicas
Um canário simples usa duas implantações que compartilham o mesmo rótulo de serviço. O tráfego é dividido aproximadamente na proporção do número de réplicas.
# stable: 9 replicas, canary: 1 replica => ~10% to canary
kubectl scale deployment app-stable --replicas=9
kubectl scale deployment app-canary --replicas=1Promovendo um canário
À medida que a confiança aumenta, você desloca a proporção para o canário e, depois, desativa a versão antiga quando ele atender a todo o tráfego.
kubectl scale deployment app-canary --replicas=5
kubectl scale deployment app-stable --replicas=5
# later, fully promote
kubectl scale deployment app-canary --replicas=10
kubectl scale deployment app-stable --replicas=0Observando o canário
O objetivo principal de um canário é a observação. Acompanhe as taxas de erro, a latência e os registros antes de promovê-lo.
kubectl get pods -l version=canary
kubectl logs -l version=canary --tail=50Escolhendo uma estratégia
- Azul-verde: melhor quando você quer uma mudança limpa e instantânea, além de uma reversão rápida
- Canário: melhor quando você quer limitar o impacto e validar com tráfego real
- Contínua: uma boa opção padrão para atualizações rotineiras de baixo risco
Ferramentas além de kubectl
Para dividir o tráfego com granularidade (por exemplo, exatamente 5%), as equipes usam malhas de serviços como Istio ou ferramentas de entrega progressiva, como Argo Rollouts e Flagger, que automatizam a análise do canário.
Verificação rápida
Escolha a afirmação que melhor descreve um lançamento canário.
Recapitulação
Você comparou estratégias avançadas de lançamento. A implantação azul-verde alterna instantaneamente todo o tráfego entre dois ambientes para permitir uma reversão rápida, enquanto o canário transfere o tráfego gradualmente para limitar o risco. Ambas se baseiam nas primitivas de implantação e serviço que você já conhece.
Perguntas Frequentes
A aula “Estratégias de implantação: azul-verde e canário” é grátis?
Sim — o texto completo de “Estratégias de implantação: azul-verde e canário” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Estratégias de implantação: azul-verde e canário”?
Vá além das atualizações graduais e aprenda a fazer lançamentos seguros com os padrões de implantação azul-verde e canário no Kubernetes. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Estratégias de implantação: azul-verde e canário”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Entendendo as implantações
- Dimensionamento de aplicações com ReplicaSets
- Atualizações contínuas e reversões
- Estratégias de implantação: azul-verde e canário