Staging Environment

staging-environment

Copyright © Shutterstock / Thx4Stock

Was ist Staging Environment?

Als Staging Environment, ĂŒbersetzt Inszenierungsumgebung, wird eine Serverumgebung bei der Software- und Webseitenentwicklung bezeichnet, die es ermöglicht, Software und Webseiten unter annĂ€hernd realen Bedingungen zu testen.

Bei der Softwareentwicklung ist eine Umgebung ein Computersystem, in dem ein Computerprogramm oder eine Softwarekomponente bereitgestellt und ausgefĂŒhrt wird. Im Fall von einfachen Projekten, zum Beispiel bei der Entwicklung und sofortigen AusfĂŒhrung eines Programms auf demselben Computer, ist nur eine einzelne Umgebung vorhanden. Bei komplexen Anwendungen werden die Entwicklungsumgebung, wo Änderungen ursprĂŒnglich vorgenommen werden, und die Produktionsumgebung, die Endbenutzer verwenden, voneinander getrennt. Oft mit mehreren weiteren Umgebungen dazwischen. Dieser strukturierte, sogenannte Release-Management-Prozess ermöglicht es, im Fall von Problemen eine phasenweise Bereitstellung (Rollout), Tests und gegebenenfalls Rollbacks durchzufĂŒhren.

Software Entwicklungs-Architekturen

Im Allgemeinen werden die Stufen von der Entwicklung bis zur Produktion einer Software oder Webseite gebĂŒndelt. Eine gĂ€ngige 4-stufige (4-Tier) Architektur umfasst die Entwicklung, das Testen, das Staging Environment und die Produktion (abgekĂŒrzt: DEV, TEST, STAGING, PROD).

Das Vier-Stufen-Entwicklungsmodell

Jeder Webentwickler sollte mit dem Vier-Stufen-Implementierungsmodell fĂŒr Entwicklung, Tests, Bereitstellung und Produktion vertraut sein. In den meisten FĂ€llen ist dies der “Standard” fĂŒr das Erstellen, Testen und Bereitstellen von Webanwendungen und beinhaltet:

Hier nehmen die Entwickler Änderungen am Code vor. Die Entwicklungsumgebung ist in der Regel eine lokale Umgebung mit einem Mandanten, zum Beispiel das Laptop eines Entwicklers.
Dies ist eine Integrationsumgebung, in der Entwickler Änderungen zusammenfĂŒhren, um zu testen, ob sie zusammenarbeiten. Es kann auch eine QualitĂ€tssicherungs-Umgebung sein.
Hier werden getestete Änderungen mit optimalerweise produktionsgleichen Infrastrukturen und Daten ĂŒberprĂŒft, um sicherzustellen, dass sie ordnungsgemĂ€ĂŸ funktionieren, wenn sie freigegeben werden.
Et justo duo dolores et ea …

Dieses Modell gibt es seit einiger Zeit und wird oft als eine Art Best Practice fĂŒr Entwicklungs-Architekturen bezeichnet. Das Four-Tier-Entwicklungsmodell entstand aus einer zunehmenden KomplexitĂ€t beim Entwurf, Testen, Staging und Ausliefern von Webanwendungen und physischen EinschrĂ€nkungen der Computerinfrastruktur. Als die KomplexitĂ€t der Software zunahm, begannen Entwickler mit komplexeren Entwicklungsumgebungen fĂŒr die Bereitstellung von Software. Auf diese Weise konnte das Entwicklungsmodell in eine Reihe von Schritten aufgeteilt werden, die den Tests, die fĂŒr komplexe Anwendungen erforderlich waren, besser entsprachen. Dabei wird der entwickelte Code durch diese Ebenen verschoben, wobei jede Ebene eine gewisse Garantie fĂŒr die zunehmende Konsistenz der Daten und der Umgebung sowie fĂŒr die QualitĂ€t des Codes bietet.

Andere ĂŒbliche Umgebungen umfassen zusĂ€tzlich oder alternativ die QualitĂ€tssicherung (QA) fĂŒr Akzeptanztests, Sandboxen fĂŒr Experimente, die nicht in die Produktion gehen sollen und das sogenannte Disaster Recovery, um bei Problemen mit der Produktion einen sofortigen RĂŒckfall zu ermöglichen. Eine weitere Architektur ist die Entwicklung, Testen, QualitĂ€tssicherung und Produktion, abgekĂŒrzt DTAP fĂŒr DEV, TEST, QA, PROD.

Die einzelnen Umgebungen können sehr unterschiedliche GrĂ¶ĂŸen haben. Bei der Entwicklung (DEV) ist es typischerweise eine individuelle Entwickler-Workstation. Bei großen Projekten können aber auch Tausende Entwickler beteiligt sein. Test und QualitĂ€tssicherung (QA) können klein oder groß sein, abhĂ€ngig von den dafĂŒr eingesetzten Ressourcen. Staging Environment kann ebenfalls von einem einzigen Computer bis zu einem genauen Duplikat der Produktion praktisch jede GrĂ¶ĂŸenordnung umfassen.

Staging Environment – letzte Stufe vor der Produktion

