© saicle/Shutterstock.com
Warum frühere Best Practices im Deployment nicht mehr funktionieren

Nichts bleibt, wie es war


In der Tech-Welt wird oft von „Best Practices“ gesprochen, aber selten wird anerkannt, dass diese sich im Laufe der Zeit ständig weiterentwickeln und verändern. Alle Best Practices sind nichts anderes als eine Destillation der Herausforderungen einer gegebenen Situation zu einem normalerweise optimalen Kompromisspaket. Beste Beispiele dafür sind die Development-Workflows.

Mit dem technologischen Fortschritt ändern sich gemachte Kompromisse. Was früher kompliziert und teuer war, kann einfacher und billiger werden (und manchmal kann das, was früher einfach und billig war, kompliziert und teuer werden). Das bedeutet, dass sich Best Practices mit technologischem Fortschritt weiterentwickeln müssen. Was einst der Vorreiter war, kann mittlerweile verlustbringend sein.

Das 3-Stufen-Deployment-Modell

Ein Beispiel für eine solche Entwicklung sind die Development-Workflows. Früher waren Serverumgebungen teuer und zeitaufwendig im Aufbau und in der Wartung. Sie erforderten physische Hardware, manuelle Installation von Software und manuelle Pflege, um auf dem neuesten Stand zu bleiben. Das war damals eine Rechtfertigung dafür, nur ein Produktivsystem zu haben und sonst nichts. Das führte zu einem Entwicklungsmodell von „meinem Desktop und der Produktion“ oder „nur Produktion“, wenn man kein Glück hatte. Alles, was robuster, aber zeitintensiver war, lohnte sich für kleinere Installationen nicht.

Im Laufe der Zeit wurde der Branche klar, dass dies ein schlechter Kompromiss war. „Hack it on production“ wurde durch das berühmte 3-Stufen-Modell (Abb. 1) Dev ➞ (Testing) ➞ Staging ➞ Prod ersetzt (bzw. manchmal auch durch ein 4-Stufen-Modell, wenn man das Budget hatte):

  1. Bei der Entwicklung wird Code bearbeitet, normalerweise auf dem lokalen Computer des Entwicklers.

  2. Beim Testing wird der Code mehrerer Entwickler zusammengeführt. Hier finden Integrationstests, Benutzerakzeptanztests und andere QA-Tests statt. Manchmal wird diese Etappe mit Staging kombiniert.

  3. Staging ist ein Vorveröffentlichungswartebereich, in dem der Code in einer produktionsähnlichen Umgebung getestet wird.

  4. Production ist die Livewebseite.

garfield_deployment_1.tif_fmt1.jpgAbb. 1: Das 3-Stufen-Modell

Der Vorteil des 3/4-Schichten-Modells besteht darin, dass der Code von mehreren Personen überprüft und getestet werden kann, bevor er die Livesite erreicht. Der Witz dabei: Jeder hat einen Testserver; einige Leute haben das Glück, auch einen separaten Produktionsserver zu haben. Das ist ein Fortschritt gegenüber dem Arbeiten auf der Produkt...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang