Was ist der Unterschied zwischen Feature-Flags und Feature-Toggles (falls vorhanden)?

7

Ein Teil einer Antwort auf meine (Meta-) Frage " Feature-Flags in Feature-Toggles umbenennen? " Ist wie folgt:

... Es könnte gültige Fragen zu Feature-Flags geben (Formalismus, Dokumentation darüber, Definitionsprozess), die möglicherweise nicht mit Feature- Toggles zusammenhängen, sondern mit Feature- Ramp-Ups , die eine weniger binäre Bedeutung haben. ...

Meine Frage : Was ist im Kontext von DevOps der Unterschied zwischen Feature-Flags und Feature-Toggles (falls vorhanden)?

PS: Wenn ich mir https://martinfowler.com/articles/feature-toggles.html ansehe , sehe ich keinen Unterschied zwischen solchen Flags und Toggles.

Pierre.Vriens
quelle

Antworten:

8

Wenn Sie es nur objektiv betrachten, gibt es keinen Unterschied.

Feature- Toggles enthalten jedoch ein starkes binäres "Ein / Aus" für die gesamte Anwendungsidee, während Feature- Flags ein entspannterer Begriff sind, der das Hochfahren von Tests einfacher umfassen kann.

Wenn Sie einen Hochlauftest starten und die neue Funktion für 10% Ihres Datenverkehrs oder Ihrer Benutzerbasis aktivieren und in der nächsten Woche bis zu 20% usw. verschieben, wird der Umschaltbegriff kontraproduktiv. Einige Leute (Manager / Werbespots / einige Kundenbetreuer) verstehen möglicherweise nicht wirklich, dass nur ein Teil der Kunden die neue Funktion erhält.

Ramp up kann als (Zitat aus Wikipedia auf Software - Tests definiert werden Technik ):

Die übliche Reihenfolge besteht darin, die Last zu erhöhen: Beginnen Sie mit einigen virtuellen Benutzern und erhöhen Sie die Anzahl im Laufe der Zeit auf ein vorbestimmtes Maximum. Das Testergebnis zeigt, wie sich die Leistung mit der Last ändert, angegeben als Anzahl der Benutzer im Verhältnis zur Antwortzeit.

Ich mag die Feature- API von etsy (auch wenn sie nicht gepflegt wird) als Erklärungsquelle. Es ist ein leicht zu verstehendes Framework, das eine gute Readme-Datei für Feature-Flags und deren Verwendung enthält.

Der Unterschied kann also in der Verwendung der Begriffe bestehen, um Verwirrung darüber zu vermeiden, was in der Anwendung passiert.

Tensibai
quelle
OK, das hilft schon. Würde es Ihnen etwas ausmachen, auch eine Erklärung zum "Hochfahren" von Tests (oder einem Link oder etwas anderem) hinzuzufügen? Um zu vermeiden, dass ich mein tägliches
Fragenlimit
Geben Sie mir eine Sekunde, ich werde dies tun
Tensibai
Entspannen Sie sich, auch wenn Ihre "zweite" bereits abgelaufen ist, gut für mich "eines Tages" auch ... Wenn Sie können / wollen, könnte vielleicht eine grundlegende Probe helfen, Ihre Antwort auch weiter zu verbessern ...
Pierre.Vriens
@ Pierre.Vriens fertig;) Ich denke nicht, dass Dummy-Beispiele wirklich relevant wären, Code wird hier meiner Meinung nach nicht benötigt.
Tensibai
3

Ich würde hinzufügen, dass ein Umschalter aktiviert / deaktiviert ist (Anzeigen auf der Website anzeigen, keine Anzeigen anzeigen) und möglicherweise durch eine Flagge wie (West Coast erhält Anzeigen von Anbieter A, Ostküste erhält Anzeigen von Anbieter B) ergänzt wird. Durch Umschalten werden alle Anzeigen deaktiviert. Ein Feature-Flag kann möglicherweise von Anbieter A zu Anbieter C wechseln.

Ich denke auch, dass ein wichtiger Teil darin besteht, zu entscheiden, wie Ihre Switches und Einstellungen funktionieren - müssen Sie einen neuen Build einführen? Oder kann Ihr Kontrollturm die Ost- / Westküste bestimmen und "welcher Anbieter" im Handumdrehen mit einer einfachen, fast kinderleichten Schnittstelle beantworten?

Keine Rückerstattung Keine Rückgabe
quelle
Interessante Ergänzung und Beispiele zur Erklärung der Konzepte! Der "Kontrollturm" scheint "aus der Ferne", oder? Wenn ja, dann denke ich, ist eine andere Variante, wenn die Software zur Laufzeit einige Voraussetzungen überprüft (z. B. die Version des Betriebssystems, in dem sie ausgeführt wird), um mit Ja / Nein (= Umschalten) etwas zu bewirken. Bin ich nah dran Wenn ja, würde es Ihnen etwas ausmachen, dies auch irgendwie zu Ihrer Antwort hinzuzufügen?
Pierre.Vriens
Wahrscheinlich einen Kommentar wert, aber wahrscheinlich auch eine eigene Frage wert. Wenn Sie etwas fragen wie "Wie steuere ich meine Funktionseinstellungen, damit ich meine Einstellungen schrittweise und kontrolliert ausrollen kann?" Ich kann meine Meinung sagen. Zu lang für 500 Zeichen und würde sich hier wahrscheinlich sowieso im Shuffle verlieren. Es gibt wahrscheinlich auch Leute mit anderen / besseren Meinungen als meine.
Keine Rückerstattung Keine Rückgabe
devops.stackexchange.com/questions/162/… ist die Frage, wo dies diskutiert werden könnte.
Keine Rückerstattung Keine Rückgabe