Microservices vs. Monolithische Architekturen: ein Leitfaden

Monolithische Software-Architekturen waren – und sind bis heute – die bevorzugte Basis bei der Entwicklung von Anwendungen und Services. Mit der digitalen Evolution im Hinterkopf erscheint das einigermaßen paradox: Monolithen sind wichtige Pfeiler der heutigen Geschäftsprozesse und erweisen sich gleichzeitig schon jetzt als enormes Hindernis, um den Anforderungen von morgen gerecht zu werden.

Was Microservices von monolithischen Systemen unterscheidet

Microservices sind kleine, einzeln lauffähige, voneinander unabhängige Services mit jeweils beschränktem Leistungsumfang. Das bringt Vorteile mit sich: Jeder Service kann einzeln deployed, implementiert, upgegradet, skaliert oder neu gestartet werden, ohne dass das große Ganze neu ausgerollt werden muss. Die Services können so schneller entwickelt, Funktionen verbessert und zur Verfügung gestellt werden. Im Zuge der Continuous-Delivery-Anforderungen sowie der Einführung agiler Entwicklungsmethoden beinahe ein Muss. Doch nicht immer gelingt das und die Einführung von Microservices erfordert einige Anstrengung.

Pivotal (Bild: Pivotal).” width=”250″ height=”250″ class=”size-medium wp-image-41666857″ /> Gary Calcott, der Autor dieses Gastbeitrags, ist Advisory Platform Architect bei Pivotal (Bild: Pivotal).

Der direkte Vergleich zwischen monolithischen und Microservice-Ansatz zeigt folgende, wichtige Unterschiede:
Der Fokus: Während monolithische Systeme zahlreiche Funktionen für ganz unterschiedliche Business-Cases zur Verfügung stellen, konzentriert sich ein Microservice auf ein spezifisches Problem und bezieht dafür genau die Daten mit ein, die benötigt werden.

Die Integration: Traditionell bestehen Systeme aus mehreren voneinander abhängigen Komponenten, bei Deployments und ähnlichem sind diese Abhängigkeiten zu beachten und machen den Prozess aufwendig sowie langwierig. Microservices hingegen funktionieren so autark wie möglich, feste Referenzen zu anderen Services werden weitgehend vermieden.

Der Delivery-Zyklus: Updates von Applikationen werden an Terminen veröffentlicht, die in einem eher langfristigen Plan festgelegt sind, oft vierteljährlich oder noch seltener – ein typisches Merkmal monolithischer Architekturen. Microservices wollen Änderungen so schnell wie möglich an den Markt bringen. Continuous Delivery ist das Ziel – ideal für Anwendungen, deren Anforderungen sich ständig ändern.

Die Arbeit im Team: An der Entwicklung, der Pflege und dem Betrieb monolithischer Systeme sind zumeist mehrere Teams beteiligt. Programmierer schreiben den Code, Software-Tester prüfen das Ergebnis und Operations sorgt für Wartung und Betrieb. Dem stehen unabhängige Teams mit jeweils nur der Verantwortung für einen Microservice gegenüber. Die Team-Strukturen sind grundverschieden.
Das Umfeld: Monolithische Software ist etwas großes, umfassendes. Siloartige Entwicklung mit einem bestimmten Set an Tools und eigens geschaffenen Prozessen sind typisch. Eine Microservices-Architektur hängt von einer Vielzahl an Umgebungsvariablen ab: flexible Allround-Tools, skalierbare Infrastruktur, Failure-Detection-Prozesse und einiges mehr.

(Bild: Pivotal)

Einfach umswitchen geht nicht

In einem Satz: Microservices sind das genaue Gegenteil von traditioneller, monolithischer Software. Einfach zwischen beiden Ansätzen zu wechseln ist praktisch unmöglich. Unternehmen, die künftig mit Microservices arbeiten wollen, sollten zunächst mit einigen wenigen, geschäftsunkritischen Services beginnen. Denn die Veränderungen sind vielschichtig. Microservices einzuführen heißt eben nicht, eine neue Programmiersprache zu benutzen. Vielmehr ist es ein Paradigmenwechsel, der teamstrukturelle und technische Neuerungen mit sich bringt.

Sollen monolithische Strukturen aufgebrochen werden, entstehen dutzende verschiedene Services, die zwar ab sofort voneinander unabhängig entwickelt, aber ja doch irgendwie koordiniert werden müssen. Betrachtet man den gesamten bisherigen Software-Lebenszyklus – von Development über Performance- und Acceptance-Testing bis hin zu Roll-out und Betrieb – entstehen, ehe man sich versieht, zahllose Microservices, die das Operations Team kaum mehr in den Griff bekommt. Virtual Machines (VM) müssen provisioniert und gemanagt werden, das Monitoring gestaltet sich kompliziert und Ressourcen müssen den Entwicklern schnell zur Verfügung gestellt werden können. Traditionelle, gewachsene Prozesse sind dafür ungeeignet.

