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. Consultant Networking Security (w/m/d)
    ORBIT Gesellschaft für Applikations- und Informationssysteme mbH, Bonn
  2. Systemadministrator IT (m/w/d)
    AMS Marketing Service GmbH, München
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 Karrierewelt
  1. IT-Sicherheit: (Anti-)Hacking für Administratoren und Systembetreuer: virtueller Drei-Tage-Workshop
    28.-30.06.2023, Virtuell
  2. Git Grundlagen: virtueller Zwei-Tage-Workshop
    19./20.01.2023, 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...



Aktuell auf der Startseite von Golem.de
Japan und die Digitalisierung
Immer noch zu analog

Japan ist bekannt für Hightech und Roboter. Bei der Digitalisierung liegt man aber hinter anderen Industriestaaten, viele Arbeitsprozesse sind bis heute analog.
Ein Bericht von Felix Lill

Japan und die Digitalisierung: Immer noch zu analog
Artikel
  1. Metaverse: EU blamiert sich mit interaktiver Onlineparty
    Metaverse
    EU blamiert sich mit interaktiver Onlineparty

    Rund 387.000 Euro an Kosten, fünf Besucher auf der Onlineparty: Ein EU-Projekt wollte junge Menschen als Büroklammer tanzen lassen.

  2. High Purity in der Produktion: Unter Druck reinigen
    High Purity in der Produktion
    Unter Druck reinigen

    Ob Autos, Elektronik, Medizin oder Halbleiter: Die Reinhaltung bis in den Nanobereich wird immer wichtiger. Das stellt hohe Anforderung an Monitoring und Prozesslenkung.
    Ein Bericht von Detlev Prutz

  3. Elektromobilität: Hyundai zeigt Elektrosportwagen Ioniq 5 N
    Elektromobilität
    Hyundai zeigt Elektrosportwagen Ioniq 5 N

    Hyundai hat erstmals ein Video mit dem Ioniq 5 N veröffentlicht. Das besonders sportliche Fahrzeug soll die N-Marke beleben.

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 • PS5-Bundle vorbestellbar • Amazon-Geräte bis -53% • Mindstar: AMD-Ryzen-CPUs zu Bestpreisen • Alternate: Kingston FURY Beast RGB 32GB DDR5-4800 146,89€ • Advent-Tagesdeals bei MediaMarkt/Saturn: u. a. SanDisk Ultra microSDXC 512GB 39€ • Thrustmaster Ferrari GTE Wheel 87,60€ [Werbung]
    •  /