Canary Release vs Feature Flags
Es ist eine Bereitstellungsstrategie, die verwendet wird, um das Risiko zu minimieren.
| Canary Release | Feature Flags | |
|---|---|---|
| Definition | Ein Canary Release ist eine Bereitstellungsstrategie in der Softwareentwicklung, um das Risiko der Einführung einer neuen Version zu verringern, indem sie zunächst einer kleinen Gruppe von Nutzern zur Verfügung gestellt wird. | Feature Flags, auch bekannt als Feature Toggles, sind eine Technik, die es Entwicklern ermöglicht, bestimmte Funktionalitäten in einer Softwareanwendung zu aktivieren oder zu deaktivieren, ohne die Codebasis zu ändern. |
| Categories | Bereitstellung, DevOps, Risiken, Veröffentlichung | A/B Testing, CD, CI, Entwicklung |
Was ist ein Canary Release?
Es ist eine Bereitstellungsstrategie, die verwendet wird, um das Risiko zu minimieren.
Definition
Ein Canary Release ist eine Bereitstellungsstrategie in der Softwareentwicklung, um das Risiko der Einführung einer neuen Version zu verringern, indem sie zunächst einer kleinen Gruppe von Nutzern zur Verfügung gestellt wird.
Herkunft
Der Name stammt von Bergarbeitern, die einen Kanarienvogel in einem Käfig in die Kohlebergwerke mitnahmen. Wenn giftige Gase in das Bergwerk einströmten, würde der Kanarienvogel sterben, bevor es die Bergarbeiter tun.
Überwachung
Das System wird sorgfältig auf Probleme überwacht, und wenn die neue Version gut funktioniert, wird sie allmählich mehr Benutzern zur Verfügung gestellt.
Rollback
Wenn Probleme festgestellt werden, kann die Veröffentlichung zurückgerollt und die alte Version für alle Benutzer wiederhergestellt werden.
Auswahl
Verschiedene Strategien werden verwendet, um auszuwählen, welche Benutzer der neuen Version ausgesetzt werden, wie zufällige Stichproben oder Auswahl basierend auf Demografie.
Was ist ein Feature Flag?
Es ist eine Technik, die das Aktivieren oder Deaktivieren von Funktionalitäten ermöglicht.
Definition
Feature Flags, auch bekannt als Feature Toggles, sind eine Technik, die es Entwicklern ermöglicht, bestimmte Funktionalitäten in einer Softwareanwendung zu aktivieren oder zu deaktivieren, ohne die Codebasis zu ändern.
Implementierung
Sie können mit booleschen Werten in Konfigurationsdateien implementiert werden, die bedingt überprüft werden, um zu bestimmen, ob eine Funktionalität sichtbar und aktiv sein sollte oder nicht.
Anwendungsfälle
Sie werden in Continuous Deployment (CD)-Ansätzen, Canary Releases, A/B Testing und zur Verwaltung der Sichtbarkeit von Funktionalitäten für verschiedene Benutzersegmente verwendet.
Vorteile
Feature Flags ermöglichen eine sicherere und effizientere Entwicklung und erlauben Teams, neue Funktionen zu implementieren und zu testen, ohne die gesamte Benutzerbasis zu beeinflussen.
Wachstum
Die Verwendung von Feature Flags hat mit dem Aufkommen von Agile, DevOps und kontinuierlichen Bereitstellungspraktiken in der Softwareentwicklung an Popularität gewonnen.
Konfiguration
Sie können mit einem Dienst wie Bullet Train oder Launch Darkly definiert werden, einen benutzerdefinierten Backend-Dienst erstellen oder lokale Dateien innerhalb der Anwendung verwenden.