Staging Environment ist eine Umgebung fĂŒr abschließende Tests unmittelbar vor der Übergabe einer Software an die Produktion oder der Veröffentlichung einer Webseite. Sie versucht, die tatsĂ€chliche Produktionsumgebung so genau wie möglich abzubilden und kann sich mit anderen Produktionsdiensten wie Datenbanken, verbinden. Beispielsweise werden Server auf Remotecomputern und nicht lokal ausgefĂŒhrt, wodurch der Netzwerkeffekt auf dem System getestet wird.

Die primĂ€re Verwendung des Staging Environment besteht darin, alle Skripts und Prozeduren fĂŒr die Installation, Konfiguration und Migration zu testen, bevor sie in der Produktionsumgebung angewendet werden. Dadurch soll sichergestellt werden, dass alle grĂ¶ĂŸeren und kleineren Upgrades in der Produktionsumgebung zuverlĂ€ssig und ohne Fehler in kĂŒrzester Zeit durchgefĂŒhrt werden. Ein weiterer wichtiger Einsatzbereich des Staging Environment ist der Performance Test und insbesondere Belastungstest in einer möglichst realen Umgebung.

Erst, wenn der Code alle Anforderungen erfĂŒllt und die Änderungen gegebenenfalls von einem externen Auftraggeber freigegeben wurden, wird der Code in die Produktionsumgebung verschoben und steht den Nutzern zur VerfĂŒgung.

Staging-Datenbankserver und Staging-Server

Das Staging Environment umfasst in der Regel zwei wesentliche Hardware-Komponenten. Den Staging Environment Datenbankserver und den Staging-Server. Der Staging-Datenbankserver enthĂ€lt meist einen Klon der GeschĂ€ftsdaten, Produktkataloge sowie weiterer Datenbankressourcen, die auf den Datenbankservern in der Produktionsumgebung bereitgestellt werden sollen. Benutzer können GeschĂ€ftsdaten in der Stagingumgebung aktualisieren, sodass sie die Änderungen testen und genehmigen können, bevor Sie die Änderungen in die Produktionsumgebung ĂŒbernehmen. Die Staging Environment Umgebung verhindert eine Unterbrechung der Produktionsumgebung und der Dienste durch die Isolierung der Test- und Produktionssysteme.

Der Staging-Server ist ein Spiegel des Produktions-Servers. Staging-Projekte werden auf dem Staging-Server erstellt, um Site-Updates von der Testumgebung in die Produktionsumgebung zu implementieren. Der Staging-Server kann auch zur Bereitstellung von Updates fĂŒr geografisch verteilte Umgebungen ĂŒber ein WAN (Wide Area Network) verwendet werden. Benutzer und interne Entwickler können so verschiedene Aspekte der Website eines Unternehmens mit Sitz irgendwo auf der Welt Ă€ndern, wobei sich die Test- und Produktionsumgebungen in einem lokalen Rechenzentrum befinden.

Die Vor und Nachteile des Staging Environment

In einer Entwicklungsumgebung ist es fĂŒr einen Entwickler nicht erkennbar, wie gut sein Code mit dem gesamten anderen Programmcode im System funktioniert. Dies ist erst im Staging Environment möglich. Das Staging Environment ist zwar eine Kopie der Produktionsumgebung, muss jedoch keine echten Benutzerkonten und Daten enthalten. Dadurch ist es möglich, in der RealitĂ€t nur selten auftretende FĂ€lle zu testen. Beispielsweise, wie sich das System verhĂ€lt, wenn Benutzernamen Sonderzeichen enthalten oder ein Konto den Benutzer als 143-jĂ€hrigen Mann ausweist. Es ist besser, diese Daten in der Staging Environment als in der Produktionsumgebung zu erstellen und zu testen.

Entwickler können mit dem Staging Environment ausgiebig alle erdenklichen Vorkommnisse testen, ohne befĂŒrchten zu mĂŒssen, dass das Produktionssystem versehentlich heruntergefahren wird oder dass echte Benutzerdaten bearbeitet oder gelöscht werden. Ein weiterer Vorteil ist, dass neue Funktionen einer Anwendungssoftware oder einer Webseite vor der Freigabe unter realen Bedingungen durch den Auftraggeber ausfĂŒhrlich getestet und auf ihre Eignung geprĂŒft werden können.

Ein Nachteil sind die hohen Kosten, die fĂŒr die Bereitstellung der Ressourcen (Hardware und Personal) fĂŒr das Staging Environment entstehen. Bei weniger komplexen Projekten wird das 4-Tier-Entwicklungsmodell daher oft auf ein 2-Tier-Modell reduziert. Dabei wird nur die Entwicklungsumgebung von der Produktionsumgebung getrennt und auf die Inszenierungsumgebung verzichtet.

FAQ

Was ist ein Staging-Server?

Ein Staging-Server ist eine Art Server, die oft benutzt wird, um verschiedene Softwares zu testen, oder eine Website.

Hinweis

Wenn Sie noch weitere Informationen bezĂŒglich Online Marketing benötigen, können Sie dann gerne unserem Glossar besuchen und sich ĂŒber das Thema informieren, wo Sie noch speziell Fragen haben. 

 


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte