Sans répéter le contenu de https://martinfowler.com/articles/feature-toggles.html , car il s'agit d'une explication approfondie et approfondie sur les fonctionnalités des bascules d'indicateur. Je vais me concentrer uniquement sur les aspects DevOps.
Selon le rapport State of DevOps 2014 préparé par PuppetLabs, il existe quatre mesures principales pour mesurer les performances informatiques:
- Délai pour les changements
- Fréquence de diffusion
- Il est temps de restaurer le service
- Modifier le taux d'échec
Ceux-ci contribuent également à la performance organisationnelle globale. Cela signifie donc que si votre informatique se porte bien sur ces mesures, votre résultat net gagne plus de $$$.
La livraison continue est activée par ces mesures et a été décrite en détail dans le livre Livraison continue: versions logicielles fiables via l'automatisation de la construction, des tests et du déploiement par Jez Humble.
Dans le contexte de la livraison continue , il existe une distinction importante qui la différencie du déploiement continu . Et c'est la décision de faire une version des fonctionnalités (aux clients).
Garder petits changements dans la taille et le déploiement (code copie) fonctions demi-cuite aux systèmes de production avec une fonction drapeau basculée off permet de raccourcir le temps avance des changements .
Lorsque les fonctionnalités sont enfin terminées, faire une version est une décision laissée à l'entreprise. Peut-être qu'une version d'une nouvelle fonctionnalité doit être alignée avec du marketing, ou une version dans une autre partie de l'entreprise comme une fonctionnalité dans l'application mobile.
Les fonctionnalités peuvent être publiées à l'aide d'expériences A / B uniquement sur une partie de la base de clients, ou à des personnes spécifiques, ou même directement sur la disponibilité générale (GA). Bien que la publication vers GA ne se fasse souvent qu'après qu'il y ait suffisamment de certitude que la fonctionnalité fonctionne comme prévu. On pourrait faire valoir que cela affecte en fait la fréquence des versions à être plus élevée.
Ce découplage de la libération et du déploiement est presque impossible à réaliser sans basculer l'indicateur de fonctionnalité.
Naturellement, lorsqu'aucun déploiement n'est requis pour désactiver une fonctionnalité , le temps de restauration du service est considérablement réduit.
Et en utilisant des indicateurs de fonctionnalités qui libèrent des fonctionnalités sur une petite tranche de la base de clients, la mesure du taux d'échec des modifications peut également être améliorée de manière significative.
Ainsi, un mécanisme simple appelé bascule d'indicateur de fonctionnalité permet de bien meilleures performances informatiques et, à son tour, améliore les performances organisationnelles dans l'ensemble.
Un bon exemple de la façon dont cela se fait dans de vraies entreprises peut être trouvé sur Flickr (sur l'un des premiers messages publics sur le sujet) et sur Etsy . Mais beaucoup d'autres ont adopté la pratique et en ont parlé longuement, par exemple la célèbre culture d'ingénierie des vidéos Spotify .
Etsy présente son outil interne pour gérer les indicateurs de fonctionnalité , appelé Catapult, dans plusieurs présentations trouvées sur le Web. Et Intuit publie un outil open-source appelé Wasabi qui aide à gérer les indicateurs de fonctionnalité.