Definition

Stateful App (Zustandsorientierte Anwendung)

Eine zustandsorientierte Anwendung ist ein Programm, das Client-Daten aus den Aktivitäten einer Sitzung zur Verwendung in der nächsten Sitzung speichert. Die gespeicherten Daten werden als Zustand der Anwendung bezeichnet.

Apps können zustandsorientiert oder zustandslos sein. Bei zustandsorientierten Anwendungen werden die Client-Daten entweder lokal oder auf einem Remote-Host gespeichert, bis sich der Benutzer abmeldet oder die Sitzung nach einer bestimmten Zeitspanne abläuft. Die Sitzungsdaten, die in einem persistent Storage abgelegt werden, sind für den Server, den Client und andere Anwendungen zugänglich.

HTTP hingegen ist von Natur aus zustandslos. Ein Webserver speichert keine Informationen aus mehreren Sitzungen. Wenn also ein Zustand für eine Webanwendung benötigt wird, muss er eingebaut werden. Falls gewünscht, können zustandsorientierte Funktionen in dynamische Seiten eingebaut werden. Diese Seiten können Sitzungen über Webadressvariablen und server- und clientseitig gespeicherte Daten beibehalten. Cookies sind eine gängige Methode zur Speicherung solcher Daten.

Die meisten Desktop-Anwendungen und Betriebssysteme sind zustandsorientiert. In den Anfängen des Cloud Computingwurden Entwickler jedoch ermutigt, zustandslose Anwendungen zu entwickeln, da zustandsorientierte Anwendungen in der verteilten, virtualisierten Architektur der Cloud nicht gut skalierbar waren. Die Begrenzung von Datenspeichern auf bestimmte Standorte war in einer Umgebung, in der virtuelle Maschinen selbst zustandslos waren, schwierig. Das Ergebnis war, dass zustandsorientierte Anwendungen, die direkt in die Cloud verschoben wurden, oft instabil wurden.

Die Containerisierung ändert dies. Diese Virtualisierungsmethode auf Betriebssystemebene zum Bereitstellen und Ausführen verteilter Anwendungen ermöglicht es, Dateien beim Start in den Container zu ziehen und beim Stoppen und Starten des Containers an einem anderen Ort zu belassen, ohne dass für jede Anwendung eine ganze VM gestartet werden muss. Googles Kubernetes unterstützt beispielsweise zustandsorientierte Anwendungen, mit dem Hosts benannt werden können und auch nach einem Neustart des Containers bestehen bleiben. 

Diese Definition wurde zuletzt im September 2023 aktualisiert

Erfahren Sie mehr über Data-Center-Betrieb