Canary Release vs Feature Flags

É uma estratégia de deployment usada para minimizar riscos.

 Canary ReleaseFeature Flags
DefinitionUm Canary Release é uma estratégia de deployment usada no desenvolvimento de software para reduzir o risco de introduzir uma nova versão, inicialmente disponibilizando-a para um pequeno subconjunto de usuários.Feature Flags, também conhecidos como Feature Toggles, são uma técnica que permite aos desenvolvedores habilitar ou desabilitar certas funcionalidades em uma aplicação de software sem alterar a base de código.
CategoriesDevOps, deployment, release, risksA/B Testing, CD, CI, development

O que é um Canary Release?

É uma estratégia de deployment usada para minimizar riscos.

🐤

Definição

Um Canary Release é uma estratégia de deployment usada no desenvolvimento de software para reduzir o risco de introduzir uma nova versão, inicialmente disponibilizando-a para um pequeno subconjunto de usuários.

📅

Origem

O nome origina dos mineiros que levavam um canário em uma gaiola para as minas de carvão. Se gases tóxicos vazassem na mina, o canário morreria antes dos mineiros.

🔍

Monitoramento

O sistema é cuidadosamente monitorado para problemas, e se a nova versão se comportar bem, é gradualmente liberada para mais usuários.

🔄

Rollback

Se problemas são detectados, o release pode ser revertido, e a versão antiga reinstalada para todos os usuários.

👥

Seleção

Estratégias diferentes são usadas para selecionar quais usuários serão expostos à nova versão, como amostragem aleatória ou seleção baseada em demografia.

O que é um Canary Release? →

O que é um Feature Flag?

É uma técnica que permite habilitar ou desabilitar funcionalidades.

🚩

Definição

Feature Flags, também conhecidos como Feature Toggles, são uma técnica que permite aos desenvolvedores habilitar ou desabilitar certas funcionalidades em uma aplicação de software sem alterar a base de código.

🔧

Implementação

Podem ser implementados usando valores booleanos em arquivos de configuração que são verificados condicionalmente para determinar se uma funcionalidade deve ser visível e ativa ou não.

🎯

Casos de Uso

São usados em abordagens de Continuous Deployment (CD), Lançamentos Canary, Testes A/B e para gerenciar a visibilidade de funcionalidades para diferentes segmentos de usuários.

💡

Benefícios

Feature Flags permitem um desenvolvimento mais seguro e eficiente, possibilitando às equipes implantar e testar novas funcionalidades sem impactar toda a base de usuários.

📈

Crescimento

O uso de Feature Flags cresceu em popularidade com o surgimento de práticas de Agile, DevOps e entrega contínua no desenvolvimento de software.

📝

Configuração

Podem ser definidos usando um serviço como Bullet Train ou Launch Darkly, criando um serviço de backend personalizado, ou usando arquivos locais dentro da aplicação.

O que é um Feature Flag? →