Dies ist der aktuellste Artikel der Reihe “10 Cloud-Trends, die das Jahr 2022 prägen werden”, ausgehend von diesem ersten Blog-Artikel.

Immer mehr Unternehmen entscheiden sich wegen der beschleunigten Entwicklungsgeschwindigkeit und wegen der Vorteile, die die (Multi-)Cloud mit Blick auf die Skalierbarkeit und Verfügbarkeit bietet, für cloud-native “Microservice”-Anwendungen.

Noch bis vor ungefähr zehn Jahren wurden alle Apps praktisch von vornherein monolithisch konzipiert. Es handelte sich bei den Apps also um jeweils einen großen, einzelnen Block mit stark voneinander abhängigem Code. Diese Vorgehensweise zur Entwicklung von Lösungen ist vielleicht einfach und robust, jedoch birgt eine monolithische Architektur auch eine Menge an Herausforderungen in Form von Risiken, Ineffizienz und fehlender Flexibilität:

  • Der Ausfall eines einzelnen Elements kann den Absturz der gesamten App zur Folge haben
  • Sogar kleine Updates können Tests, wenn nicht sogar die Wiederherstellung des gesamten Systems erfordern
  • Entwickler müssen darauf warten, dass die langsamsten Mitglieder ihres Teams ihren Teil fertigstellen, um mit der Freigabe fortzufahren
  • Teams werden durch vorbestimmte Programmiersprachen und Technologien eingeschränkt

Als Reaktion auf diese Probleme wurden Microservice-Architekturen sowie cloud-native Entwicklungen ins Leben gerufen. Eine Microservice-Architektur besteht, im Gegensatz zur monolithischen Architektur, aus ganz vielen kleinen, lose gekoppelten Modulen (Microservices), die jeweils für eine bestimmte Funktion zuständig sind.

Wenn Sie zum Beispiel eine Running App entwickelt haben, können Sie einen Microservice für die Registrierung, einen anderen zum Nachrichten versenden, einen anderen für eine Rangliste, einen anderen für die Planung von Cronjobs, einen anderen für Benachrichtigungen etc. einrichten, anstelle all dies von ein und derselben Anwendung verwalten zu lassen.

Die Trennung von Modulen und der Einsatz von Microservice-Architekturen hat die Softwareentwicklung drastisch beschleunigt sowie die Flexibilität verbessert. Entwickler können unabhängig voneinander an jedem Modul basteln, den Code durchgehend aktualisieren, mehr Funktionen automatisieren, verschiedene Technologie-Stacks einsetzen, neue Technologien einfach integrieren und ein stabileres System erstellen, bei dem der Ausfall eines einzelnen Elements nicht zwangsläufig den Absturz der gesamten App zur Folge hat.

Ein cloud-nativer Ansatz macht nicht nur den Weg für eine wachsende Anzahl nützlicher und zunehmend spezifischer Dienste, die von Cloud-Anbietern angeboten werden, frei, sondern ermöglicht es auch, diese Dienste zwischen verschiedenen Anbietern zu kombinieren - eine Voraussetzung für die Einführung einer Multi-Cloud-Strategie.

Warum sind Microservice-Architekturen so beliebt?

Der Markt für Microservices soll sich zwischen den Jahren 2020 und 2026 voraussichtlich verdreifachen. Während die Prognose der IDC aus dem Jahr 2018, die besagt, dass 90 Prozent aller Apps bis 2022 auf einer Microservice-Architektur basieren werden, vielleicht ein bisschen zu ehrgeizig war, sind wir auf dem besten Weg dorthin.

Der Markt für Microservices wird durch kontinuierliche technologische Fortschritte, durch die die Leistung verbessert sowie der Ressourcenverbrauch optimiert wird, vorangetrieben.  Neue Lösungen in monolithische Strukturen zu integrieren ist zudem ein sehr komplexer Vorgang und nimmt viel Zeit in Anspruch, während cloud-native Anwendungen sich durch die Flexibilität von Microservice-Architekturen mit der Zeit weiterentwickeln können und so die Anforderungen moderner Technologien effizient und kostengünstig erfüllen.

Ferner können Unternehmen mit einer richtig verwalteten Microservice-Architektur erhebliche Kosten einsparen. Jedes einzelne Modul kann unabhängig von dem restlichen System automatisch hoch- bzw. herunterskaliert werden, wodurch Entwicklerteams den Ressourcenbedarf viel besser einschätzen und die Nutzung der Cloud-Ressourcen optimieren können - und das über mehrere Cloud-Anbieter hinweg. Solch eine Mutli-Cloud-Strategie, bei der ein Anbieter für Speicher, ein anderer für Hosting, ein dritter für Infrastruktur etc. genutzt werden kann, macht das beste Preis-Leistungs-Verhältnis für Ihre Lösung möglich.

