Wir von zehnplus sind der starken Auffassung wenn immer möglich den best-practices und den Industriestandards zu folgen, wenn es um die Systemarchitektur und die Entwicklung von digitalen Lösungen geht.
Entwicklungs-, Staging- und Produktionsinstanzen
Es entspricht der gängigen Praxis, mehrere Instanzen eines Systems zu betreiben. Dazu verwenden wir eine Entwicklungsinstanz, in welcher die Arbeiten unserer Programmierer in einem ersten Schritt implementiert und getestet werden.
Danach werden die Anpassungen auf eine sogenannte Staginginstanz kopiert. Dieses System ist eine beinahe Kopie der Produktionsinstanz und dient dazu, Neuerungen und Anpassungen ausgiebig in einem Umfeld zu testen, welches der tatsächlichen Webseite möglichst nahe kommt.
Konnten alles Tests, manuell und teils automatisiert erfolgreich abgeschlossen werden, erfolgt die Übernahme der Anpassungen und Weiterentwicklungen auf die Produktionsinstanz (Live Instanz), wo diese dann im Internet zugänglich sind.
Deployment (Rollout) Prozess
Der Deployment Prozess beinhaltet die einzelnen Schritte, um eine oder mehrere Anpassungen auf die produktive Webseite einzuspielen. Eine solche Anpassung kann ein neues Feature sein, ein Bugfix, eine Konfigurationsanpassung, ein Sicherheitsupdate oder ähnliches.
Ein typisches Deployment sollte schnell erfolgen, einen spezifischen Zweck erfüllen und keine unbeabsichtigten Nebenwirkungen nach sich ziehen (Regression). Um dies zu erfüllen setzen wir auf folgende Strategien: Sourcecode Verwaltung mit Git, Entwicklungs-, Staging- und Produktionsinstanzen, sowie Qualitätssicherungsmethoden wie etwa automatisierte Tests.
Ein Beispiel eines solchen Deployments sieht in etwa wie folgt aus:
- Ein neues Feature wird gewünscht
- Das Feature wird konzipiert und entwickelt
- Das Feature wird auf die Staginginstanz eingespielt
- Das Feature wird vom Kunden getestet, bis es alle Anforderungen erfüllt
- Die automatisierten Tests werden laufen gelassen um sicherzustellen, dass alle anderen Funktionalitäten weiterhin korrekt laufen
- Das Feature wird auf die Produktionsinstanz (Live Website) eingespielt