Zum Inhalt springen

Zero-Downtime-Deployment

Was ist Zero-Downtime-Deployment?

Zero-Downtime-Deployment bedeutet, neue Versionen einer Website oder eines Onlineshops ohne Ausfall live zu stellen. Die Seite zeigt dabei auch keine Wartungsseite. Besucher bemerken den Wechsel nicht, Bestellungen laufen während der Aktualisierung weiter.

Wie funktioniert Zero-Downtime-Deployment?

Die neue Version wird vollständig vorbereitet, bevor sie aktiv wird. Bei einem verbreiteten Verfahren entsteht sie in einem eigenen Verzeichnis auf dem Server, wird dort installiert und geprüft und erst am Ende per Umschalten eines Verweises aktiviert. Bei größeren Systemen laufen alte und neue Version auf getrennten Servern. Der Datenverkehr wird dann schrittweise oder auf einen Schlag umgeleitet. Geht etwas schief, lässt sich auf die vorherige Version zurückschalten. Automatisiert wird das meist über eine Deployment-Pipeline.

Zero-Downtime-Deployment in der Praxis

Für Code allein ist ein Wechsel ohne Ausfall gut beherrschbar. Schwieriger sind Änderungen an der Datenbank, weil alte und neue Version für einen Moment gleichzeitig darauf zugreifen. Datenbankänderungen müssen deshalb so geplant werden, dass beide Versionen damit funktionieren. Auch Caches, Suchindizes und laufende Hintergrundprozesse brauchen beim Umschalten Aufmerksamkeit. Bei großen Shopsystemen lässt sich nicht jedes Update völlig ohne Unterbrechung einspielen, ein geplantes kurzes Wartungsfenster in ruhigen Zeiten ist dann die ehrlichere Lösung. Ein verlässliches Deployment mit Testumgebung, Tests und Rückfalloption gehört zu jeder professionellen Betreuung und Wartung.

Abgrenzung zu verwandten Begriffen

Deployment bezeichnet allgemein das Ausliefern einer neuen Version, Zero-Downtime beschreibt den Anspruch, dabei keinen Ausfall zu verursachen. Continuous Deployment meint die automatische Auslieferung jeder geprüften Änderung, setzt Zero-Downtime aber praktisch voraus.