Feature Flags und progressive Rollouts
Entkoppeln Sie Deployment und Release mit Feature Flags, stellen Sie neue Funktionen schrittweise bereit und deaktivieren Sie sie sofort, wenn etwas schiefläuft.
Feature Flags und progressive Rollouts ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Deployment oder Release
Eine wichtige Idee bei fortgeschrittener Bereitstellung ist: Das Deployment von Code und das Veröffentlichen eines Features sind nicht dasselbe.
Was ist ein Feature-Flag
Ein Feature-Flag (oder Toggle) ist eine Bedingung in Ihrem Code, die einen Konfigurationswert prüft und entscheidet, ob ein Codepfad ausgeführt wird.
if (flags.isEnabled('new-checkout')) {
renderNewCheckout();
} else {
renderOldCheckout();
}Warum Flags besser sind als Branches
Lang laufende Feature-Branches führen zu schwierigen Merges. Mit Flags können Sie kleine Änderungen kontinuierlich in main mergen, während das Feature verborgen bleibt.
- Kleinere, sicherere Pull Requests
- Trunk-basierte Entwicklung
- Sofortiges Ein- und Ausschalten ohne erneutes Deployment
Arten von Flags
Flags erfüllen unterschiedliche Zwecke:
- Release-Flags — unfertige Arbeiten verbergen
- Ops-Flags — Not-Aus-Schalter für risikoreiche Systeme
- Experiment-Flags — A/B-Tests
- Berechtigungs-Flags — Premium-Nutzer freischalten
Wenn Sie den Typ kennen, können Sie seine Lebensdauer besser festlegen.
Zielgruppenregeln
Flag-Plattformen ermöglichen es Ihnen festzulegen, wer ein Feature sieht: anhand der Benutzer-ID, der Gruppe, der Region oder eines Prozentsatzes.
Damit wird ein progressiver Rollout möglich, der durch Konfiguration statt durch das Deployment neuer Infrastruktur gesteuert wird.
Rollouts nach Prozentsatz
Ein gängiges Muster ist, ein Flag zunächst für einen kleinen Prozentsatz der Benutzer zu aktivieren und den Anteil dann schrittweise zu erhöhen: 1 %, dann 10 %, dann 50 %, dann 100 %.
Im Gegensatz zu einem Canary, der den Traffic auf Infrastrukturebene aufteilt, handelt es sich hier um einen logischen Rollout, der in der Code-Konfiguration gesteuert wird.
// Pseudo targeting config
flag: new-checkout
rollout:
percentage: 10
attribute: userIdNot-Aus-Schalter
Der größte operative Vorteil: Wenn sich ein Feature mit aktiviertem Flag fehlerhaft verhält, schalten Sie es sofort aus, ohne ein Rollback-Deployment durchzuführen.
Das verkürzt die Mean Time to Recovery im Vergleich zum Zurücksetzen des Codes und einem erneuten Deployment erheblich.
Flags in der Pipeline
Sie können Flag-Änderungen in CI/CD integrieren. Beispielsweise kann ein Workflow-Schritt ein Flag nach einem erfolgreichen Deployment aktivieren oder einen schrittweisen Rollout planen.
- name: Enable feature
run: |
curl -X PATCH https://flags.example.com/api/flags/new-checkout \
-H "Authorization: Bearer ${{ secrets.FLAG_TOKEN }}" \
-d '{"enabled": true}'Standardmäßig deaktiviert und sicher
Entwerfen Sie Flags immer so, dass sie sicher ausfallen: Wenn der Flag-Service nicht erreichbar ist, sollte der Code auf den bekannten funktionierenden Standardwert zurückfallen (üblicherweise deaktiviert).
Ein Feature-Flag darf niemals zu einem Single Point of Failure werden.
const enabled = flags.isEnabled('new-checkout', { default: false });Flags bereinigen
Flags erzeugen verzweigte Codepfade. Veraltete Flags werden zu technischen Schulden und verwirren Leser.
Wenn ein Release-Flag vollständig ausgerollt und stabil ist, entfernen Sie es und löschen Sie den alten Codepfad. Verfolgen Sie die Lebensdauer von Flags bewusst.
Flags und Deployment-Muster
Feature-Flags ergänzen Blue/Green- und Canary-Deployments. Infrastrukturmuster verschieben den Traffic; Flags verschieben die Funktionalität.
Zusammen ermöglichen sie das sicherste mögliche Release: unauffällig deployen, schrittweise sichtbar machen und bei Bedarf sofort deaktivieren.
Kurzer Test
Testen Sie Ihr Verständnis von Feature-Flags.
Zusammenfassung
Sie haben gelernt, Deployment und Release mit Feature-Flags voneinander zu trennen.
- Flags verbergen Code hinter einer konfigurationsgesteuerten Bedingung
- Zielgruppensteuerung ermöglicht progressive Rollouts nach Prozentsatz
- Not-Aus-Schalter ermöglichen eine sofortige Wiederherstellung ohne erneutes Deployment
- Entwerfen Sie Flags so, dass sie sicher ausfallen, und bereinigen Sie sie, um technische Schulden zu vermeiden
Zusammen mit Blue/Green und Canary vervollständigen Flags Ihr Werkzeugset für fortgeschrittene Bereitstellungen.
Häufig gestellte Fragen
Ist die Lektion „Feature Flags und progressive Rollouts“ kostenlos?
Ja — der vollständige Text von „Feature Flags und progressive Rollouts“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Feature Flags und progressive Rollouts“?
Entkoppeln Sie Deployment und Release mit Feature Flags, stellen Sie neue Funktionen schrittweise bereit und deaktivieren Sie sie sofort, wenn etwas schiefläuft. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um DevOps Bootcamp zu starten?
Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Feature Flags und progressive Rollouts“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?
Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Blue-Green-Deployments
- Canary-Releases mit Actions
- Rollbacks und Disaster Recovery
- Feature Flags und progressive Rollouts