Qual é a diferença entre sinalizadores de recurso e alternância de recurso (se houver)?


7

Parte de uma resposta para minha (meta) pergunta " Renomear sinalizadores de recurso para alternar entre recursos? " É assim:

... Pode haver perguntas válidas sobre sinalizadores de recursos (formalismo, documentação sobre eles, processo de definição), que podem não estar relacionados às alternâncias de recursos, mas ao aumento de recursos com um significado menos binário. ...

Minha pergunta : no contexto do DevOps, qual é a diferença entre sinalizadores de recurso e alternância de recurso (se houver)?

PS: Olhando https://martinfowler.com/articles/feature-toggles.html , não entendo a diferença entre essas sinalizações e alternâncias.

Respostas:


8

Se você o considerar apenas de um ponto de vista objetivo, não há diferença.

Mas as alternâncias de recursos carregam um pesado "on / off" binário para toda a idéia do aplicativo, enquanto os sinalizadores de recursos são um termo mais simples que pode incluir testes de aceleração mais facilmente.

Quando você inicia um teste de aceleração e ativa o novo recurso para 10% do seu tráfego ou base de usuários e sobe para 20% na próxima semana e assim por diante, o termo de alternância se torna contraproducente. Algumas pessoas (gerentes / comerciais / algumas pessoas de suporte ao cliente) podem não entender realmente apenas uma parte dos clientes obtém o novo recurso.

Ramp up pode ser definido como (citação da wikipedia sobre a tecnologia de teste de software ):

A sequência usual é aumentar a carga: começar com alguns usuários virtuais e aumentar o número ao longo do tempo para um máximo predeterminado. O resultado do teste mostra como o desempenho varia com a carga, conforme o número de usuários versus o tempo de resposta.

Eu gosto da API de recursos do etsy (nem sequer é mantida) como fonte de explicação, é um framework fácil de entender que possui um bom leia-me em torno dos sinalizadores de recursos e seus usos.

Portanto, a diferença pode ser feita no uso dos termos para ajudar a evitar confusões sobre o que acontece no aplicativo.


OK, isso já ajuda. Você também se importaria de adicionar algumas explicações sobre o teste de "aceleração" (ou um link ou algo assim). Apenas para evitar que eu chegar ao meu limite diário da pergunta muito rápido ...
Pierre.Vriens

Dá-me um segundo, eu vou fazer isso
Tensibai

Relaxe, mesmo que seu "segundo" já tenha expirado, tudo bem para mim "algum dia" também ... Se você puder / quiser, talvez uma amostra básica possa ajudar a melhorar ainda mais sua resposta ...
Pierre.Vriens

@ Pierre.Vriens done;) Eu não acho que exemplos fictícios seriam realmente relevantes, o código não é necessário aqui IMHO.
Tensibai 6/03/2017

3

Eu acrescentaria que uma alternância está ativada / desativada (exibir anúncios no site, não exibir anúncios) e talvez aumentada por uma bandeira como (West Coast recebe anúncios do provedor A, East Coast recebe anúncios do provedor B). A alternância desativa todos os anúncios. Um sinalizador de recurso pode mudar do provedor A para o provedor C.

Também acho que uma parte importante é decidir como seus switches e configurações funcionam - você precisa implementar uma nova compilação? ou sua torre de controle pode determinar a costa leste / oeste e responder "qual fornecedor" em tempo real com uma interface fácil e quase infalível.


Adição interessante e exemplos para explicar os conceitos! A "torre de controle" parece "à distância", não? Nesse caso, acho que outra variação é quando, em tempo de execução, o software faz algumas verificações sobre alguns pré-requisitos (por exemplo, o lançamento do sistema operacional em que está sendo executado), para sim / não (= alternar) fazer algo acontecer. Estou perto? Se sim, você se importaria de acrescentar isso à sua resposta de alguma forma?
Pierre.Vriens

Provavelmente vale a pena comentar, mas também vale provavelmente a sua própria pergunta. Se você perguntar algo como "Como controlo minhas configurações de recursos, para que eu possa implementá-las gradualmente de maneira controlada?" Eu posso oferecer minha opinião. Muito tempo para 500 caracteres e provavelmente se perderia no shuffle aqui de qualquer maneira. Também existem pessoas prováveis ​​com opiniões diferentes / melhores que as minhas.
Sem reembolsos Sem devoluções

devops.stackexchange.com/questions/162/… é a questão em que isso poderia ser discutido.
Sem reembolsos Sem devoluções
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.