Ein klassisches Deployment mit dem Server für wenige Minuten anzuhalten, war lange eine akzeptierte Praxis. Für Anwendungen mit kontinuierlicher Nutzung, etwa durch Kunden in unterschiedlichen Zeitzonen, wird jede Unterbrechung jedoch zunehmend spürbar und unerwünscht.

Das Grundprinzip hinter Zero-Downtime-Deployment

Der gemeinsame Nenner aller Zero-Downtime-Ansätze ist, dass die neue Version einer Anwendung bereitsteht und getestet wird, während die alte Version weiterhin Anfragen bedient. Erst wenn die neue Version nachweislich funktioniert, wird der Datenverkehr umgeleitet, ohne dass Nutzer eine Unterbrechung bemerken.

Blue-Green-Deployment im Detail

Bei Blue-Green-Deployment existieren zwei vollständig identische Umgebungen. Während eine Umgebung live den Datenverkehr bedient, wird die neue Version in der anderen Umgebung eingerichtet und getestet. Ist alles bereit, wird der Datenverkehr auf die neue Umgebung umgeschaltet. Bei Problemen lässt sich sofort auf die vorherige Umgebung zurückschalten, was Blue-Green-Deployment zu einer der sichersten Methoden macht.

  • Blue-Green-Deployment: zwei vollständige Umgebungen, schneller Rollback möglich
  • Rolling-Update: Instanzen werden nacheinander schrittweise aktualisiert
  • Canary-Deployment: neue Version erhält zunächst nur einen kleinen Teil des Datenverkehrs
  • Datenbankänderungen müssen bei allen Methoden separat und rückwärtskompatibel geplant werden

Rolling-Updates als ressourcenschonende Alternative

Statt zwei vollständige Umgebungen vorzuhalten, aktualisiert ein Rolling-Update die laufenden Instanzen einer Anwendung nacheinander. Während eine Instanz aktualisiert wird, bedienen die übrigen weiterhin Anfragen. Dieser Ansatz braucht weniger zusätzliche Ressourcen als Blue-Green-Deployment, macht einen vollständigen Rollback aber etwas aufwendiger.

Canary-Deployment für besonders vorsichtige Umstellungen

Beim Canary-Deployment erhält zunächst nur ein kleiner Teil der Nutzer die neue Version, während der Großteil weiter mit der bewährten Version arbeitet. Zeigt sich die neue Version als stabil, wird der Anteil schrittweise erhöht, bis alle Nutzer versorgt werden. Dieser Ansatz eignet sich besonders für Änderungen mit unsicherem Risiko.

Womit man realistisch beginnen sollte

Für Teams ohne bisherige Erfahrung mit diesen Methoden ist ein einfaches Rolling-Update meist der zugänglichste Einstieg, da es mit den meisten modernen Deployment-Werkzeugen bereits eingebaut verfügbar ist. Blue-Green- und Canary-Deployment lassen sich schrittweise ergänzen, sobald die grundlegende Automatisierung zuverlässig läuft.

Zero-Downtime-Deployment ist kein einzelnes Werkzeug, sondern eine Kombination aus Architekturentscheidungen, sorgfältiger Planung von Datenbankänderungen und der passenden Deployment-Strategie für die jeweilige Anwendung.

Passt das zu Ihrer Umgebung?

Sprechen Sie mit BashClouds über Ihre konkrete Situation, ohne Verpflichtung.

Projekt anfragenWeitere Artikel