Arquitetura de software · parte 5 de 6
Feature flags: liberar funcionalidades sem novo deploy
O que são feature flags, como ligar e desligar funcionalidades sem novo deploy e quais cuidados ter para não acumular flags esquecidas.
Publicada em · 2 min de leitura
Uma feature flag (ou feature toggle) é uma técnica de desenvolvimento de software que permite ativar ou desativar funcionalidades específicas de um sistema sem precisar modificar o código-fonte ou fazer um novo deploy. É tipo um interruptor de luz para partes do seu aplicativo: você liga ou desliga recursos como quiser, mesmo em produção. Mágico. Ou seria trágico, dependendo de quem tem o controle.
O principal uso das feature flags é permitir que funcionalidades em desenvolvimento sejam integradas ao código principal sem ficarem visíveis para os usuários finais. Elas também são úteis para fazer deploys graduais, testes A/B, ativações por grupo de usuários (tipo VIPs, beta testers ou aquele pessoal que sempre clica em “experimentar novo design”) e até para desativar funcionalidades problemáticas sem gritaria nem correria.
Do ponto de vista técnico, uma feature flag pode ser uma simples variável booleana (true ou false), ou uma configuração mais avançada armazenada em bancos de dados, sistemas de gerenciamento de flags, ou controlada por um serviço externo. Sim, há empresas que só fazem isso. Porque, aparentemente, o capitalismo também ama toggles.
Resumindo: feature flags dão flexibilidade, controle e — talvez o mais importante — uma forma de não quebrar tudo quando você quiser brincar de “e se a gente mudar isso aqui rapidinho?”.