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