Sem repetir o conteúdo de https://martinfowler.com/articles/feature-toggles.html , pois é uma explicação detalhada incrível sobre quais são as alternâncias de sinalizador de recurso. Vou focar apenas nos aspectos do DevOps.
De acordo com o relatório State of DevOps de 2014, preparado pelo PuppetLabs, existem quatro principais métricas para medir o desempenho de TI:
- Prazo de entrega para alterações
- Freqüência de liberação
- Hora de restaurar o serviço
- Alterar taxa de falhas
Isso também contribui para o desempenho organizacional em geral. Portanto, isso significa que, se sua TI está indo muito bem nessas métricas, seu resultado final ganha mais $$$.
A Entrega contínua é ativada por essas métricas e foi descrita detalhadamente no livro Entrega contínua: versões confiáveis de software por meio de automação de compilação, teste e implantação por Jez Humble.
No contexto da Entrega Contínua , há uma distinção importante que a diferencia da Implantação Contínua . E essa é a decisão quando fazer um lançamento de recursos (para clientes).
Manter as alterações menores em tamanho e implantar recursos incompletos (sistemas de cópia) nos sistemas de produção com um sinalizador de recurso desativado permite reduzir o tempo de espera para alterações .
Quando os recursos finalmente terminam, fazer uma liberação é uma decisão deixada para os negócios. Talvez o lançamento de um novo recurso precise estar alinhado com algum marketing ou em outra parte do negócio, como um recurso no aplicativo para dispositivos móveis.
Os recursos podem ser liberados usando experiências A / B para apenas uma parte da base de clientes, ou para pessoas específicas, ou mesmo direto para a disponibilidade geral (GA). Embora a liberação para o GA geralmente seja feita somente depois de haver certeza suficiente de que o recurso funcione conforme o esperado. Pode-se argumentar que isso efetivamente afeta a frequência de liberação para ser maior.
Esse desacoplamento de liberação e implantação é quase impossível de alcançar sem as alternâncias de sinalizador de recurso.
Naturalmente, quando não implantação é necessária para activar uma característica fora , então o tempo para restabelecer o serviço é reduzido substancialmente.
E usando sinalizadores de recursos que liberam recursos para uma pequena fatia da base de clientes, a métrica da taxa de falha na alteração também pode ser significativamente aprimorada.
Portanto, um mecanismo simples chamado alternância de sinalizador de recursos permite um desempenho de TI muito melhor e, por sua vez, melhora o desempenho organizacional em geral.
Um ótimo exemplo de como isso é feito em empresas reais pode ser encontrado no Flickr (um dos primeiros posts públicos sobre o assunto) e no Etsy . Mas muitos outros adotaram a prática e falaram bastante sobre ela, por exemplo, a famosa cultura de engenharia dos vídeos do Spotify .
O Etsy está exibindo sua ferramenta interna para gerenciar sinalizadores de recursos , chamados Catapult, em várias apresentações encontradas na web. E a Intuit lança uma ferramenta de código aberto chamada Wasabi que ajuda a gerenciar sinalizadores de recursos.