Unternehmen wählen je nach Ausgangssituation unterschiedliche Wege für die Modernisierung ihrer Anwendungen. In der Praxis haben sich sieben sogenannte R-Strategien etabliert. Je nach Voraussetzungen und Möglichkeiten eines Unternehmens bieten sie den passenden Ansatz für unterschiedliche Anwendungen.
Bevor Sie sich für eine R-Strategie entscheiden, sollten Sie technische Abhängigkeiten, geschäftliche Bedeutung, Wartungsaufwand und zukünftige Anforderungen an die betroffene Software sorgfältig bewerten. Trauen Sie sich das nicht allein zu, holen Sie sich Unterstützung von Expert:innen.
1. Rehost (Lift and Shift)
Beim Rehosting wird eine Anwendung mit möglichst wenigen oder gar keinen Änderungen von ihrer bestehenden Infrastruktur in eine neue Umgebung migriert, häufig in eine Cloud-Infrastruktur. Dabei bleiben die Architektur, die Programmlogik und die eingesetzten Technologien weitgehend unverändert.
Diese Strategie wird häufig gewählt, wenn eine schnelle Migration erforderlich ist, beispielsweise zur Reduzierung von Betriebskosten für eigene Rechenzentren oder um Hardware-Erneuerungen zu vermeiden. Die Anwendung wird dabei in der Regel als virtuelle Maschine oder als unverändertes Software-Paket übernommen.
Vorteile
Schnelle und vergleichsweise kostengünstige Umsetzung
Geringes technisches Risiko, da die Anwendung nicht verändert wird
Ermöglicht einen zügigen Ausstieg aus bestehenden Rechenzentren
Nachteile
Anwendung profitiert nur begrenzt von modernen Cloud-Funktionen
Technische Unzulänglichkeiten und Architekturprobleme bleiben bestehen
Langfristige Betriebskosten evtl. höher als bei stärker modernisierten Anwendungen
Typisches Beispiel: Ein bestehendes ERP-System (Enterprise Resource Planning) wird unverändert von lokalen Servern auf virtuelle Maschinen in einer Cloud-Infrastruktur migriert. Man spricht auch von ERP Cloud Computing. 2. Relocate
Beim Relocate-Ansatz verlagern Sie nicht nur die Anwendung selbst, sondern die gesamte bestehende Virtualisierungs- oder Plattformumgebung in eine neue Infrastruktur. Dies geschieht beispielsweise durch die Migration kompletter Virtualisierungs-Cluster in eine Cloud-Umgebung.
Wie beim Rehosting erfolgt die Verlagerung meist ohne größere Anpassungen der einzelnen Anwendungen. Dadurch lassen sich insbesondere große Anwendungslandschaften mit vielen Abhängigkeiten schnell transferieren.
Vorteile
Sehr geringe Änderungen an Anwendungen und Betriebsprozessen
Schnelle Migration umfangreicher Umgebungen
Minimale Auswirkungen auf die Fachbereiche
Nachteile
Kaum Optimierung hinsichtlich Skalierbarkeit oder Automatisierung
Bestehende Ineffizienzen werden übernommen
Potenziale moderner Cloud-Dienste bleiben weitgehend ungenutzt
Typisches Beispiel: Ein Unternehmen migriert seine komplette Virtualisierungsplattform in eine Cloud, ohne die darauf betriebenen Anwendungen anzupassen.
3. Replatform (Lift, Tinker and Shift)
Beim Replatforming behalten Sie die Anwendung grundsätzlich bei, passen sie jedoch gezielt technisch an, um Vorteile moderner Plattformen besser nutzen zu können. Die Kernfunktionalität der Anwendung bleibt unverändert, während ausgewählte Komponenten modernisiert werden. Mögliche Maßnahmen sind:
Umstellung auf verwaltete Datenbankdienste
Einsatz von Containern
Nutzung automatisierter Skalierungsmechanismen
Ablösung veralteter Middleware (für die Kommunikation von Anwendungen untereinander)
Diese Strategie stellt häufig einen guten Kompromiss aus Aufwand und Nutzen dar.
Vorteile
Verbesserte Performance und Verfügbarkeit
Nutzung ausgewählter Cloud-Services
Moderate Migrationskosten
Geringeres Risiko als bei einer vollständigen Neuentwicklung
Nachteile
Typisches Beispiel: Eine Java-Anwendung wird in Container verpackt und auf einer Container-Plattform betrieben, während gleichzeitig ein verwalteter Cloud-Dienst die Datenbank ersetzt.
4. Refactor bzw. Rearchitect
Refactoring oder Rearchitecting bezeichnet die tiefgreifende Überarbeitung einer Anwendung, um sie an moderne Architekturprinzipien anzupassen. Ziel ist die Entwicklung einer flexibleren, skalierbaren und leichter wartbaren Lösung.
Typische Modernisierungsmaßnahmen sind:
Aufteilung monolithischer Anwendungen in Microservices
Einführung von APIs (Programmierschnittstellen)
Nutzung ereignisgesteuerter Architekturen
Integration moderner DevOps- und CI/CD-Prozesse (Continuous Integration und Continuous Delivery)
Dieser Ansatz eignet sich insbesondere für geschäftskritische Anwendungen mit langfristiger strategischer Bedeutung.
Vorteile
Hohe Skalierbarkeit und Resilienz
Verbesserte Wartbarkeit
Schnellere Bereitstellung neuer Funktionen
Optimale Nutzung moderner Cloud-Technologien
Nachteile
Hoher Entwicklungs- und Testaufwand
Längere Projektlaufzeiten
Höhere Investitionskosten
Typisches Beispiel: Sie „zerlegen“ ein historisch gewachsenes Kundenportal in mehrere unabhängige Microservices und verbinden sie über APIs miteinander.