Blue-Green Deployment
Blue-Green Deployment ist eine Technik zur Minimierung von Ausfallzeiten während der Softwarebereitstellung.
Klassifikation
- KomplexitätMittel
- AuswirkungTechnisch
- EntscheidungstypArchitektur
- OrganisationsreifeReif
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Fehler in der Deployment-Strategie
- Unsichtbare Fehler in der neuen Umgebung
- Benutzerakzeptanzprobleme
- Stetige Überwachung der Umgebung
- Regelmäßige Backups durchführen
- Transparente Kommunikation im Team
I/O & Ressourcen
- Entwicklungsressourcen
- Deployment-Tools
- Testdaten
- Funktionierende Softwareversion
- Zufriedene Benutzer
- Minimale Beschwerden
Beschreibung
Blue-Green Deployment ermöglicht es Teams, neue Softwareversionen mit minimalen Unterbrechungen einzuführen. Dabei wird eine zweite Produktionsumgebung genutzt. Dies reduziert das Risiko und sorgt für eine sofortige Rückfalloption, falls Probleme auftreten.
✔Vorteile
- Weniger Ausfallzeiten
- Höhere Kundenzufriedenheit
- Verbesserte Fehlerbehebung
✖Limitationen
- Zusätzliche Infrastrukturkosten
- Komplexität der Verwaltung
- Erhöhter Planungsaufwand
Trade-offs
Metriken
- Bereitstellungszeit
Die Zeit, die benötigt wird, um eine neue Version bereitzustellen.
- Benutzerführung
Das Maß an Unterstützung, das Endbenutzern während des Rollouts geboten wird.
- Fehlerquote
Die Häufigkeit von Fehlern nach der Bereitstellung einer neuen Version.
Beispiele & Implementierungen
Firmenwebsite
Eine große Firma hat ihre Website mithilfe von Blue-Green Deployment aktualisiert, was zu einer nahtlosen Benutzererfahrung führte.
Mobile App Updates
Ein Unternehmen implementiert App-Updates ohne Ausfallzeiten durch den Einsatz von Blue-Green Deployment.
E-Commerce Plattform
Eine E-Commerce-Plattform verwendet Blue-Green Deployment, um Designänderungen schnell und ohne Schnittstelle für die Benutzer bereitzustellen.
Implementierungsschritte
Planung und Vorbereitung der Umgebung
Durchführen des Deployments
Überwachen der Performance nach dem Deployment
⚠️ Technische Schulden & Engpässe
Tech Debt
- Unzureichende Dokumentation der Prozesse
- Mangelnde Ressourcen für Infrastruktur
- Priorität auf schnelle Verbesserungen
Bekannte Engpässe
Beispiele für Missbrauch
- Rollback ohne Analyse der Probleme
- Unzureichendes Ressourcenmanagement
- Mangelnde Vorbereitung der beiden Umgebungen
Typische Fallen
- Vernachlässigung der Testphase
- Übermäßige Isolierung der Umgebungen
- Unzureichende Schulung des Teams
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • Eingeschränkte technische Ressourcen
- • Notwendige Schulungen für das Team
- • Compliance-Vorgaben