Wann ist ein Unternehmen bereit für Microservices?

Welche organisatorischen Herausforderungen bringt das mit sich? Der Weg hin zu einer Microservice-Architektur bringt eher organisatorische als technische Veränderungen mit sich. Vor allem die Teams müssen dazu bereit sein: Serviceorientierte, automatisierte Continuous Delivery funktioniert anders als traditionelle Ansätze. Autarke Arbeiten ohne zwingende funktionale Zusammenhänge und ein Management-Team, was dies unterstützt, sind essentiell.

Wie sollen die Services koordiniert werden? Weil Microservices nur lose miteinander gekoppelt sind, muss die Plattform dahinter einiges an Koordination leisten. Aktuelle Versionen müssen auffindbar sein, die elastische Anzahl von Service-Instanzen gemanagt werden. Datentransfer, Load Balancing und ähnliches sind nun deutlich dynamischer.

Wie lässt sich die komplexer werdende Umgebung operativ managen? Mit der wachsenden Anzahl von Microservices steigen auch die operativen Risiken. Bereits bevor sich zahllose Services auf hunderten Servern verteilen, sollten Unternehmen ein schlüssiges Konzept für die darunterliegende Infrastruktur haben: die Wahl der Plattform und der Laufumgebung, Patch- und Upgrade-Zyklen, Tracking von Abhängigkeiten und Monitoring der Aktivitäten.

Aufbau von Microservices mithilfe der Pivotal Cloud Foundry PVDI Microservices Architektur (Bild: Pivotal)

Ab jetzt nur noch Microservices? Nicht jede Anwendung lässt sich in Microservices aufspalten und muss es auch nicht. Gerade Applikationen, die sich nur wenig ändern, sollten monolithisch bleiben. Microservices bringen mehr Agilität in die Entwicklung, auf Kosten einer erhöhten Komplexität. Bereits zu Beginn der Einführungsphase sollten Unternehmen deshalb ihre Applikationen danach beurteilen, wie viel Microservicing gut tut.

2013 gegründet, wird das Enterprise-Software-Start-up Pivotal heute mit 2,8 Milliarden US-Dollar evaluiert. Über 2.300 Beschäftigte und eine globale Entwickler-Community arbeiten an Pivotals Cloud-nativen Technologien. Neben dem Hauptsitz in San Francisco zählen zu den 20 Standorten in sieben Ländern Berlin und München. Unter den Kunden in Deutschland sind BMW, VW, Mercedes und die Deutsche Bank.

Ausgewähltes Whitepaper

Report: State of Digital Transformation EMEA 2019

Zu den größten Hürden der digitalen Transformation zählen der mobile Zugriff auf Unternehmensdaten und Anwendungen, die Nutzung unsicherer Netzwerke und nicht verwalteter Geräte. Das geht aus dem Report „State of Digital Transformation EMEA 2019“ von Zscaler hervor. Jetzt den vollständigen Report herunterladen!

Anja Schmoll-Trautmann

Anja Schmoll-Trautmann berichtet seit 2001 vorrangig für ZDNet.de über aktuelle Entwicklungen im Bereich Consumer Electronics, Mobile und Peripherie. Seit 2012 beschäftigt sie sich auch für silicon.de immer wieder mit Business-Hardware, Digitalisierung und Markttrends.

Recent Posts

Schnelle Klicks mit schlimmen Folgen

Mit psychologischen Tricks verleiten Spear-Phishing-Angreifer ihre Opfer zu schnellen Klicks auf betrügerische Mails, warnt David…

11 Stunden ago

Lieferkettensorgfalts- pflichtengesetz setzt Unternehmen unter Zugzwang

Modebranche, Textilindustrie und Einzelhandel stehen unter Druck, die Vorgaben des Lieferkettensorgfaltspflichtengesetz (LkSG) ab Januar 2023…

14 Stunden ago

Mit DevOps die Produktivität und Qualität von Software-Releases erhöhen

Das DevOps-Konzept erfordert eine weitflächige Automatisierung, um die Prozesse der Softwareentwicklung zu verbessern, sagt Gastautorin…

1 Tag ago

Social Media für Unternehmen

Bitkom veröffentlicht neuen Social-Media-Leitfaden: Hilfreiche Tipps, wie Unternehmen soziale Medien erfolgreich für sich nutzen können.

3 Tagen ago

High-Tech im Stall, KI auf dem Acker

Bitkom und DLG stellen neue Studie zur Digitalisierung der Landwirtschaft vor. 8 von 10 Höfen…

3 Tagen ago

Software gemeinsam entwickeln

Open Source ist das Fundament einer „Sharing Economy“, sagt der Forschungsbeirats der Plattform Industrie 4.0.

4 Tagen ago