Da Microservices zunehmend beliebter werden, wird sich das IT-Ökosystem in den kommenden Jahren massiv weiterentwickeln. Die folgenden drei Trends sollten Sie in diesem Jahr und darüber hinaus im Auge behalten.

Im Zentrum stehen die Produkte zur Verbindung der Microservices

Angesichts des dezentralen Konzepts der Microservice-Architektur wird den Produkten, die quasi als “Klebstoff” dienen, da sie die Module miteinander verbinden,  in Zukunft wohl viel Aufmerksamkeit gewidmet werden. Dabei handelt es sich um Tools, die Funktionen wie Observability, Messaging und Queueing der verschiedenen Microservices ermöglichen und bestimmte Wartungs- und Entwicklungsprozesse weiter automatisieren und vereinfachen.

Observability-Tools, die für die Verfolgung des Zustands der Microservice-Architektur unerlässlich sind, werden weiterentwickelt und an Bedeutung gewinnen, insbesondere angesichts der Komplexität des Debugging. Der Einsatz des Service Mesh, einer Schicht, die die Kommunikation der verschiedenen Microservices untereinander ermöglicht, wird ebenfalls weiter zunehmen.

Serverless macht Entwicklern das Leben leichter

Serverless ebnet den Weg für Microservices, denn es erfordert eine modulare, nicht monolithische Bereitstellung. Es nimmt Entwicklern den Aufwand der Serververwaltung (Bereitstellung, Skalierung, Wartung etc.) ab und überlässt ihn den Cloud-Anbietern. In der Regel handelt es sich dabei um routinemäßige, zeitaufwändige Aufgaben, die insgesamt wenig Mehrwert mit sich bringen.

Durch die Automatisierung der Serververwaltung und die damit einhergehende Entlastung von Mitarbeitern müssen sich Unternehmen um eine Sache weniger kümmern und können sich so darauf konzentrieren, die Entwicklung zu beschleunigen und Ressourcen besser zu nutzen. Ein Serverless-Ansatz wird in naher Zukunft wahrscheinlich zum Status quo werden.

Entwickler fördern die Einführung einer Microservice-Architektur

Die Erfahrung von Entwicklern ist entscheidend und es gibt mehrere Gründe, warum eine Microservices-Architektur Entwickler auf professioneller Ebene überzeugt.

Erstens können Entwickler so einen bestimmten Teil des Produkts selbst in die Hand nehmen, anstatt nur ein kleines Rädchen im Getriebe zu sein. Zweitens gewinnen sie mehr Freiheit bei der Bewältigung spezifischer Probleme, da sie mehr Möglichkeiten in Bezug auf die Wahl der Technologie, die Unabhängigkeit vom Rest der App und den Raum für sichere Experimente haben. Drittens sind Microservices ein angesagter Trend und neue Technologien sind spannend sowie wichtig für die berufliche Weiterentwicklung. Zu guter Letzt geht mit mehr Automatisierung auch ein geringerer Zeitaufwand für Routineaufgaben einher.

Einführung einer Microservice-Architektur: Was bedeutet das für Ihr Unternehmen?

Die Umstellung auf eine Microservice-Architektur ist keine einfache Angelegenheit. Je größer Ihre monolithisch aufgebaute Anwendung ist, desto schwieriger wird der Umstieg sein.

Es handelt sich also um etwas, das nicht in einem Zug, sondern eher über einen längeren Zeitraum durch schrittweise Entkopplung von Modulen gemacht werden sollte. Dasselbe gilt auch für die Teams, da sie sich an eine neue Organisation sowie Arbeitsweise gewöhnen müssen.

Anstelle von gemeinsamen Zuständigkeiten, wie es bei der monolithischen Architektur der Fall war, benötigen alle Dienste in einer Microservice-Architektur eine individuelle Betreuung. Dies hat oft die Zuweisung eines dedizierten Teams und damit eine interne Umstrukturierung zur Folge. Damit die jeweiligen Teams eigenständig bleiben, sind möglicherweise Weiterbildungen oder Neueinstellungen erforderlich, sodass jedes Team über die notwendigen Fähigkeiten verfügt, um alles - Entwicklung, Management, Tests und Verwaltung - intern handhaben zu können.

Damit die Einführung der Microservice-Architektur erfolgreich ist, muss sie von einem hochqualifizierten Team vorgenommen werden. Auch wenn die Microservice-Architektur eine größere Flexibilität in Bezug auf die Technologie-Stacks bietet, sollte sie kein Freifahrtschein für Teams sein, nach Belieben zu verfahren, da dies zukünftige Übergaben erheblich erschweren könnte. Mit anderen Worten: Die Einführung der Microservice-Architektur sollte nicht auf die leichte Schulter genommen werden.

Fazit

Vor ein paar Jahren war die Microservice-Architektur ein angesagter neuer Trend. Heute ist sie ein etablierter Ansatz, der im Begriff ist, sich als Standardarchitektur für Anwendungen durchzusetzen.