Zum Hauptinhalt springen

Blogs

Der Staging-Prozess: Die Reise durch die einzelnen Umgebungen

Dies stellt lediglich eine Beispielmethode innerhalb eines Kundenprojektes dar und basiert demzufolge auf spezifischen Anforderungen.

In der Entwicklung von Software bildet der Staging-Prozess einen überaus wichtigen Schritt zur Sicherung von geschmeidigen Anwendungsänderungen in die Produktionsebene ohne ungewünschte Rückwirkungen. Das Testen, Validieren wie auch Observieren von Installation und Änderungen, bevor sie live gehen ist das Bestreben des Staging-Prozesses. Dieser Prozess wird auf alle Releases und Patches angewendet und umfasst eine Anzahl von 28 Arbeitstagen bis zur Bereitstellung in der Produktionsumgebung. (auch "Live-Schaltung" genannt) Die unten näher erläuterten Umgebungen müssen immer durchlaufen werden, da jede von ihnen einen eigenen Nutzen hat.

Das folgende stellt kurze Erklärungen der im Staging genutzten Umgebungen dar: DEV, TEST, LAST, INT, prePROD und PROD. Des Weiteren erläutert werden die individuellen Nutzen als auch Vorteile jeder Umgebung wie auch deren Zusammenspiel für das Sicherstellen von Qualität und Zuverlässigkeit.

  1. DEV-Umgebung: Als anfängliche Entwicklungs-Stufe der Anwendung arbeiten Entwickler hier an neuen Funktionen, Bug-Fixes als auch etwaigen anderen Änderungen. Als isolierte Umgebung beeinträchtigt die Arbeit der Entwickler die Funktionalität anderer Umgebungen nicht und ist somit äußerst flexibel. Bevor ein Release an die nächste Stufe im Staging-Prozess weitergegeben wird, kann dieser von den Entwicklern hier getestet und entsprechend ausgebessert werden.

  2. TEST-Umgebung: Hierbei handelt es sich um ein 1:1-Abbild der Produktionsumgebung, welche für weitgreifendes Testing genutzt wird. Entwickelte Funktionen, Bug-Fixes sowie anderweitige Änderungen werden gründlich überprüft, damit diese den Anforderungen gerecht und ihre Funktion gewährleistet werden können. So werden zahlreiche Tests durchgeführt, darunter zählend die in Funktion als auch die sogenannten „Smoke Tests“. Die TEST-Umgebung dient der frühzeitigen Identifizierung wie auch Bewältigung potentieller Probleme in der Software vor dessen Eintritt in die eigentliche Live-Umgebung.

  3. LAST-Umgebung: Die Umgebung fokussiert sich auf die Testung von Software-Kapazitäten bei realistischen Workload-Bedingungen. Performance-Prüfungen zur Gewährleistung von Effizienz und Stabilität der Software, selbst bei hohen Auslastungen, werden durchgeführt. So werden Bottlenecks und gegebene Schwächen identifiziert sowie die Skalierbarkeit der Anwendung validiert.

  4. INT-Umgebung: Die INT-Umgebung, auch als Integrations-Umgebung bekannt, bringt verschiedene Komponenten und Module der Software zusammen und vereint diese. Interfaces und Interaktionen zwischen verschiedenen Teilen der Anwendung werden hier zudem geprüft, um eine geschmeidige Funktionalität sowie anständige Kommunikation zu gewährleisten.

  5. prePROD-Umgebung: Auch als Vorproduktions-Umgebung bekannt stellt sie eine exakte Kopie der eigentlichen Produktionsumgebung dar. Einmal mehr werden hier tiefgreifende Tests durchgeführt, welche auf fehlerlose Anwendungsfunktion in einer realistischen Umgebung abzielen. So werden normalerweise letzte Tests wie Nutzer-Akzeptanz oder Kunden-Tests abgehalten, um einen reibungslosen Ablauf der Anwendung zu gewährleisten.

  6. PROD-Umgebung: Die PROD-Umgebung alias Produktions- oder Live-Umgebung, stellt den letztlichen Bereitstellungsort der Anwendung dar und wird vom Endnutzer genutzt. Hier soll die vollausgetestete und bereitgestellte Sofware letztlich laufen. All die Änderungen, welche durch die vorherigen Umgebungen erfolgreich hindurchgekommen sind werden dem Staging-Prozess nach hier zum Einsatz gebracht.

Die PROD-Umgebung ist von höchster Wichtigkeit, da sie den echten Nutzen einer Anwendung widerspiegelt. Performance, Zuverlässigkeit wie auch Sicherheit müssen hier gewährleistet sein. Da die PROD-Umgebung entscheidend für die Produktion ist, müssen Änderungen bzw. Updates sorgfältig inspiziert und verwaltet werden, um Downtimes oder etwaige Störungen zu minimieren. Regelmäßige Wartungsprozesse sind die Tagesordnung, um die Performance und die Sicherheit der Anwendung zu sichern.

Der Staging-Prozess zielt darauf ab, Risiken und Beeinträchtigungen durch Änderungen kleinzuhalten, bevor diese in der PROD-Umgebung wirksam werden. Jede Umgebung spielt eine wichtige Rolle in der Verifizierung von Qualität als auch Stabilität der Software. Durch das schrittweise Abarbeiten der einzelnen Umgebungen können Fehler vorzeitig entdeckt und neutralisiert werden, wodurch sich die Nutzererfahrung und einhergehend deren Zufriedenheit stets auf einem hohen Niveau halten.

Wenn Sie mehr über das Staging erfahren möchten, insbesondere bei der Nutzung von Kubernetes mit Vorproduktions-Setups, können wir unseren vorherigen Artikel mit dem Namen „Die Kunst des Stagings und wie man mit Updates mithalten kann“ wärmstens empfehlen!

Author: Tatjana Reither