Flaggen über Flaggen: Wie Optimizely Feature Flags einsetzt
Haben Sie sich jemals gefragt, ob Feature Flags-Anbieter ihre eigenen Produkte verwenden?
Bei Optimizely verkaufen wir nicht nur Feature Flags - wir leben sie jeden Tag.
Tatsächlich nutzen wir unsere Feature Experimentation Plattform, um neue Funktionen zu liefern... unsere Feature Experimentation Plattform. Ja, das ist eine Metaebene. Wir verwenden Feature Flags, um Feature Flags zu veröffentlichen. 🤯
Das ist kein "nice to have". Auf diese Weise bauen wir schneller, stellen sicherer bereit und schaffen Innovationen in großem Maßstab.
Bevor wir auf unsere spezifischen Anwendungsfälle eingehen, sollten wir uns fragen, warum dies wichtig ist:
Die harte Wahrheit über Feature-Releases
Die meisten Teams gehen bei der Veröffentlichung von neuen Funktionen unnötige Risiken ein, indem sie:
- Direkt in die Produktion gehen und hoffen, dass nichts kaputt geht
- alle Funktionen ungeachtet des Risikos mit demselben Bereitstellungsprozess behandeln
- Engpässe schaffen, wenn Produktentscheidungen technische Implementierungen erfordern
- komplexe Verzweigungsstrategien entwickeln, die die Integration verzögern
Wir wissen das, weil wir es selbst erlebt haben.
Ohne Feature Flags wird jede Veröffentlichung zu einem riskanten Spiel, bei dem Ihre Benutzerfreundlichkeit, Ihre Entwicklungszeit und Ihr Umsatz auf dem Spiel stehen.
Wie genau setzt Optimizely also unsere eigene Technik zur Kennzeichnung von Features ein?
Hier sind drei Beispiele aus der Praxis von unserem Entwicklungsteam:
1. Feinabstimmung von KI-Funktionen ohne technische Engpässe
Lernen Sie Optimizely Opal kennen - Ihre unendlichen Mitarbeiter, die den Nutzern helfen, bessere Experimente zu erstellen, die Ergebnisse zu analysieren und neue Ideen zu entwickeln.
Unter der Haube wird Opal von hochmodernen LLM-Modellen von unseren strategischen Partnern wie Google und Microsoft angetrieben. Aber hier wird es interessant.
Wir verwenden Feature Flags nicht nur, um zu steuern, ob KI-Funktionen ein- oder ausgeschaltet sind, sondern auch, um genau zu bestimmen, wie sie funktionieren.
Zum Beispiel verwenden wir Feature Flags zur Steuerung:
- Welches LLM-Modell Opal antreibt (je nach Bedarf wird zwischen den Modellen gewechselt)
- wie diese Modelle konfiguriert werden (Temperatur, Token, Parameter)
- Welche Prompt-Vorlagen wir verwenden
- Welche Benutzersegmente Zugang zu welchen KI Funktionen erhalten
Bei der Instrumentierung eines Feature Flags wie diesem besteht ein Ansatz darin, die Konfiguration des LLM für jede Variante hart zu kodieren:
const { createInstance } = require("@optimizely/optimizely-sdk"); import OpenAI from "openai"; const optimizely = createInstance({ sdkKey: "<YOUR_SDK_KEY>", }); const openAIClient = new OpenAI(); const user = optimizely.createUserContext("user123"); const decision = user.decide("llm_flag"); const variationKey = decision["variationKey"]; if (variationKey === "control") { // Code für control variation ausführen const completion = await openAIClient.chat.completions.create({ model: "gpt-4o", messages: [ { role: "user", content:
"Sie sind ein Geschichtenerzähler, der sich auf skurrile Märchen spezialisiert hat. Schreiben Sie eine Ein-Satz-Schlafgeschichte über ein Einhorn.", // Betonung auf skurril }, ], }); } else if (variationKey === "Behandlung") { // Code für Behandlungsvariante ausführen const completion = await openAIClient.chat.completions.create({ model: "gpt-4o-mini", messages: [ { role: "user", content:
"Sie sind ein Kinderbuchautor. Schreiben Sie eine Ein-Satz-Geschichte über ein Einhorn.", // Betonung auf "altersgerecht" }, ], }); }
Das Problem? Jede Änderung erfordert den Eingriff des Entwicklers, was zu Engpässen führt, wenn es schnell gehen muss.
Wir machen es anders.
Die alte Methode? Festcodierte Konfigurationen = langsame Iteration.
Unser Weg? Dynamische Flag-Variablen = totale Kontrolle, null Deployments.
Dieser Ansatz bedeutet, dass unser Produktteam das KI-Verhalten ohne technische Abhängigkeiten ändern kann. Wir können von unserem Feature Experimentation Dashboard aus verschiedene Prompts testen, Modelle wechseln und Parameter anpassen, ohne dass wir den Code ändern müssen.
const { createInstance } = require("@optimizely/optimizely-sdk"); import OpenAI from "openai"; const optimizely = createInstance({ sdkKey: "<YOUR_SDK_KEY>", }); const openAIClient = new OpenAI(); const user = optimizely.createUserContext("user123"); const decision = user.decide("llm_flag"); const completion = await openAIClient.chat.completions.create({ model: decision.variables.model, // zurückgegeben von Optimizely decision messages: [ { role: "user", content: decision.variables.prompt, // zurückgegeben von Optimizely decision }, ], });
Das führte zu:
- Dramatisch schnellere Zeit von der Idee bis zur Produktion von KI-Funktionen
- Mehr Experimente, die von Produktteams mit denselben technischen Ressourcen durchgeführt werden
- Weniger nächtliche Anrufe bei der Technik (Gott segne euch, Kill Switches 💙)
Aber es gibt einen noch wichtigeren Vorteil: Schlaf.
Unsere Ingenieure werden nicht mehr nachts angepiept, um dringende Probleme mit neuen KI-Funktionen zu beheben, denn wir können problematische Funktionen sofort über unser Feature Flag Dashboard deaktivieren.
2. Weniger Risiko bei der Markteinführung durch Canary-Tests
Lassen Sie uns über die Angst vor dem Start sprechen.
Dieses Gefühl, wenn Sie kurz vor der Veröffentlichung einer wichtigen Funktion stehen und darauf warten, dass die Support-Tickets eintrudeln? Diese "Angst vor dem Tag der Markteinführung"? Ja, wir vermissen es auch nicht.
Wir verwenden Feature Flags, um Canary-Tests für schrittweise, datengestützte Rollouts durchzuführen, die riskante Releases in sichere, skalierbare Einführungen verwandeln.
Als wir unser Custom Flags Dashboard, eine bedeutende Änderung der Kernfunktionalität, veröffentlicht haben, haben wir es nicht einfach für alle auf einmal freigegeben.
Stattdessen haben wir:
- Zuerst haben wir es für 5% der Kunden freigegeben (meist kleinere Kunden)
- Wir haben die Fehlerraten, die Leistungskennzahlen und das Feedback der Benutzer überwacht.
- Schrittweise Ausweitung auf 20%, dann 50%, dann 100%
- Wir informierten die Kunden vor der Einführung der Änderung.
Dieser Ansatz war sowohl vorsichtig als auch notwendig. Da unsere Plattform als kritische Infrastruktur für die Funktionsreleases unserer Kunden dient, könnte sich jede Unterbrechung auch auf deren Benutzer auswirken.
Als wir unsere gesamte Datenpipeline auf die Google Cloud Platform (GCP) migriert haben, haben wir Feature Flags ausgiebig genutzt, um den Übergang zu verwalten. Aber Canary-Testing ist nicht nur für Front-End-Änderungen geeignet. Wir nutzten sie auch für die Einführung von Infrastruktur-Updates, um das Risiko bei der schrittweisen Bereitstellung zu minimieren.
Die Verwendung von Feature Flags zur Steuerung der Migration ermöglichte uns dies:
- Risikominimierung: Wir konnten bei einer Leistungsverschlechterung sofort umkehren
- Geschäftskontinuität: Unsere Kunden sind auf eine kontinuierliche Datenverarbeitung angewiesen
- Skalierung und Validierung: Wir konnten überprüfen, ob die neuen Systeme die reale Last bewältigen, bevor wir sie voll einsetzen.
Wir haben diese umfangreiche Infrastrukturmigration mit nur wenigen von Kunden gemeldeten Vorfällen abgeschlossen, obwohl täglich Milliarden von Ereignissen verschoben wurden.
Die Lektion? Je größer die Veränderung ist, desto mehr brauchen Sie Feature Flags, um das Risiko zu minimieren.
3. Ausschalter: Ihr Notauswurfknopf
Manchmal gehen Dinge kaputt (es ist Software, wir verstehen das).
Aber es gibt einen gewaltigen Unterschied zwischen "Wir untersuchen das Problem und werden bald eine Lösung bereitstellen..." und "Wir haben es ausgeschaltet. Es ist erledigt."
Kill Switches sind unverzichtbar, denn sie verwandeln Produktionsvorfälle von Notfällen in kontrollierte, methodische Reaktionen.
Bei Optimizely hat jedes Feature einen Kill Switch - ein Feature Flag, mit dem wir es sofort deaktivieren können. Keine Code-Änderungen. Kein Deployment. Kein Drama.
Unser Service zur Erstellung von Datendateien stellt sicher, dass Flag-Updates die Endbenutzer in nur wenigen Sekunden erreichen, so dass wir mit Streaming-Diensten konkurrieren können, ohne die komplizierte Infrastruktur.
Wenn wir über unsere Überwachungssysteme Probleme feststellen, können wir die problematische Funktion sofort deaktivieren, ohne Druck untersuchen und während der normalen Arbeitszeiten eine angemessene Lösung bereitstellen. Keine Notfalleinsätze mehr bis spät in die Nacht.
Diese Funktion ist für unser Unternehmen aus mehreren Gründen besonders wichtig:
- Erhalt des Vertrauens: Als Plattform, die für die Erlebnisse unserer Kunden verantwortlich ist, ist die Minimierung von Ausfallzeiten nicht verhandelbar.
- Globale Auswirkungen: Da unsere Kunden in verschiedenen Zeitzonen leben, gibt es nie einen "guten Zeitpunkt" für einen Ausfall.
- Komplexe Abhängigkeiten: Funktionen interagieren oft auf unerwartete Weise, und eine schnelle Isolierung hilft bei der Diagnose
Flaggen sind jedoch kein Allheilmittel...
Feature Flags sind kein Ersatz für eine solide Rollback-Strategie.
Wir verwenden unser Produkt, um Aktualisierungen für sich selbst zu veröffentlichen ("Flaggen auf Flaggen"). In einem Worst-Case-Szenario, in dem eine fehlerhafte Funktion die Benutzeroberfläche unzugänglich macht, können wir die Funktion nicht aus der Ferne deaktivieren.
Aus diesem Grund unterhält unser Entwicklungsteam neben Feature Flags auch robuste Rollback-Prozesse, die uns einen mehrschichtigen Schutz bieten. Dieser mehrschichtige Ansatz ist unerlässlich, wenn Sie eine kritische Infrastruktur aufbauen, auf die sich andere verlassen.
Feature Flags als Produktstrategie
Die obigen Anwendungsfälle - von der KI-Feinabstimmung über Canary-Tests bis hin zu Kill Switches - zeigen, dass Feature Flags nicht nur ein technisches Werkzeug sind. Sie sind ein Werkzeug für die Produktstrategie.
Indem wir die Bereitstellung von der Veröffentlichung trennen, können wir:
- Schneller arbeiten: Kontinuierlich Code in die Produktion einbringen, ohne unfertige Funktionen preiszugeben
- Mehr experimentieren: Testen Sie Ideen mit echten Benutzern, bevor Sie sich auf sie festlegen.
- Das Risiko reduzieren: Begrenzen Sie das Risiko und bieten Sie sofortige Rollback-Optionen
- Befähigen Sie Produktteams: Geben Sie nicht-technischen Beteiligten die Kontrolle über Feature-Rollouts
Für unser Team haben Feature Flags die Art und Weise, wie sie über Veröffentlichungen denken, grundlegend verändert. Anstelle von Alles-oder-Nichts-Einführungen mit hohem Druck betrachten wir Veröffentlichungen jetzt als einen Regler, den sie schrittweise hochdrehen können, während sie die Auswirkungen messen.

Britt Hall
Sr. Director, Product Management
Wohin sich Feature Flags entwickeln werden
Mit Blick auf die Zukunft sehen wir, dass sich Feature Flags in mehrfacher Hinsicht weiterentwickeln werden:
- Unverzichtbare Kill Switches für autonome KI: Wenn Unternehmen von der Entwicklung von Funktionen, die die Funktionen des Benutzers ergänzen, zu Funktionen übergehen, die diese vollständig automatisieren (wie Agenten, die eigenständig handeln, um Ziele zu erreichen), werden Feature Flags zu wichtigen Kill Switches. Wenn Ihre KI mit zunehmender Autonomie arbeitet, wird die Fähigkeit, problematisches Verhalten sofort zu deaktivieren, zu einer entscheidenden Voraussetzung.
- KI-Sicherheit durch kontinuierliche Überwachung und Anpassung: Die KI-Sicherheit ist heute ein aktiver Forschungsbereich. Vor allem im B2C-Kontext kommen die Benutzer aus den unterschiedlichsten Bereichen, so dass es wichtig ist, das Potenzial der KI zu überwachen, identitätsbasierte Vorurteile (Alter, Geschlecht usw.) zu verstärken. Feature Flags ermöglichen es den Teams, die KI-Modelle im Handumdrehen zu optimieren, wenn entsprechende Muster auftauchen.
- Beherrschung der Komplexität bei der KI-gestützten Entwicklung: KI ist zwar hervorragend in der Lage, Code für neue Projekte zu schreiben, aber es fällt ihr schwer, die Feinheiten etablierter, umfangreicher Codebasen zu verstehen. Heute eignet sich KI hervorragend für Aufgaben wie das Schreiben von Unit-Tests, aber wenn die Systeme komplexer werden, sind Tools wie Feature Flags für sicheres Testen, Bereitstellen und Iterieren unerlässlich, insbesondere in einer KI-gestützten Welt.
- Testen von KI-Modellen ohne technischen Overhead: Da Unternehmen ihre eigenen KI-Funktionen entwickeln, ermöglichen Feature Flags das Testen verschiedener KI-Modelle ohne zusätzliche Codeänderungen. Sobald Sie das Flag implementiert haben, können Sie evaluieren, welche Modelle unter realen Bedingungen am besten abschneiden - und das alles von Ihrem Dashboard zum Feature Experimentieren aus, ohne zusätzlichen technischen Aufwand.
Erste Schritte mit Ihrer Feature Flags Strategie
Wenn Sie Feature Flags noch nicht verwenden oder sie nur für einfache Ein/Aus-Schalter nutzen, können Sie sich folgendermaßen verbessern:
- Beginnen Sie mit den Funktionen mit dem höchsten Risiko: Ermitteln Sie, wo Sie Kill Switches am meisten benötigen.
- Fügen Sie Variablen zu Ihren Flaggen hinzu: Kontrollieren Sie nicht nur, ob eine Funktion eingeschaltet ist, sondern auch wie sie funktioniert.
- Definieren Sie klare Verantwortlichkeiten: Legen Sie fest, wer welche Flags wann umschalten darf.
- Erstellen Sie Rollout-Muster: Erstellen Sie Vorlagen für verschiedene Arten von Releases (hohes Risiko vs. geringes Risiko)
- Verbinden Sie Flaggen mit Beobachtbarkeit: Stellen Sie sicher, dass Sie Probleme, die in APM-Plattformen wie Datadogidentifiziert wurden, schnell mitFlaggenänderungen korrelieren können.
- Führen Sie eine Flaggenverwaltung ein: Schaffen Sie Prozesse für die Erstellung, Überprüfung und Zurückziehung von Flaggen, um technische Schulden zu vermeiden.
Der häufigste Einwand, den wir hören, bezieht sich auf technische Schulden - "Werden all diese Flaggen nicht unsere Codebasis überladen?"
Dies ist zwar eine berechtigte Sorge, aber wir haben festgestellt, dass strategische, langlebige Flags von großem Wert sind. Erwägen Sie die Implementierung von permanenten Flags in Bereichen, mit denen Sie ständig experimentieren werden, wie z.B. Ihre Top-of-Funnel Landing Pages oder der Checkout-Flow. Mit Flag-Variablen können Sie jeden Aspekt dieser stark frequentierten Bereiche ohne Codeänderungen steuern.
Dieser Ansatz ermöglicht "unendliches A/B-Testing", d.h. die Durchführung iterativer Experimente ohne technische Abhängigkeiten. Testen Sie zunächst, was für alle am besten funktioniert, und führen Sie dann gezielte Tests für hochwertige Kundensegmente durch. Das Ergebnis ist ein kontinuierlich optimiertes Erlebnis, das sich mit Ihren Geschäftsanforderungen weiterentwickelt und das Sie über Ihr Feature Flag Dashboard verwalten.
Bei Optimizely haben wir aus erster Hand erfahren, wie Feature Flags die Entwicklung von einer Reihe großer, stressiger Markteinführungen in einen reibungslosen, kontinuierlichen Prozess kontrollierter Rollouts und datengestützter Entscheidungen verwandeln.
Möchten Sie sehen, wie Feature Flags den Entwicklungsprozess in Ihrem Team verbessern können?
👉 Testen Sie Feature Experimentation kostenlos - Sie erhalten Feature Flags ein Leben lang kostenlos!
Wenn Sie wissen möchten, wie andere Unternehmen mit Flaggen arbeiten, schauen Sie sich unsere Seite mit Kunden-Cases an.
Und wenn Sie Flaggen auf eine coole Art und Weise nutzen, lassen Sie uns darüber reden. Wir würden uns freuen, von Ihnen zu hören.
- Feature Management, Experimentation
- Last modified: 14.05.2025 18:42:26