Feature-Flags, auch als Feature-Toggles oder Release-Toggles bezeichnet, ermöglichen das Aktivieren oder Deaktivieren bestimmter Funktionen in Ihrer Software, ohne in den Code einzugreifen.
Feature-Flags sind besonders nützlich, wenn Sie CI/CD mit trunkbasierter Entwicklung kombinieren, da Sie so die Möglichkeit haben, ungehindert Commits in den Master zu übernehmen und vom Master aus Releases zu veröffentlichen, ohne neue Features sofort für Ihre Benutzer*innen freizugeben. Das Trennen von Deployment und Markteinführung vereinfacht auch die Koordination von Produkt- und Marketingaktivitäten mit der Verfügbarkeit neuer Features.
Sie können Feature-Flags mit einer einfachen Konfigurationsdatei implementieren, sodass ein Feature in einigen Umgebungen (z. B. Testen) aktiviert und in anderen (z. B. Staging und Live) deaktiviert wird. Denken Sie daran, dass die umfangreiche Verwendung von Feature-Flags die Komplexität erheblich erhöht und einen beträchtlichen manuellen Wartungsaufwand verursachen kann.
Wenn Sie mehr als eine Handvoll Feature-Flags gleichzeitig verwenden oder sie für A/B-Tests mit Benutzer*innen einsetzen möchten, sollten Sie die Verwendung einer Datenbank oder eines speziellen Tools erwägen, um die Verwaltung zu vereinfachen.