Distri-Award
– Jetzt zur Umfrage!

Suchen

Re-Hosting, Re-Platforming und Re-Factoring Von Monolithen zu Microservices: Der Weg zur neuen Normalität

| Autor / Redakteur: Markus Eisele / Ulrike Ostler

Die Modernisierung der Applikationslandschaft ist ein Hauptthema vieler Unternehmen. Bei monolithische Architekturen und Legacy-Anwendungen steht dabei oft die Modernisierung mittels Container-Plattformen und Microservices an.

Firmen zum Thema

Der „Uluru“ in Australien ist wohl der bekannteste Monolith; zumindest per Bildbearbeitung lässt er sich in Einzelteile zerlegen und verformen.
Der „Uluru“ in Australien ist wohl der bekannteste Monolith; zumindest per Bildbearbeitung lässt er sich in Einzelteile zerlegen und verformen.
(Bild: Walkerssk auf Pixabay)

Unternehmen und Entwickler stehen vor der Aufgabe, Innovationen voranzutreiben und die Time-to-Market durch die Nutzung produktiverer Technologien zu erhöhen. Die Ziele lauten höhere Effizienz, Agilität und Geschwindigkeit.

Monolithische Architekturen sind dafür prinzipbedingt weniger geeignet. Sie sind zu groß und zu komplex, starten langsam und sind bei Updates aufwendig zu testen. Bereits ein Fehler kann die Verfügbarkeit der Anwendung beeinträchtigen und bei der Skalierung können Konflikte zwischen Modulen entstehen. Durch diese Merkmale können sie auch ein Hindernis für die Einführung neuer Technologien darstellen.

Im Gegensatz zu monolithischen Architekturen bieten Container-Plattformen und Microservices das Potenzial, Innovationen schnell und kostenoptimiert voranzutreiben. Container sind im Prinzip Technologien, mit denen Anwendungen mit allen benötigten Komponenten und Konfigurationsangaben und der gesamten Runtime-Umgebung – das heißt: mit allen für den Betrieb notwendigen Dateien – paketiert, gekapselt und isoliert werden können.

Container, Microservices, DevOps

Container sind die Schlüsseltechnologie für die Einführung von Microservices, die den Aufbau modularer, lose gekoppelter Anwendungen ermöglichen. Sie bieten Unternehmen eine entscheidende Unterstützung bei der Beschleunigung der Anwendungserstellung.

Die Services werden über leichtgewichtige, Technologie-agnostische APIs bereitgestellt, die die Flexibilität beim Deployment sowie bei der Skalierung und Wartung erhöhen. Durch DevOps-Prozesse und -Methoden ist es zudem möglich, Qualitätstests in jedem Prozessschritt zu automatisieren, so dass sich der Zeit- und Arbeitsaufwand für Entwickler deutlich verringert.

Immer mehr Unternehmen schlagen bei der Anwendungsmodernisierung deshalb den Weg einer Migration von Monolithen auf Container-Plattformen und Microservices ein. Im Prinzip gibt es dafür drei Möglichkeiten: das Re-Hosting, das Re-Platforming und das Re-Factoring.

Viel oder wenig Änderungsbedarf?

Beim Re-Hosting beziehungsweise Lift-and-Shift-Verfahren verpacken Entwickler vorhandene Applikationen und Workloads – ohne weitere Modernisierung – mit so wenig Änderungen wie möglich in einen Container, migrieren sie in die Cloud und betreiben sie dort als PaaS.

Beim Re-Platforming beziehungsweise Lift-and-Reshape-Verfahren ermitteln Entwickler, welche Teile der Applikation von der Container-Technologie profitieren, überarbeiten diese durch eine Überführung in Microservices und bauen API-Layer zur Kommunikation ein. Durch die Erweiterung um neue Layer wird zudem die vorhandene Anwendungsfunktionalität für neue Applikationen zugänglich gemacht, sodass Entwicklungszeiten und -kosten eingespart werden können.

Beim Re-Factoring beziehungsweise Re-Writing schließlich erfolgt eine grundlegende Modifikation des Programmcodes einer Applikation auf Basis einer neuen Microservices-Architektur.

Schnell oder teuer?

Die Wahl der Modernisierungs- und Migrationsstrategie hängt von mehreren Faktoren ab, zum Beispiel von der Applikation, den Business-Anforderungen oder den kontextuellen Faktoren. Außerdem ist zu berücksichtigen, dass die drei Varianten teilweise erhebliche Unterschiede in puncto Migrationsdauer und Kosten aufweisen. Am schnellsten und kostengünstigsten ist in aller Regel das Re-Hosting-Verfahren, am zeitlich aufwendigsten und kostenintensivsten ist das Re-Factoring.

Markus Eisele ist in der Position des Developer Adoption Program Lead EMEA bei Red Hat.
Markus Eisele ist in der Position des Developer Adoption Program Lead EMEA bei Red Hat.
(Bild: Red Hat)

Die drei Migrationspfade helfen Anwendungsarchitekten sowie Entwicklungs- und Betriebsteams, bestehende Anwendungen zu modernisieren, ohne dass komplette Neuentwicklungen erforderlich sind. Vielfach hat sich dabei gezeigt, dass im Kontext einer übergreifenden Modernisierungsstrategie eine sukzessive Vorgehensweise sinnvoll ist: ausgehend vom Re-Hosting über das Re-Platforming bis hin zum Re-Factoring, das letztlich das umfassendste Verfahren für die Modernisierung der Anwendungsarchitektur darstellt.

Artikelfiles und Artikellinks

(ID:46904503)