© best_vector/Shutterstock.com
Kolumne: Stropek as a Service

Monolith oder Flickenteppich - Serverless Microservices revolutionieren die Cloud


Bezeichnet man heute eine Softwarelösung aus technischer Sicht als Monolith, ist das selten als Kompliment gemeint. Der Trend geht zu immer loserer Kopplung, zu kleinen autonomen Services, die erst im Zusammenspiel einen echten Nutzen für die Endanwender bieten. Man verspricht sich von diesen so genannten Microservices höhere Flexibilität und rasche Innovation. Schließlich kann jeder Service aufgrund seiner losen Kopplung unabhängig weiterentwickelt oder wenn notwendig mithilfe einer neuen Basistechnologie sogar neu entwickelt werden.

Microservices üben einen besonderen Reiz auf Softwarehersteller aus, die im Lauf der Jahre technische Schulden angehäuft haben und heute auf veralteten starren Codebasen sitzen. Alle Komponenten sind ineinander verwoben, es fehlen automatisierte Tests, die ursprünglichen Entwicklerinnen und Entwickler sind nicht mehr im Team, für eine komplette Neuentwicklung fehlen die Ressourcen und der Ruf der Kunden nach neuen Features konkurriert mit Restrukturierungsprojekten. Ich kenne viele Firmen, die in dieser Zwickmühle gefangen sind. Einige sind am Markt sogar sehr erfolgreich, weil ihre Software im Lauf der Jahre funktional dazugelernt hat und heute den Bedarf der Kunden perfekt abbildet. Technisch stecken sie aber in WinForms, ASP. NET Web Forms, C++ mit MFC, VB6, .NET 4 und Co. fest. Innovation ist für sie wie Mikado spielen – greift man an einer Stelle etwas an, wackeln zwangsläufig viele andere Stellen, die man besser nicht hätte angreifen sollen.

Das zweischneidige Schwert der engen Kopplung

Monolithen haben aber auch ihren Reiz. Das Wort „Monolith“ bedeutet laut Wikipedia „kompakt“ oder „aus einem Guss“. Bezeichnet ein Benutzer eine Software mit diesen Adjektiven, ist das durchaus ein Kompliment. Die Teile greifen wie geschmiert ineinander, alles passt gut zusammen.

Auch Softwareentwickler kennen die Vorteile einer monolithischen Lösung. Der gesamte Code ist in einer Projektmappe zusammengefasst. Debugging wird dadurch leichter. Ein Funktionsaufruf ist massiv viel schneller als der Aufruf eines Web-API. Compiler und damit verbundene Tools können eine ganze Menge Fehler durch statische Codeanalyse entdecken, ohne dass man dafür auch nur eine Zeile Testcode schreiben müsste. Viele kommerzielle Entwicklungsumgebungen bieten nützliche Funktionen, mit denen man im Code navigieren und durch statische Analyse Architekturdiagramme erzeugen kann.

Dazu kommt, dass Software, die von außen als Monolith wahrgenommen wird, intern durcha...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang