Pular para o conteúdo
Engenharia de Software3 min

O Que É Blue-Green Deployment? Deploy com Zero Downtime

Técnica de liberação de software que utiliza dois ambientes idênticos para alternar o tráfego instantaneamente, eliminando o tempo de inatividade.

por REVIIV

Compartilhar

Atualizar um sistema em funcionamento sem desconectar usuários ou suspender operações essenciais costumava exigir manutenções durante a madrugada com avisos de indisponibilidade. O Blue-green deployment resolve essa limitação estrutural por meio de dois ambientes de produção idênticos, viabilizando transições instantâneas entre versões sem interrupção de serviço.

O que é Blue-green deployment?

Blue-green deployment é uma estratégia de implantação de software que opera com dois ambientes de infraestrutura idênticos, chamados convencionalmente de Blue (Azul) e Green (Verde). Em qualquer momento, apenas um dos ambientes recebe o tráfego ativo de produção, enquanto o outro permanece ocioso ou em fase de validação.

Quando uma nova versão do software precisa ser disponibilizada, ela é instalada e totalmente configurada no ambiente inativo. Após a realização de testes de homologação com dados reais, o direcionador de tráfego (roteador ou balanceador de carga) altera o destino das requisições para o novo ambiente em questão de segundos. Caso ocorra qualquer imprevisto grave, basta inverter o chaveamento para restaurar o estado operacional anterior.

O chaveamento de tráfego e o ciclo dos ambientes

O fluxo de execução do Blue-green deployment obedece a uma alternância cíclica de papéis entre os dois lados da infraestrutura.

  • Estado inicial: o ambiente Blue está ativo e recebendo todo o tráfego de produção dos usuários, enquanto o ambiente Green está ocioso com a versão anterior.
  • Implantação no ambiente inativo: a nova versão do código é colocada no ar no ambiente Green por meio de um pipeline de CI/CD, sem afetar o desempenho de quem utiliza o ambiente Blue.
  • Testes de sanidade interna: engenheiros e ferramentas automatizadas validam funcionalidades essenciais diretamente no ambiente Green antes da liberação oficial.
  • Alternância (Switch): o balanceador de carga é reconfigurado para direcionar 100% das novas requisições para o ambiente Green, que passa a ser a produção ativa.
  • Retenção de segurança: o ambiente Blue permanece ligado por um tempo prudencial; se nenhum erro surgir, ele fica pronto para receber a próxima versão no ciclo seguinte.

Aplicação prática em setores críticos no Brasil

No Brasil, onde serviços essenciais como cartões de crédito, autorização de exames de saúde e plataformas de e-commerce precisam manter alta disponibilidade ininterrupta, o Blue-green deployment é amplamente adotado em arquiteturas orientadas a microserviços e nuvem.

Um sistema de autorização de convênios médicos, por exemplo, não pode suspender o atendimento aos pronto-socorros para atualizar tabelas de procedimentos. Ao utilizar Blue-green deployment, a equipe de tecnologia publica a nova versão das regras de autorização no ambiente ocioso, realiza testes de integração e realiza a virada do roteador. Para os hospitais e clínicas conveniadas, o processo de autorização segue funcionando normalmente, sem qualquer segundo de parada (zero downtime).

Desafios técnicos com dados e persistência

Apesar da simplicidade lógica no chaveamento de requisições de rede, a convivência de dois ambientes produtivos impõe desafios estruturais que demandam cuidados arquiteturais específicos.

  1. Sincronização de bancos de dados: ambos os ambientes (Blue e Green) geralmente compartilham a mesma base de dados. Qualquer alteração estrutural no esquema de dados precisa ser compatível com as duas versões do software simultaneamente.
  2. Gerenciamento de sessões e cache: sessões de usuários e dados em cache distribuído precisam ser compartilhados de forma transparente para evitar que clientes logados percam suas compras ou autenticação no instante da virada.
  3. Custo de infraestrutura: manter o dobro da capacidade computacional ativa simultaneamente eleva os custos operacionais, exigindo automação em nuvem para provisionar e desativar instâncias de forma eficiente durante as janelas de deploy.

O Blue-green deployment oferece previsibilidade e tranquilidade operacional às equipes de engenharia, transformando lançamentos de software arriscados em rotinas técnicas controladas, reversíveis e sem impacto na experiência dos usuários.

Tags

  • #deploy
  • #devops
  • #infraestrutura
  • #cloud-computing
Compartilhar

Quer levar isso para o seu contexto?

Escrevemos sobre o que fazemos todo dia. Agende 30 minutos com um especialista da REVIIV.