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.

Innovationen vorantreiben durch Container-Plattformen und Microservices

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 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, sodass sich der Zeit- und Arbeitsaufwand für Entwickler deutlich verringert.

Drei Möglichkeiten: Rehosting, Replatforming und Refactoring

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 Rehosting, das Replatforming und das Refactoring.

Beim Rehosting 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 Replatforming 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 Refactoring beziehungsweise Rewriting schließlich erfolgt eine grundlegende Modifikation des Programmcodes einer Applikation auf Basis einer neuen Microservices-Architektur.

Bestehende Anwendungen modernisieren – ohne komplette Neuentwicklungen

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 Rehosting-Verfahren, am zeitlich aufwendigsten und kostenintensivsten ist das Refactoring.

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 Rehosting über das Replatforming bis hin zum Refactoring, das letztlich das umfassendste Verfahren für die Modernisierung der Anwendungsarchitektur darstellt.

Weitere Informationen