• IT-Karriere:
  • Services:

Softwareentwicklung: Wann Feature Flags sinnvoll sind - und wann nicht

Feature Flags schalten bestimmte Code-Teile nach Bedarf ein und aus. Das klingt erstmal nützlich, kann aber auch gefährlich sein.

Artikel von Rajiv Prabhakar veröffentlicht am
Es ist mit Feature Flags ein bisschen wie im Bahnverkehr: Wenn man vergisst, die Weiche wieder zurückzustellen, kann ein Unglück passieren.
Es ist mit Feature Flags ein bisschen wie im Bahnverkehr: Wenn man vergisst, die Weiche wieder zurückzustellen, kann ein Unglück passieren. (Bild: Pixabay)

Dieser Artikel ist eine Übersetzung. Das Original des Softwareentwicklers und Bloggers Rajiv Prabhakar ist hier zu finden.

Inhalt:
  1. Softwareentwicklung: Wann Feature Flags sinnvoll sind - und wann nicht
  2. Feature Flags ersetzen keine gründlichen Tests
  3. Tod durch Feature Flags

In den vergangenen Jahren habe ich in mehreren Teams gearbeitet, die bei Feature Flags sehr unterschiedliche Strategien verfolgt haben. Ich habe die Vor- und Nachteile all dieser Strategien gesehen und mit der Zeit festgestellt, dass ich weder eine extrem ablehnende noch eine extrem befürwortende Haltung besonders gut finde. Es gibt eine Menge Nuancen bei diesem Thema, und ich denke, es lohnt sich, die verschiedenen Szenarien, in denen Feature Flags sinnvoll sind oder nicht, genauer zu betrachten.

Sinnvolle Anwendungen für Feature Flags

Es gibt einige wichtige Szenarien, in denen Feature Flags sehr sinnvoll sind. Zum einen für A/B-Tests, bei denen unterschiedliche Aktionen unterschiedlichen Nutzern zufällig zugewiesen werden. Ich habe gesehen, wie diese Strategie bei Amazon sehr gut eingesetzt wird, indem neue Funktionen durch ein Feature Flag gesteuert werden, das eigentlich von einem internen A/B-Testing-Framework kontrolliert wird. Das Framework wählt einige Amazon-Kunden nach dem Zufallsprinzip für die neue Funktion aus und überwacht dann ihr Verhalten, um die geschäftlichen Auswirkungen abzuschätzen.

Ich war zunächst skeptisch; allerdings überzeugte mich, wie einfach das Framework zu bedienen war und welche wertvollen Erkenntnisse es über die Vor- oder Nachteile bestimmter Funktionen lieferte. Entscheidungen, die sonst auf einem vagen Gefühl gründeten, was gerade funktionieren könnte, basierten nun auf echten Daten. Um neue Funktionen dynamisch umzuschalten, braucht es eben Feature Flags.

Stellenmarkt
  1. Melitta Business Service Center GmbH & Co. KG, Minden
  2. Volkswagen Vertriebsbetreuungsgesellschaft mbH, Wolfsburg, Berlin

Ein weiterer guter Anwendungsfall für Feature Flags ist, wenn Sie an einem sehr komplexen Projekt arbeiten, bei dem viele verschiedene Teilaufgaben in verschiedenen Teilen des Systems erledigt werden müssen - Teilaufgaben, die zu zahlreich und invasiv für einen einzigen Pull Request sind.

In solchen Fällen ist der Versuch, alle Änderungen in Nebenzweigen zu halten und eine gleichzeitige Zusammenführung und Bereitstellung zu koordinieren, nahezu aussichtslos. Es ist übersichtlicher, alle disruptiven Änderungen hinter ein Master Flag zu bekommen, alle Sub-Commits schrittweise zusammenzuführen und bereitzustellen und das Flag umzustellen, sobald alle Teile an der richtigen Stelle sind.

Handbuch für Softwareentwickler: Das Standardwerk für professionelles Software Engineering

