Suchen

Expertenbeitrag

Karsten Flott

Karsten Flott

SE Manager CER, AppDynamics

Wie sich modulare IT-Umgebungen performant betreiben lassen

Microservices – flexible und effiziente Architekturen für das Internet der Dinge

| Autor/ Redakteur: Karsten Flott / Redaktion IoT

Die digitale Transformation und das Internet der Dinge haben tiefgreifende Auswirkungen auf Unternehmen: Zentrale Geschäftsprozesse werden mehr und mehr digitalisiert und automatisiert, um den gestiegenen Anforderungen gerecht zu werden.

Firmen zum Thema

Flowmap
Flowmap
( APM-Lösung AppDynamics )

Sowohl Mitarbeiter als auch Kunden erwarten schnellere und agilere Abläufe, was eine leistungsfähige IT-Basis voraussetzt. Auch die Administrierbarkeit, Performance und Verfügbarkeit von Applikationen muss mit der zunehmenden Dynamik des Nutzerverhaltens Schritt halten. Silo-Architekturen, wie sie noch in vielen Unternehmen betrieben werden, sind hier nicht zielführend. Die isolierte Abarbeitung von Prozessen und Anwendungen innerhalb großer Einheiten führt zu starren, unflexiblen Strukturen. Dies wirkt sich auch auf Entwicklungsprozesse aus: Ändert sich nur ein kleiner Teil der Anwendung, ist es erforderlich, den Code der gesamten Anwendung anzufassen, anzupassen und zu testen, was einen langwierigen und verhältnismäßig zur Änderung hohen Aufwand verursacht.

Entkoppelung und Modularisierung von Anwendungen

Einen Ausweg bieten Microservices: Hierbei werden monolithische Applikationen in kleinere Komponenten zerlegt. Dienste werden voneinander entkoppelt und sie erhalten eine kleine Aufgabe. So bekommt die Anwendungssoftware eine modulare, flexible Struktur. Die Vorteile von Microservices sprechen für sich: Dank der Unabhängigkeit können sie autonom skaliert und isoliert entwickelt werden. Zudem reduzieren Microservices den Aufwand für Wartung und Administration: Sie sind klein und lassen sich flexibel durch eine Neuimplementierung ersetzen. Bei einem Problem muss nur der jeweilige Microservice gewartet werden, so dass nicht das komplette System betroffen ist.

Höhere Komplexität von Überwachung und Betrieb

Es gibt aber auch Nachteile: Beispielsweise erhöhen Microservice-Architekturen die Komplexität der Ende-zu-Ende-Überwachung von Anwendungen. Anders als in konventionellen Infrastrukturen müssen bei der Kommunikation von Microservices die Schnittstellen gesondert gemanagt werden. Zwar vereinfachen Container-Technologien wie etwa Docker die Verwaltung der Verteilung von Microservices. Eine Überwachung ist aber dennoch erforderlich, möchte man die komplette Supply Chain einer Anwendung berücksichtigen. Zudem wird das Betriebsmanagement komplizierter, da jede Benutzertransaktion viele verschiedene Dienste beansprucht. Überdies erfolgt die Administration von Microservice-Architekturen in der Regel durch diverse kleine Entwickler-Teams. Da diese häufiger neuen Code in der Produktionsumgebung implementieren, können laufende Prozesse beeinträchtigt werden. Und auch die User Experience kann bereits durch einen Fehler in einem einzigen Dienst empfindlich leiden.

Es stellt sich die Frage, wie Microservice-Architekturen trotz dieser Einschränkungen effizient betrieben werden können. Von entscheidender Bedeutung hierfür ist ein konsequentes Echtzeit-Monitoring des gesamten Applikations- und Transaktionsverhaltens. Dabei muss die Überwachung zahlreicher kleiner Instanzen im Kostenmodell berücksichtigt sein. Für einen fehlerfreien Betrieb ist sowohl eine asynchrone Transaktionsverfolgung als auch ein Screening der Komponenten erforderlich. Mit einer Application Performance Management (APM)-Software lassen sich diese Anforderungen problemlos abdecken. Damit können sämtliche Dienste kontinuierlich überwacht und verlässliche Aussagen in Echtzeit über die Performance des kompletten Systems getroffen werden.

Geblockte Threads schnell identifizieren

Wie sich mit APM-Lösungen typische Herausforderungen in Microservice-Architekturen optimieren lassen, soll folgendes Beispiel verdeutlichen: In entsprechenden hochskalierbaren Umgebungen greifen häufig zahlreiche Threads auf bestimmte Objekte zu, was zu einer so genannten Thread Contention führen kann. Diese entsteht, wenn mehrere Threads beim Objektzugriff zueinander in Konkurrenz treten. Das Ergebnis sind lästige Timeouts und verlangsamte Antwortzeiten. Abhilfe schafft eine APM-Software, mit der sich einfach und schnell durch eine Real Time Thread Contention Analyse die geblockten Threads und deren Abhängigkeit identifizieren lassen. Dadurch können die negativen Auswirkungen auf die Performance zeitnah erkannt und behoben werden. Informationen über die geblockte Zeit, das blockende Objekt sowie die blockende Codezeile beschleunigen den Prozess zusätzlich. Dank Thread-Contention-Analyse lassen sich Performance-Engpässe durch geblockte Threads also wesentlich schneller erkennen und eliminieren. Die Leistungsfähigkeit und Dynamik von Microservice-Umgebungen wird dadurch deutlich gesteigert.

Innovative APM-Lösungen verfügen auch über ein Feature namens Service-Endpoint-Analyse. Dieses erkennt automatisch, welche Services innerhalb welcher Business-Transaktionen verwendet werden und somit auf welche Nutzeraktion die jeweiligen Services einen Einfluss (positiv wie negativ) haben. Überdies erhält der Anwender einen Überblick über wichtige Key Performance Indikatoren (KPI) der Services wie Aufrufe pro Minute, durchschnittliche Antwortzeiten und Fehler pro Minute. Die Ursachen für eine unzureichende Performance bestimmter Services und deren Einfluss auf die jeweilige Business-Transaktion lassen sich damit rascher und präziser analysieren, bewerten sowie beheben. Zudem erhöht sich die Effizienz der Problemanalyse.

Fazit

Microservice-Architekturen setzen sich aufgrund ihrer vielen Vorteile mehr und mehr in der Unternehmens-IT durch. Für einen effizienten und stabilen Betrieb ist eine Ende-zu-Ende-Überwachung sowie Analyse aller Anwendungen, Transaktionen und Komponenten in Echtzeit unerlässlich. Hilfreich hierbei ist eine moderne Application Performance Management Software, mit der sich die aktuelle System-Performance jederzeit beobachten und die Geschwindigkeit von Microservice-Umgebungen deutlich erhöhen lässt. Erreicht wird dies unter anderem durch ausgefeilte Funktionen für das Screening von Business-Transaktionen, die Analyse von Performance-Schwächen sowie die Identifikation geblockter Threads.

Über den Autor

Karsten Flott

Karsten Flott

SE Manager CER, AppDynamics

articom / 123rf; www.pixabay.com; Photo by Carlos Muza, Unsplash; ©dynatrace; ; APM-Lösung AppDynamics; gemeinfrei; metamorworks - stock.adobe.com; Anna-Lena Hillenbrand; Siemens Healthineers; Palo Alto Networks