© saicle/Shutterstock.com
Stabilität verteilter Systeme in komplexen Anwendungslandschaften

Das muss das System abkönnen!


Die Performanz und Stabilität einer einzelnen Anwendung wird zumeist im Rahmen eines Last- und Performancetests während der Neuentwicklung geprüft. Doch was tun, wenn sich das produktive System später im Zusammenspiel mit zahlreichen Schnittstellen in einer komplexen heterogenen Anwendungslandschaft als instabil herausstellt? Im Falle von Ausfällen oder Performanceeinbrüchen drohen dem betroffenen Unternehmen neben einem Reputationsverlust oft auch finanzielle Einbußen. Wie ist das Vorgehen bei der Analyse von Stabilitätsproblemen, und was sind die typischen Probleme mit verteilten Systemen, die durch Architekturtrends wie SOA, Cloud Orchestration und Microservices mehr und mehr entstehen?

Unter Betriebsstabilität versteht man ganz allgemein den laufenden (Produktiv-)Betrieb einer Anwendung innerhalb der definierten Rahmenparameter. Konkret bedeutet dies aus der Sicht der Endanwender:

  • Die Anwendung ist verfügbar.

  • Sie reagiert auf Eingaben („responsiveness“).

  • Die allgemeine Performance entspricht den Anforderungen (Leistung).

Schließlich gilt eine Anwendung auch nur dann als stabil, wenn sie sich selbstständig, also ohne (manuelle) Eingriffe von außen, aus „instabilen“ Betriebszuständen wieder erholen kann. Eine instabile Anwendung nehmen die Benutzer als „schwergängig“, das heißt mit einer stark schwankenden Performance oder sporadischen Ausfällen, wahr.

In einfachen monolithischen Systemen ist die Ursache meistens schnell ermittelt und behoben, sei es eine unerwartete Last durch zu viele Benutzer oder ein Infrastrukturausfall. Mit zunehmender Verteilung von Systemen durch interne und externe Services und heterogene Technologien lassen sich die Ursachen jedoch nicht immer sofort ermitteln und beheben. Oftmals ist nur ein Neustart mehrerer Systeme der einzige Ausweg.

Von der Hypothese zur Ursache

Aufgrund der Vielzahl von unterschiedlichen Ursachen und den meist unvollständig vorliegenden Informationen bietet sich ein hypothesenbasiertes Vorgehen an (Abb. 1), um schnell einige Ursachen auszuschließen. Auch wenn es zahlreiche Werkzeuge zum Application Performance Management und Monitoring am Markt gibt (AppDynamics, CA Technologies etc.), so ist der Aufbau einer umfangreichen Überwachung nicht nur sehr aufwendig, sondern beeinflusst den laufenden Produktionsbetrieb selbst so stark, dass die eigentlichen Störungen überlagert werden können.

Zu Anfang sollte deshalb immer eine Sammlung aller bereits verfügbaren Informationen stehen: Sichtung aller vorhande...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang