Definition „Production Environment“ Was ist die Produktionsumgebung?

Autor / Redakteur: Egoloizos / Stephan Augsten

Die Produktionsumgebung dient dem Betrieb der Software und Anwendungen im konkreten Einsatz- bzw. Geschäftsbereich eines Kunden oder Nutzers. Sie entspricht nach Möglichkeit technisch und funktional der Staging-Umgebung.

Firmen zum Thema

In der Produktionsumgebung wird letztlich die Software betrieben, um dem konkreten Geschäftszweck des Kunden oder IT-Anwenders zu dienen.
In der Produktionsumgebung wird letztlich die Software betrieben, um dem konkreten Geschäftszweck des Kunden oder IT-Anwenders zu dienen.
(Bild: Ian Battaglia / Unsplash)

Die Produktionsumgebung ist eine der wichtigsten Umgebungen in der Software-Entwicklung und ist auch als Betriebsumgebung bekannt. Sie stellt diejenige Umgebung dar, auf der Anwendungen und Software betrieben werden, die dem konkreten Geschäftszweck des Kunden oder IT-Anwenders dienen.

Das bedeutet in der Entwicklung, dass eine Software oder ein Programm in der Produktiv-Umgebung im Rahmen des angedachten Verwendungszwecks getestet und genutzt wird. Im Allgemeinen ist die Anwendung der Software in der Produktiv-Umgebung geprägt von einer fortlaufenden und ständigen Überprüfung sämtlicher relevanter Funktionalitäten.

Zu diesem Zweck kommen Maßnahmen wie Monitoring, Logging oder Auditing zum Einsatz. Idealerweise handelt es sich in der Software-Entwicklung bei der Staging-Umgebung und der Produktiv-Umgebung jeweils um eine Kopie der anderen Umgebung. Im Idealfall entsprechend diese Umgebungen technisch und funktional einander, auch wenn dies in der Praxis selten 1:1 der Fall ist.

Eigenschaften und Bestandteile der Produktiv-Umgebung

Die Betriebsumgebung besteht aus der beim Kunden oder Endnutzer vorhandenen IT-Infrastruktur. Dazu gehört die vom Endanwender genutzte Software (beispielsweise das Betriebssystem) sowie die Hardware. Die zu testende Anwendung oder Software soll auf genau dieser Infrastruktur laufen. Gleichermaßen gehören die genutzten Echtdaten zur Produktivumgebung. Dazu zählen etwa die Datenbanken, Dokumente und ähnliches.

Auch, wenn keine identische Kopie der Staging-Umgebung möglich ist, sollten zumindest die wesentlichen Hardware- und Software-Komponenten einander so ähnlich wie möglich sein. Dies betrifft insbesondere die in Staging- und Produktionsumgebung verwendeten Bauteile. Auf diese Weise lässt sich ausschließen, dass es zu Kompatibilitäts-Problemen oder Konflikten kommt.

Im Bereich der Betriebsumgebung nehmen Entwickler im Allgemeinen keine Änderungen mehr vor. Die Arbeitskopie des Sourcecodes liegt bereits auf dem Live-Server. Nach einem vorherigen ausgiebigen Test und zahlreicher Prüfungs- und Verbesserungsmaßnahmen auf den unterschiedlichen Umgebungen konnte der Sourcecode schließlich veröffentlicht werden.

Stellenwert der Produktionsumgebung bei der Softwareentwicklung

Die Software- und Anwendungsentwicklung kennt zahlreiche Entwicklungsschritte auf dem Weg zum fertigen Endprodukt, sprich der lauffähigen und betriebsbereiten Anwendung auf der Infrastruktur des Nutzers. Mindestens sind dabei die Entwicklungsumgebung (Development Environment), die Staging-Umgebung und die hier vorgestellte Produktivumgebung von Relevanz. Diese Umgebungen können je nach Art und Umfang des Entwicklungsprojekt Ergänzung finden in einer Test-Umgebung sowie einer Qualitätssicherungs-Umgebung.

Bevor eine Anwendung in den Bereich der Produktivumgebung eintritt, hat sie in der Regel mindestens Development und die Staging Environment passiert. Die Entwicklungsumgebung dient der Erstentwicklung und damit der Umsetzung der Anforderungen an die Software. Die Development-Umgebung ist damit eine Arbeitsversion der Software oder Anwendung. Als solche befindet sich die Entwicklungs-Umgebung entweder auf einem lokalen Rechner oder einem gesicherten Server.

Die Development Environment dient den Anwendungs- oder Softwareentwicklern als Plattform, um Features des Produkts zu entwickeln oder zu ändern. Kennzeichnend für diese Umgebung ist die Möglichkeit, Einfluss auf den Quellcode zu nehmen. Sie ist gekennzeichnet vom Einsatz zahlreicher Testing-Tools, Debugging-Werkzeuge und Compiler.

Die Entwicklungsumgebung gewährt Entwicklern zudem bereits einen Zugriff auf einen Teil der Daten, mit denen letztlich gearbeitet werden soll. Auf diese Weise können sie solche Funktionen und Eigenschaften entwerfen, die zur Arbeit mit diesen Daten erforderlich sind. Im Falle mehrerer beteiligter Entwickler kommen in der Entwicklungsumgebung zudem oft Versionierungs-Softwaresysteme zum Einsatz. Änderungen durch verschiedene Beteiligte bleiben damit synchron und transparent.

Die Build-Umgebung dient im Anschluss der Kompilierung des Quellcodes. In der Testumgebung kommt es zu automatisierten Software-Tests. In der Staging-Umgebung kommt es schließlich zum Test der eingesetzten Anwendungen unter möglichst realitätsgetreuen Voraussetzungen. Sie setzt auf vergleichbare Komponenten und Infrastruktur wie die Release-Version. Dies ist mit einem gewissen Ressourcenaufwand verbunden. Die Infrastruktur, speziell die Hardware, der Staging-Umgebung sollte der Produktivumgebung weitgehend entsprechen.

Eigene Umgebung für Qualitätssicherung

Eine Ergänzung findet der Entwicklungsprozess durch eine Qualitätssicherung. Die Qualitätssicherungs-Umgebung dient Testern dazu, mögliche Fehler rechtzeitig zu identifizieren und zu vermeiden. Diese Umgebung ist als optional zu betrachten. Ihr Stellenwert wächst mit der Art und dem Umfang des Entwicklungs-Projekts. Bugs oder sonstige Ungereimtheiten im Code sollten rechtzeitig aufgedeckt werden. Somit lässt sich verhindern, dass sich Fehler fortsetzen und sich auf andere Umgebungen auswirken.

Wenn eine Qualitätssicherung zum Einsatz kommt, sind Development,- Produktiv- und Qualitätssicherungsumgebung strikt voneinander getrennt. In diesem Zusammenhang ist auch von einer Sandbox die Rede. Daten und Arbeiten bei der Entwicklung und beim Test sollten einander nicht in die Quere kommen.

Da die Produktionsumgebung der Nutzung des Programms im unmittelbar vorgesehenen Einsatzbereich des Kunden dient, sollten auch Produktiv- und Qualitätssicherungs-Umgebung weitgehend identisch sein. Auf diese Weise lassen sich in der Qualitätssicherung Fehler und Bugs rechtzeitig identifizieren und somit vermeiden, dass sie sich auf die Produktiv-Umgebung auswirken.

(ID:47489481)