Auch sind Feature Flags sinnvoll, wenn Sie keine Kontrolle über Ihre Softwareverteilung haben. Denken Sie zum Beispiel an die Facebook-Android-App, die Code von Hunderten verschiedenen Teams enthält und ihn als eine einzige Binärdatei bereitstellt. In solchen Szenarien sind Rollbacks manchmal unmöglich - aus praktischen, politischen, bürokratischen oder sogar Marketing-Gründen. Feature Flags ermöglichen es dann, neue Funktionen zu aktivieren oder das Risiko bestimmter Änderungen zu verringern, ohne dass ein Rollback gemacht werden muss oder neue Binärdateien bereitgestellt werden müssen.

Bei Reddit hat jemand über einen ähnlichen Anwendungsfall für Feature Flags geschrieben: Wenn nämlich aus Marketing-Gründen ein bestimmtes Einführungsdatum festgelegt wird, der Code aber früher bereitgestellt werden soll, um die Stabilität zu gewährleisten. Hier hilft ein dynamisches Feature Flag, das sich automatisch zu einem bestimmten Zeitpunkt aktiviert.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Feature Flags ersetzen keine gründlichen Tests 
  1. 1
  2. 2
  3. 3
  4.  


Anzeige
Spiele-Angebote
  1. (u. a. Unravel für 9,99€, Battlefield 1 für 7,99€, Anthem für 8,99€)
  2. 10,79€
  3. 14,99€

CalebR 08. Apr 2021 / Themenstart

Sehr gerne :-) Geht mir auch nicht anders ^^ Ja und nein. Ich würde den Status als...

CalebR 05. Apr 2021 / Themenstart

Allgemein finde ich zu dem Thema Feature Toggles den Beitrag von Martin Fowler (https...

tomate.salat.inc 05. Apr 2021 / Themenstart

Nun ja - kommt immer drauf an mit was du arbeitest. Bin jetzt experte was NPM-Projekte...

TurbinenBewunderer 05. Apr 2021 / Themenstart

Ich bin seit ca 6 Jahren "ausstudiert". Ich hatte Konzepte wie "Trunk based development...

ernstl 04. Apr 2021 / Themenstart

Hey, wie ist die Aussicht da oben im Elfenbeinturm? Hier unten, wo neben der Qualität...

Kommentieren


Folgen Sie uns
       


Peloton - Fazit

Im Video stellt Golem.de-Redakteur Peter Steinlechner das Bike+ von Peloton vor. Mit dem Spinning-Rad können Sportler fast schon ein eigenes Fitnessstudio in ihrer Wohnung einrichten.

Peloton - Fazit Video aufrufen
Programm für IT-Jobeinstieg: Hoffen auf den Klebeeffekt
Programm für IT-Jobeinstieg
Hoffen auf den Klebeeffekt

Aktuell ist der Jobeinstieg für junge Ingenieure und Informatiker schwer. Um ihnen zu helfen, hat das Land Baden-Württemberg eine interessante Idee: Es macht sich selbst zur Zeitarbeitsfirma.
Ein Bericht von Peter Ilg

  1. Arbeitszeit Das Sechs-Stunden-Experiment bei Sipgate
  2. Neuorientierung im IT-Job Endlich mal machen!
  3. IT-Unternehmen Die richtige Software für ein Projekt finden

Weclapp-CTO Ertan Özdil: Wir dürfen nicht in Schönheit und Perfektion untergehen!
Weclapp-CTO Ertan Özdil
"Wir dürfen nicht in Schönheit und Perfektion untergehen!"

Der CTO von Weclapp träumt von smarter Software, die menschliches Eingreifen in der nächsten ERP-Generation reduziert. Deutschen Perfektionismus hält Ertan Özdil aber für gefährlich.
Ein Interview von Maja Hoock


    Fiat 500 als E-Auto im Test: Kleinstwagen mit großem Potenzial
    Fiat 500 als E-Auto im Test
    Kleinstwagen mit großem Potenzial

    Fiat hat einen neuen 500er entwickelt. Der Kleine fährt elektrisch - und zwar richtig gut.
    Ein Test von Peter Ilg

    1. Vierradlenkung Elektrischer GMC Hummer SUV fährt im Krabbengang seitwärts
    2. MG Cyberster MG B Roadster mit Lasergürtel und Union Jack
    3. Elektroauto E-Auto-Prämie übersteigt in 2021 schon Vorjahressumme

      •  /