Die größten Herausforderungen beim Einsatz von Microservices

Im dritten Teil dieser Reihe soll es nun um die Herausforderungen gehen, vor denen Unternehmen und IT-Abteilungen stehen, wenn sie auf Microservices setzen. Denn der Prozess ist durchaus komplex.

Wie bereits angedeutet, gibt es bei Microservices einige Besonderheiten und darunter ist die Skalierung ein Kernthema, denn diese erfordert bei Microservices eine komplett andere Herangehensweise als IT-Abteilungen das vielleicht von monolithischen Architekturen gewöhnt sind. Monolithen beruhen meist darauf, die Arbeitslast auszubalancieren und die Applikation mehrfach zu kopieren und über verschiedene Server hinweg bereitzustellen, damit nicht ein Server überlastet wird.

Bei Microservices ist die Skalierung vielleicht einfach zu verstehen, dafür aber umso komplizierter umzusetzen. Basisregeln und Prinzipien, die in der Theorie gut klingen, funktionieren in der realen Umgebung nicht immer so wie erwartet, wenn Millionen an Anfragen per Stunde zu handhaben sind.

Folgende Aspekte und Herausforderungen sind zu beachten:

1. Die Komplexität von Microservices handhaben

Unter Komplexität versteht jeder etwas anderes. Aber grundsätzlich ist darunter ein System aus vielen einzelnen Komponenten gemeint, welche in bestimmten zeitlichen und sachlichen Kontexten miteinander interagieren. Innerhalb der IT ist nicht nur eine grundsätzliche Verschiebung in der Technologie zu beobachten, sondern auch der Weg, wie Komponenten miteinander verbunden sind, wie sie miteinander kommunizieren.

Eine nützliche Methode, um eine komplexe Umgebung wie Microservice-orientierte Lösungen zu handhaben, ist es, sie als Netzwerk zu visualisieren. Netzwerkanalysen sind ein Werkzeug, um strukturelle Eigenschaften und Knotenpunkte im Schema zu verstehen (Microservices, Komponenten und Abhängigkeiten) – und wie sie vor unerwartetem Versagen zu schützen sind, um die notwendige Resilienz und Stabilität zu erzeugen.

2. Den Überblick behalten

Als kleine, eigenständige Einheiten mit klar definierten Aufgaben, die über APIs zusammenarbeiten, können Microservices in großer Zahl über die gesamte Architektur hinweg förmlich explodieren – von dutzenden zu hunderten. Wer neue Microservices zu einer Anwendung hinzufügt, macht die Lösung komplexer. Hier ist es daher notwendig, sicherzustellen, dass die neuen Microservices sich gemeinsam mit den bestehenden skalieren lassen. Ein fehlerhafter Microservice kann nicht nur Teile, sondern im schlimmsten Fall den kompletten Service zum Einsturz bringen. Und diesen Fehler dann aufzuspüren, kann zu einem IT-Alptraum werden.

Unternehmen können hier aber auf bestehende Lösungen zurückgreifen, die es erlauben, die entsprechende Microservices-Umgebung zu planen, zu managen und für eine höhere Sicherheit entsprechend zu überwachen. Darunter fallen beispielsweise Registry-Werkzeuge, die es Services erlauben, sich automatisch zu registrieren und andere Services zu entdecken. Auch liefern diese Werkzeuge Möglichkeiten, die Last über verschiedene Services hinweg zu verteilen.

3. Probleme nachverfolgen

Protokollierung ist ein wichtiger Teil jeder Software-Entwicklung, aber in einer Microservice Architektur kann es schnell schwierig werden, Probleme zwischen Komponenten in einer Software-Umgebung nachzuverfolgen. Um der Microservice-Monitoring-Herausforderung gerecht zu werden, bedarf es zusätzlicher Skills wie Mapping-Anfragen an Microservices, Topologien oder die Instrumentalisierung zentraler Endpunkte, die Informationen von anderen Services sammeln.

Es ist zudem wichtig, eine Basis normaler Aktivitäten innerhalb einer dynamischen Umgebung zu etablieren, Abhängigkeiten zwischen Services – innerhalb des Kontexts von Überwachung – zu verstehen und Ereignisse innerhalb einer Infrastruktur-Ebene (wie dem Host-Server) mit anderen Ebenen (wie den Anwendungsservices) zu korrelieren.

4. Microservice-Kommunikation

Kommunikation ist eine wesentliche Herausforderung bei Microservices. Klare Richtlinien zum Betrieb zu erstellen und Verantwortlichkeiten zu definieren, ist als Gemeinschaftsaufgabe für Architekten und Entwickler zu betrachten. Beide müssen hier die gleiche Sprache sprechen und dabei die die Eigenheiten sowie en Kontext der einzelnen Dienste berücksichtigen.

Wenn ein Service unzählige Microservices skaliert, ist ein klares Verständnis von Features und Anforderungen jedes einzelnen Microservice entscheidend für das Funktionieren dieser Architektur. Frameworks wie Swagger können als Tool genutzt werden, um klar festzulegen, wie Microservices eigentlich arbeiten sollten.

5. Expertise aufbauen

Ein Team, das aus Fehlern lernt, baut Wissen auf, das sich für die Zukunft für ein besseres Ergebnis nutzen lässt. Automatisierung und Wiederholbarkeit sind zwei Charakteristika eines reifen Prozesses im Management von Microservices.

Zusammenfassung

Die Probleme, die beim Einsatz von Microservices entstehen, lassen sich in der Regel in die Bereiche Komplexität, Kommunikation und Monitoring einordnen. Was nicht verwundert, denn große Architekturen halten auch immer große Herausforderungen – und somit auch Kompromisse – bereit. Deshalb sollte man bei der Wahl eines Vorgehens zur Problemlösung auch keine unnötigen Kompromisse eingehen. Microservices sind sinnvoll und skalierbar, wenn man sich darauf vorbereitet und das Team das Thema mit den richtigen Werkzeugen angeht. Kurz: Unternehmen und IT-Abteilungen müssen sich gut vorbereiten!

Download: Marktübersicht für Digital Workplaces & Mobility-Lösungen

Unternehmen sind mit neuen Technologien und hohem Bedarf an Vernetzung & Schnelligkeit konfrontiert. Jetzt im Marktüberblick von Crisp Research erfahren, welche Anbieter hier unterstützen.

Klicken Sie zum Download einfach auf das Bild und Sie werden automatisch weitergeleitet.

Download: Markt- und Anbieterüberblick für Digital Workplaces und Mobility-Lösungen

Unternehmen sind mit neuen Technologien und hohem Bedarf an Vernetzung & Schnelligkeit konfrontiert. Jetzt im Marktüberblick von Crisp Research erfahren, welche Anbieter hier unterstützen.

Klicken Sie zum Download einfach auf den Button und Sie werden automatisch weitergeleitet.