Canary Release vs Feature Flags
É uma estratégia de deployment usada para minimizar riscos.
| Canary Release | Feature Flags | |
|---|---|---|
| Definition | 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. | 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. |
| Categories | DevOps, deployment, release, risks | A/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 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.