Anmelden / Registrieren Konto

Cloudnative Anwendungen

Zustandsbehaftet oder zustandslos?

Jump to section

Der Zustand einer Anwendung (oder eines anderen Objekts) ist ihr Status oder ihre Qualität zu einem bestimmten Zeitpunkt. Ob etwas zustandsbehaftet oder zustandslos ist, hängt davon ab, wie lange der Zustand der Interaktion erfasst wird und wie diese Informationen gespeichert werden müssen. 


Zustandslos

Ein zustandsloser Prozess oder eine zustandslose Anwendung kann als isoliert verstanden werden. Es gibt keine gespeicherten Kenntnisse oder Verweise auf vergangene Transaktionen. Jede Transaktion wird wie zum ersten Mal von Grund auf neu durchgeführt. Zustandslose Anwendungen bieten einen einzelnen Service oder eine Funktion und verwenden CDN-(Content Delivery Network-), Web- oder Druckserver, um diese kurzfristigen Anforderungen zu verarbeiten. 

Ein Beispiel für eine zustandslose Transaktion wäre eine Online-Suche, die eine spontane Frage von Ihnen beantwortet. Sie geben Ihre Frage in eine Suchmaschine ein und drücken die Eingabetaste. Wenn Ihre Transaktion versehentlich unterbrochen oder geschlossen wird, starten Sie einfach eine neue. Stellen Sie sich eine zustandslose Transaktion als eine Art Verkaufsautomat vor: eine Anfrage ergibt eine Antwort. 


Zustandsbehaftet

Im Gegensatz dazu kann auf Anwendungen und Prozesse, die ihren Zustand behalten oder zustandsbehaftet sind, mehrfach zugegriffen werden, wie beim Online-Banking oder bei E-Mails. Sie werden im Kontext vorangegangener Transaktionen ausgeführt, und die aktuelle Transaktion kann von deren Ablauf beeinflusst werden. Aus diesen Gründen verwenden zustandsbehaftete Apps jedes Mal dieselben Server, wenn sie eine Anforderung eines Nutzers verarbeiten.  

Wenn eine zustandsbehaftete Transaktion unterbrochen wird, wurden der Kontext und die Historie gespeichert, sodass Sie mehr oder weniger dort weitermachen können, wo Sie aufgehört haben. Zustandsbehaftete Apps erfassen Dinge wie bevorzugte Einstellungen, die Fensterposition und die letzten Aktivitäten. Sie können sich zustandsbehaftete Transaktionen als ein fortlaufendes Gespräch mit derselben Person vorstellen.

Die meisten Anwendungen, die wir täglich verwenden, sind zustandsbehaftet. Doch mit fortschreitender Technologie erleichtern Microservices und Container das Erstellen und Bereitstellen von Anwendungen in der Cloud. 


Container und Zustände

Mit der zunehmenden Beliebtheit von Cloud Computing und Microservices nimmt auch die Containerisierung von Anwendungen zu, ob zustandsbehaftet oder zustandslos. Container sind Codeeinheiten für eine Anwendung, die zusammen mit ihren Libraries und Abhängigkeiten paketiert sind, sodass sie problemlos verschoben und in jeder Umgebung ausgeführt werden können, sei es auf einem Desktop, in einer herkömmlichen IT-Infrastruktur oder in einer Cloud. 

Ursprünglich wurden Container so programmiert, dass sie zustandslos waren, was ihrer portierbaren, flexiblen Natur entsprach. Mit zunehmender Verbreitung von Containern begann man jedoch, vorhandene zustandsbehaftete Apps zu „containerisieren" (also von Grund auf für eine Ausführung in Containern zu programmieren und zu paketieren). Dadurch wurden diese Apps flexibel und schnell genug für die Containerausführung und verfügten gleichzeitig über die Storage- und Kontextfunktionen zustandsbehafteter Apps.

Zustandsbehaftete Apps können daher zustandslosen Apps sehr ähnlich sein. So können Sie beispielsweise eine App haben, die zwar zustandslos ist und keinen Langzeit-Storage benötigt, es dem Server jedoch ermöglicht, Anforderungen von einem bestimmten Client mithilfe von Cookies zu verfolgen. 


Verwaltung zustandsloser und zustandsbehafteter Container

Mit der zunehmenden Beliebtheit von Containern begannen Unternehmen, Möglichkeiten zur Verwaltung sowohl zustandsloser als auch zustandsbehafteter Container mithilfe von Data Storage, Kubernetes und StatefulSets bereitzustellen. Zustandsbehaftung ist heute ein wesentliches Merkmal des Container-Storage. Es geht daher nicht mehr darum, ob, sondern nur wann zustandsbehaftete Container verwendet werden. 

Ob Sie zustandsbehaftete oder zustandslose Container verwenden sollten oder nicht, hängt davon ab, welche Art von App Sie erstellen und was die App tun muss. Zustandslosigkeit ist der richtige Weg, wenn Sie nur vorübergehend und schnell Informationen benötigen. Wenn Ihre App mehr Informationen von einer Sitzung zur nächsten speichern soll, sind zustandsbehaftete Container möglicherweise der bessere Weg.


Zustandsbehaftet oder zustandslos – auf jeden Fall mit Red Hat

Ganz gleich, ob es um zustandsbehaftete oder zustandslose Apps geht: Red Hat hat, was Sie brauchen. Ob Sie zustandsbehaftete Container auf Red Hat OpenShift, unserer unternehmensfähigen Kubernetes-Plattform, orchestrieren oder mit Red Hat Integration eine einheitliche Umgebung für die Anwendungsentwicklung erstellen möchten – Sie erhalten Unterstützung durch unseren vielfach ausgezeichneten Support und unser großes Partnernetzwerk. 

Erfahren Sie, wie Sie mit allen unseren Produkten Lösungen entwickeln, die Entwicklerproduktivität verbessern und Innovationen fördern können – mit Open Source-Software.

Mehr über Red Hat OpenShift erfahren