Implementierung von Feature Flags

Feature Flags lassen sich über verschiedene Arten in die eigene Anwendung implementieren. Nachfolgend zeigen wir die grundsätzlichen Ansätze wobei es sicherlich noch weitere Möglichkeiten gibt.

Tipp: Feature Flags in ein Anwendungssystem einzuführen ist schnell und einfach. Diese über den kompletten Software Lifecyle allerdings zu managen ist eine deutlich komplexere Angelegenheit. Daher sollte vor dem Einsatz von Feature Toggles sehr genau die Art der Implementierung geprüft werden.


Feature Toggles direkt im Code

Wenn man nur ein Produkt oder sehr kleine Teams hat ist die einfachste und schnellste Variante Feature Flags einfach direkt im Code zu verorten.

Vorteile

• Geeignet für kleinere Projekte mit wenigen Teammitgliedern
• Implementierung direkt im Code
• Schnell umgesetzt

Nachteile

• Bei verteilten Teams schwer umsetzbar
• Unübersichtlich
• Nicht auf andere Projekte 1zu1 übertragbar
• Von "außen" nur bedingt steuerbar
• Änderungen erfordern Anpassungen der Software


Statische Konfigurationsdatei

Eine weitere sehr häufige Variante stellen Config Dateien dar, welche bspw. über Filesystem oder Konfigurationsendpunkte von der Anwendung konsumiert werden können.

Vorteile

• Steuerung von "außen"
• Änderungen je nach Implementierung auch zur Laufzeit möglich
• Für CI/CD-Aufgaben geeignet

Nachteile

• Komplexere Toggles je nach Implementierung nicht auf andere Projekte adaptierbar
• Zumeist nur für Boolesche Werte verwendbar (on/off)
• Unübersichtlich
• Steuerung erfordert Zugriff auf Infrastruktur
• Steuerung und Pflege erfordert zumeist Expertenwissen


Feature Flag Management Software

Eine weitere Variante bieten Feature Flag Management Systeme. Diese gibt es von unterschiedlichen Herstellern meist als SaaS Lösung mit passenden Client SDKs zur Nutzung. Einige Hersteller bieten auch open source Varianten an.

Vorteile

• Steuerung von "außen" auch zur Laufzeit möglich
• Fertige SDKs für schnelle Integration
• Funktionsumfang zumeist für die gängigsten Anwendungsszenarien geeignet
• Pattern für alle Services einheitlich verwendbar
• Steuerung der Toggles über UI auch für Nicht-Entwickler möglich

Nachteile

• Vendor Login
• Abhängigkeit zu Drittsystem
• Kosten

Alle Flags im Blick!

Switchover Feature Flag Management hilft dir bei der Verwaltung deiner Feature Flags.

Jetzt ausprobieren
Switchover app screenshot