Tech Insights

Microservices:
Skalierbare Software schneller liefern

Über Microservices können eigenständige Teams Software regelmäßiger ausliefern. Dazu müssen allerdings Herangehensweisen neu gedacht werden. Durch den Wechsel zu einer Microservices-Architektur können Sie die Softwarebereitstellung verbessern und beschleunigen.


Was sind Microservices?

Microservices bezeichnet einen Ansatz für die Softwarearchitektur, bei dem unabhängige Teams die fortlaufende Bereitstellung von bestimmten zweckgebundenen Services priorisieren. Dieses Modell ist der Gegenentwurf zu herkömmlicher monolithischer Software, die aus eng miteinander verzahnten Modulen besteht, nur selten aktualisiert wird und als Ganzes skaliert werden muss. Für manche Unternehmen und Anwendungsfälle mag dieser monolithische Ansatz ausreichend sein. Doch Unternehmen, die mehr Agilität und Skalierbarkeit benötigen, setzen zunehmend auf Microservices.

Unternehmen aller Branchen – von Telekommunikation und Einzelhandel bis zu Finanzdienstleistungen und der Fertigung – entscheiden sich für Microservices, um neue Anwendungen zu entwickeln und monolithische Systeme aufzuspalten. Microservices sind eine Gruppe kleiner Services, die jeweils bestimmte Unternehmensfunktionen implementieren und über eine HTTP-API miteinander kommunizieren. Jeder Microservice wird als eigenständiger Prozess ausgeführt und kann unabhängig von den anderen Services in derselben Anwendung bereitgestellt, aktualisiert, skaliert und neu gestartet werden. Sind die Microservices Teil einer CI/CD-Pipeline, können einzelne Dienste entsprechend häufig aktualisiert werden, ohne die Konsumenten der Anwendung zu beinträchtigen.




Sie interessieren sich für eine Microservices-Architektur? Dann sollten Sie Folgendes beachten.

Microservices sind nicht unbedingt für jedes Unternehmen oder jede Anwendung geeignet. Sie können sogar zusätzliche Kosten verursachen, wenn sie nicht korrekt implementiert werden. Deshalb sollten Sie zunächst folgende Fragen klären:

Ist Ihr Unternehmen dafür bereit?

Der Umstieg auf Microservices erfordert nicht nur eine technologische, sondern auch eine organisatorische Umstellung. Ihre Teams müssen bereit sein, die Softwareentwicklung als einen stark automatisierten Prozess zu verstehen, bei dem laufend neue Versionen bereitgestellt werden. Ist Ihr Unternehmen bereit, isolierte Funktionsbereiche aufzubrechen und eigenständige Teams für die Entwicklung und den Betrieb von Services einzusetzen? Ermöglichen Ihre Veränderungsmanagement-Prozesse eine vollständig automatisierte Bereitstellungs-Pipeline?

Gibt es bei Ihnen übereifrige Entwickler?

Microservices eignen sich nicht für jede Anwendung. In der anfänglichen Begeisterung, alles auf Microservices umzustellen, wenden Ihre Entwickler möglicherweise viel Zeit für die Umprogrammierung bestehender Anwendungen auf – die aus geschäftlicher Sicht jedoch gar nicht verändert werden müssen. Anwendungen, die nur selten geändert werden oder die nicht geschäftskritischen Funktionen dienen, lassen Sie vermutlich besser in ihrer alten, monolithischen Architektur. Microservices erhöhen zwar die Agilität, bringen jedoch auch eine größere Komplexität mit sich. Seien Sie sich ganz sicher, dass Sie Ersteres benötigen, bevor Sie Letzteres in Kauf nehmen.


Bleiben Sie bei wichtigen Themen auf dem Laufenden

Newsletter-Anmeldung

Sind Ihre Services auf einander abgestimmt?

Microservices sind nur lose miteinander verbunden und ändern sich permanent. Wie finden Sie die aktuelle URL eines Service oder leiten den Datenverkehr über eine variable Anzahl von Serviceinstanzen? Wie tauschen Services untereinander Daten aus? In vielen Fällen ist die Technologie für Service Discovery, Lastenausgleich und Benachrichtigungen nicht ansatzweise in der Lage, mit der Dynamik von Microservices umzugehen.

Wie sind Sie auf den alltäglichen Betrieb einer komplexen Umgebung vorbereitet?

Je mehr Objekte Sie managen müssen, desto größer ist das Betriebsrisiko. Wenn Sie diese Aufgabe nicht von Grund auf neu angehen, wird die Verwaltung von hunderten oder tausenden Microservices auf hunderten oder tausenden Servern zum reinsten Alptraum. Wie spielen Sie Patches oder Upgrades in die betreffenden Rechner ein? Behalten Sie den Überblick über gegenseitige Abhängigkeiten und darüber, welche Anwendungen betroffen sind? Wie sorgen Sie dafür, dass die zahlreichen Microservices-Instanzen an die aktuelle Anwendungskonfiguration angepasst werden? Von der Wahl der Komponenten für Ihre Microservices-Plattform und der Entscheidung, wo Sie diese Komponenten und Services ausführen, wird ihre betriebliche Agilität für die nächsten Jahre abhängen.