Tod durch Feature Flags

Vielleicht fragen Sie sich an dieser Stelle, warum Feature Flags nicht trotzdem verwendet werden sollten, Stichwort: Defense-in-Depth-Ansatz. Außerdem schadet es doch nie, etwas mehr Flexibilität im Detail zu haben, oder?

Stellenmarkt
  1. Datenschutzkoordinator (m/w/d)
    S-Kreditpartner GmbH, Berlin
  2. Systemadministrator (m/w/d)
    Unfallkasse Nord, Lübeck, Itzehoe, Kiel
Detailsuche

Dazu muss man wissen: Feature Flags sind zwar für einige Anwendungsfälle sehr gut geeignet, sie haben jedoch ihren Preis. Softwareentwicklung ist in erster Linie eine Übung im Umgang mit Komplexität und jedes Feature Flag verdoppelt sofort die Zahl der Sonderfälle, die Programmierer verstehen müssen und mit denen der Code umgehen muss: "Aber was würde passieren, wenn Foo aktiviert und Bar deaktiviert ist, und wir am selben Tag unabhängige A/B-Tests mit Baz und Kaz durchführen?"

Nach meiner Erfahrung kann und wird dieser sprunghafte Anstieg der Komplexität zu Fehlern führen. Ganz zu schweigen von der Verlangsamung, mit der Ihr Team Änderungen vornehmen kann.

Um kurz eine amüsante Anekdote aus dem Internet zu zitieren: "Ein Flag, das seit einem Jahr nicht mehr auf 'aus' gesetzt wurde, kann große Fehlentwicklungen verbergen. Bei meinem letzten Job hatten wir zwei große Ausfälle in ebenso vielen Jahren, als Flags plötzlich auf 'aus' gesetzt wurden, weil das Feature-Flag-System den Status der Flags nicht mehr zurückgeben konnte."

Golem Akademie
  1. Terraform mit AWS: virtueller Zwei-Tage-Workshop
    14.–15. Dezember 2021, Virtuell
  2. Netzwerktechnik Kompaktkurs: virtueller Fünf-Tage-Workshop
    6.–10. Dezember 2021, virtuell
Weitere IT-Trainings

"Aber Feature Flags sind doch nur temporär. Sie sollten so schnell wie möglich entfernt werden!"

Klar. Aber wir sollten auch verhindern, dass sich unsere technischen Schulden anhäufen und wir sollten jedes einzelne Best Practice strikt befolgen. Leider passiert das in keiner Firma. Sogar in sehr guten Teams wird die Frage nach den technischen Schulden zugunsten neuer Anforderungen oft zurückgedrängt. Neuankömmlinge im Team oder ausscheidende Mitarbeiter sind nicht immer diszipliniert genug, um nach einem erfolgreichen Rollout ihre Flags zu entfernen - und manchmal wird so etwas einfach übersehen und vergessen.

Bei Hackernews hat jemand darauf hingewiesen, dass die Release-Version von Windows (Stand: September 2020) "ungefähr 2.500 Feature Flags hat. Einige sind permanent in der On-Position festgeklemmt, einige in der Off-Position, und der Rest kann durch seine experimentation frameworks und durch Hacker konfiguriert werden".

Nichts verdeutlicht das besser als das Debakel mit KCG, als die Finanzfirma innerhalb von 30 Minuten eine halbe Milliarde Dollar verlor und fast bankrott ging - teilweise aufgrund von Dead Code, der sich hinter einem Feature Flag befand.

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

"Die Ursache für den Ausfall war auf mehrere Faktoren zurückzuführen. Einer der wichtigsten war jedoch, dass ein Flag, das zuvor für die Aktivierung von Power Peg verwendet wurde, für die Verwendung in einer neuen Funktionalität umgewidmet wurde. (...) Power Peg war seit 2003 nicht mehr in Benutzung, befand sich aber rund acht Jahre später immer noch in der Codebasis.

Im Jahr 2005 wurde eine Änderung am Power-Peg-Code vorgenommen, die versehentlich Sicherheitsprüfungen deaktivierte, die ein solches Szenario verhindert hätten. Dieses Update wurde damals jedoch auf einem Produktivsystem eingesetzt, obwohl die Power-Peg-Funktionalität nicht überprüft worden war."

Feature Flags sind ein mächtiges Werkzeug, das helfen kann, mit neuen Funktionen zu experimentieren, den Rollout komplexer Projekte zu verwalten und Probleme zu vermeiden, die entstehen, wenn die Deployments des eigenen Teams nicht kontrolliert werden können.

Aber sie haben ihren Preis: höhere Code-Komplexität, technische Schulden, eine langsamere Entwicklungsgeschwindigkeit und unweigerlich auch Bugs.

So toll das wäre, aber es gibt hier kein Patentrezept. Wägen Sie die Vor- und Nachteile ab und setzen Sie dieses Werkzeug mit Bedacht ein, wenn es sinnvoll ist.

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.  
  2. 1
  3. 2
  4. 3


CalebR 08. Apr 2021

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

CalebR 05. Apr 2021

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

tomate.salat.inc 05. Apr 2021

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

TurbinenBewunderer 05. Apr 2021

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

ernstl 04. Apr 2021

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



Aktuell auf der Startseite von Golem.de
Wemax Go Pro
Mini-Projektor für Reisen strahlt 120-Zoll-Bild an die Wand

Der Wemax Go Pro setzt auf Lasertechnik von Xiaomi. Der Beamer ist klein und kompakt, soll aber ein großes Bild an die Wand strahlen können.

Wemax Go Pro: Mini-Projektor für Reisen strahlt 120-Zoll-Bild an die Wand
Artikel
  1. Snapdragon 8cx Gen 3: Geleaktes Qualcomm-SoC erreicht das Niveau von AMD und Intel
    Snapdragon 8cx Gen 3
    Geleaktes Qualcomm-SoC erreicht das Niveau von AMD und Intel

    In Geekbench wurde der Qualcomm Snapdragon 8cx Gen 3 gesichtet. Er kann sich mit Intel- und AMD-CPUs messen, mit Apples M1 aber wohl nicht.

  2. Air4: Renault 4 als Flugauto neu interpretiert
    Air4
    Renault 4 als Flugauto neu interpretiert

    Der Air4 ist Renaults Idee, wie ein fliegender Renault 4 aussehen könnte. Mit der Drohne wird das 60jährige Jubiläum des Kultautos gefeiert.

  3. MS Satoshi: Die abstruse Geschichte des Bitcoin-Kreuzfahrtschiffs
    MS Satoshi
    Die abstruse Geschichte des Bitcoin-Kreuzfahrtschiffs

    Kryptogeld-Enthusiasten kauften ein Kreuzfahrtschiff und wollten es zum schwimmenden Freiheitsparadies machen. Allerdings scheiterten sie an jeder einzelnen Stelle.
    Von Elke Wittich

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Black Friday Wochenende • LG UltraGear 34GP950G-B 999€ • SanDisk Ultra 3D 500 GB M.2 44€ • Boxsets (u. a. Game of Thrones Blu-ray 79,97€) • Samsung Galaxy S21 128GB 777€ • Premium-Laptops (u. a. Lenovo Ideapad 5 Pro 16" 829€) • MS Surface Pro7+ 888€ • Astro Gaming Headsets [Werbung]
    •  /