Die moderne Softwareentwicklung hat einige neue Technologien und Architekturen mit sich gebracht. Darunter auch die Microservices Architektur. Hier erfahren Sie, was für Vorteile diese Architektur mit sich bringt.

Monolith

Die meisten Softwareanwendungen basieren auf einer monolithischen Architektur. Dies bedeutet das die Anwendung, als ganzeinheitliche Einheit entwickelt worden ist.  Dies beinhaltet in den meisten Fällen eine Datenbank, einer UI und – falls benötigt - einer serverseitigen Anwendung. Diese Systeme können sehr komplex sein und über eine sehr große Codebasis verfügen. Bei solch komplexen Systemen ist die Wartung immer schwierig und auch zum Teil mit großen Risiken verbunden. Nehmen wir einmal an, wir sind in einem riesigen Konzern, der seine operativen Geschäfte über eine zentrale Software ausliefert. Innerhalb der Softwarewartung kommt es zu einem plötzlichen Problem, welches dazu führt, dass die Produktivumgebung der Software Fehler wirft. Dies führ dazu, dass die gesamte Unternehmung während der Downtime der Software sein Geschäft nicht weiterführen kann. Je nach Größe des Unternehmens kann dieser Schaden bereits mehrere Millionen Euros kosten. Zusätzlicher Kostenfaktor in solch einem Fiasko ist natürlich die Zeit, die benötigt wird, um den Fehler wieder zu bereinigen. Bei großen komplexen Monolithen kann dies von Stunden und Tagen bis hin zu Wochen dauern und Unternehmen sogar in Ihrer Existenz bedrohen, wenn diese abhängig von solch einer Anwendung sind.

Microservices

Die Microservice Architektur versucht auch bei solchen Problematiken entgegenzuwirken. Hauptkonzept hierbei ist es die Funktionen innerhalb einer Anwendung auf mehrere separaten kleineren Anwendungen zu verteilen, die sog. “Services”. Dabei können die Services untereinander kommunizieren, um wichtige Informationen teilen zu können. Mithilfe dieser Aufteilung in Services gelingt es eine große Anwendung mit komplexen Use-Cases in mehrere kleineren Anwendungen aufzuteilen. Dadurch wird die Wartung der Anwendung deutlich erleichtert, da man bei Fehlern jeweils nur kleine Anwendungen warten muss, im Vergleich zu der Monolithischen Architektur. Wenn es hier in der Produktivumgebung zu einem Fehler kommt, dann tritt dieser innerhalb eines Service auf. Dies führt im schlimmsten Fall dazu, dass dieser Service nicht mehr erreichbar ist. Das bedeutet, dass lediglich eine Funktion nicht mehr erreichbar wäre, während alle anderen Teile der Anwendung noch immer verfügbar und funktionsfähig wären. Die Unternehmung muss so lediglich auf eine Funktion während der Downtime verzichten.

Die Microservice Architektur kann zusätzlich bei hohen Auslastungen zu Vorteilen führen. Mithilfe der Cloud Technologie, lassen sich einzelne Services skalieren. Bedeutet, wenn bestimmte Funktionen sehr hohe Nachfrage besitzen, können diese höher skaliert werden, sodass diese Funktion nicht unter lange Ladezeiten leiden muss aufgrund der hohen Nachfrage.

Sie suchen nach Unterstützung bei der Umsetzung einer Microservice Architektur? Wir würden uns freuen Sie zu unterstützen!