fbpx

Deployment Prozess: Definition & Vorteile


16.03.2021 | Felix Hartung | Entwicklung

Seit dem im Jahr 1913 das Fließband durch Henry Ford entwickelt wurde, hat sich das zum Industriestandard, z.B. in der Automobilbranche entwickelt. Heutzutage ist das Prinzip nicht mehr wegzudenken.

Doch wie läuft es in der Webentwicklung? Der Deployment-Prozess versteht sich als das digitale Pendant zum Fließband. Doch was versteht man überhaupt darunter? Und wieso ist Deployment gerade im eCommerce eines der wichtigsten Standbeine des Developments?

Definitition: Deployment Prozess

Deployment bedeutet aus dem Englischen übersetzt soviel wie „Einsatz/Bereitstellung“. Das bedeutet, der Deployment Prozess umfasst den Vorgang, der für die Bereitstellung einer Software oder Website/Webshop erforderlich ist.

Dieser Vorgang wird in der Webentwicklung automatisiert & durch verschiedene Softwarelösungen unterstützt. Jede Änderung im System, darunter auch Updates und Patches durchlaufen den Vorgang des Deployment Prozesses, um möglichst fehlerfrei beim Enduser anzukommen. Die Änderung soll so direkt ins gesamte System eingespeist werden.

Vorteile: Warum wir immer mit Deployment Prozess arbeiten

Die Entwicklungsstruktur einer Website ist ein sensibles System – D.h. selbst kleine Änderungen können großen Einfluss auf die Funktionalität des Systems haben. Daher ist äußerste Vorsicht geboten, gerade bei Webshops mit großen Umsätzen & Nutzerzahlen.

Würden alle Änderungen am Live-Betrieb durchgeführt werden, besteht ein hohes Fehlerrisiko, was zu Ausfällen & Umsatzeinbußen führen kann.

Wir legen daher hohen Wert darauf, Änderungen zuvor auf einem duplizierten Server durchzuführen, welcher den Live-Betrieb nicht beeinflusst. So kann vorher genau getestet werden, ob die Änderung das gewünschte Resultat herbeiführt oder Fehler auftauchen. Diese können dann korrigiert & erneut getestet werden. Erst nach einem fehlerfreien Testing werden die Änderungen deployed, also im Live-System bereitgestellt & übertragen.

So funktioniert unser Deployment

Die Grundvoraussetzung für einen funktionierenden Deployment-Prozess ist die Versionierung, z.B. über GIT. Versionierung ist ein System, welches die Änderungen an allen Dateien über den Zeitverlauf protokolliert, sodass jederzeit vorherige Versionen wiederhergestellt werden können. Die Versionen werden beschrieben, sodass ein genauer Überblick über den Änderungsverlauf herrschen kann. Das macht die Entwicklung sicherer & effektiver.

  • Entwicklungsserver: Im ersten Schritt wird eine Kopie des Live-Servers erzeugt, bei Kussin bezeichnet als „Work oder DEV“. Der Entwicklungsserver ist nur für Entwickler zugänglich & hat keinen Einfluss auf das Live-System. Hier werden alle Änderungen durchgeführt & versioniert. Nach der Fertigstellung durchläuft der Work einem strukturierten Testing.
  • Stage-Server: Nachdem die Änderungen implementiert sind, wird der Entwicklungsserver auf den zweiten Branch, den Stage-Server übertragen. Dieser dient nur zum Testen der Änderungen, nicht zur Korrektur oder Durchführung von Änderungen. Wird ein Fehler festgestellt, wird zurück in den DEV gemerged. Dort wird dann der Fehler behoben (Fix), die Version wird zurück auf den Stage übertragen und getestet. Sowohl durch uns, als auch den Kunden.
  • Live: Wurden nach dem letzten Testing keine Fehler mehr festgestellt? Perfekt. Nun erfolgt der Release, der letzte Abschnitt des Deployment-Prozesses. Die Version wird nun auf den Live-Server übertragen & ist nun auch für den Enduser sichtbar.

Um Fehler auf der letzten Ebene zu vermeiden, wird auch der Live-Betrieb sorgfältig getestet. Tauchen keine Fehler auf, ist der Deployment-Prozess abgeschlossen.