Einführung: Software-Migration in der IT-Landschaft

Dies ist der Start einer kleinen Artikel-Serie zum komplexen Thema Software-Migration. Ziel ist die Darstellung der vielen Aspekte, die für ein erfolgreiches Migrationsprojekt wichtig sind.

Kategorie: Migration · 1/2/2024

Intro + Definition

Dies ist der Start einer kleinen Artikel-Serie zum komplexen Thema Software-Migration. Ziel ist die Darstellung der vielen Aspekte, die für ein erfolgreiches Migrationsprojekt wichtig sind. Anfangs allgemein gehalten, dann immer spezieller mit dem Fokus auf die Tech-Stacks bei denen wir als evanto media GmbH professionelle Unterstützung bieten können.
 
1. Teil Einführung (dieser Beitrag)
2. Teil Überlegungen vor einem Migrationsvorhaben
3. Teil Phasen eines Software-Migrationsprojekts
 
Zuerst zur Frage, was unter Migration zu verstehen ist (in Anlehnung an [Rosenberger 2014]):
 
Software-Migration ist ein wesentlicher Bestandteil der IT-Strategie vieler Unternehmen. Sie bezeichnet die Überführung eines bestehenden Systems - sei es Daten, Anwendungen oder andere IT-Ressourcen - in eine andere Zielumgebung, (meist) ohne die fachliche Funktionalität zu ändern. Dieser Prozess ist entscheidend, um mit den sich ständig verändernden technologischen Anforderungen Schritt zu halten und die Effizienz zu steigern.
 
Wichtig dabei: Von Anwendersicht aus betrachtet, ergibt sich aus einer Software-Migration nicht zwangsläufig ein unmittelbarer Mehrwert. Vielmehr kann die Migration die Basis für eine mögliche Weiterentwicklung schaffen. Sie legt den Grundstein für zukünftige Anpassungen, die das System agiler und leistungsfähiger machen.

Migrationsgründe

Die Gründe für die Notwendigkeit einer Software-Migration können vielfältig sein und werden unserer Erfahrung nach von verschiedenen Akteuren und Bedingungen innerhalb eines Unternehmens beeinflusst:
 
Externe Einflüsse:
 
  • Veränderte Umwelt des Systems: Die Veränderung der Umgebung, sei es durch neue Betriebssysteme, Datenbankversionen oder anderen Infrastrukturkomponenten, hier z.B. aktuell der auslaufende Support für Windows Server 2012R2
  • Sicherheits-, Datenschutz- oder sonstige Compliance Aspekte: Neue gesetzliche Anforderungen (wie die DSGVO) oder Sicherheitsstandards erfordern möglicherweise die Aktualisierung oder Veränderung von bestimmten Prozessen, Speicherverfahren oder Protokollen innerhalb der Softwareanwendung.
  • Auslaufender Support / Lizenzen: Das Ende des Supports für eine bestimmte Softwareversion oder das Auslaufen von Lizenzen erfordert die Aktualisierung oder Migration der Anwendung (z.B. im Fall von Windows Server 2012R2).
 
IT:
 
  • Umzug in eine Cloud-Umgebung: Die Einführung von speziellen Cloud-Technologien und Tools ist oft für eine optimale und kosteneffiziente Nutzung der verschiedenen Cloud-Umgebungen (AWS, Azure & co.) erforderlich.
  • Leistungsfähigere IT-Ressourcen werden benötigt: Die Notwendigkeit, auf leistungsfähigere Hardware oder Infrastruktur umzusteigen, bedingt oft auch einen Architekturwechsel für Anwendungssoftware in Richtung von z.B. Microservices um optimal skalieren zu können.
  • Original Entwicklerteam nicht mehr verfügbar: Wenn das ursprüngliche Entwicklerteam nicht mehr verfügbar ist, kann eine Migration notwendig werden, um die Wartbarkeit der Software sicherzustellen.
  • Umstieg auf anderes Architekturmodell: Der Wechsel zu einem neuen Architekturmodell, z.B. von monolithischen zu Micro Services-basierten Systemen, ist definitiv ein Auslöser für ein Migrations-Projekt.
 
Anwender:
 
  • Veraltete UI: Veraltete Benutzeroberflächen (App oder Web UI) können eine Migration erforderlich machen, um die Benutzererfahrung zu verbessern.
  • Neue, notwendige Schnittstellen: Die Notwendigkeit neuer Schnittstellen zu externen Systemen oder Diensten kann eine Software-Migration erfordern.
  • Basis für Erweiterungen schaffen: Die Migration kann als Grundlage für die zukünftige Erweiterung oder Anpassung der Software dienen, die so im aktuellen Legacy-System nicht möglich ist.
  • Neue Anwenderrollen: Neue Gruppen von Anwendern müssen unterstützt werden.
 
Geschäftsführung:
 
  • Konsolidierung von IT-Systemen: Die Konsolidierung von Systemen und Anwendungen kann die Migration dieser in eine einheitliche Plattform erfordern.
  • Kostenreduktion: Bei hohen laufenden (z.B. Lizenzkosten) ist eine Software-Migration zur Kostenreduktion und Effizienzsteigerung erstrebenswert.

Diese Aufzählung kann natürlich nicht vollständig sein, soll aber einen Eindruck möglicher Motivationen vermitteln.

Chancen nach einer erfolgreichen Software-Migration

Eine erfolgreiche Software-Migration sollte Perspektiven eröffnen, die den oft nicht unbeträchtlichen Mitteleinsatz rechtfertigen:
 
  • Einsatz aktueller Technologien und Frameworks: Durch die Migration auf eine neue Plattform oder in eine Cloud-Umgebung mit dem Einsatz aktueller Technologien und Frameworks wird die Entwicklung und Wartung der Software erleichtert und zukunftsfähig gestaltet.
     
  • Skalierbarkeit durch Virtualisierung / Cloud-Fähigkeit: Die Migration in die Cloud (OnPremise wie Remote) ermöglicht es, die Ressourcen nach Bedarf zu skalieren, was eine bessere und flexible Anpassung an sich ändernde Anforderungen und Lastspitzen ermöglicht.
     
  • Performance / Leistungsverbesserungen: Durch die Nutzung leistungsfähigerer IT-Ressourcen und Optimierung der Softwarearchitektur können deutliche Leistungsverbesserungen mit positiven Auswirkungen auf die Anwendererfahrung erzielt werden.
     
  • Flexibilität über Wiederherstellung der Anpassbarkeit von Softwarelösungen: Eine erfolgreiche Migration ermöglicht es, die Flexibilität und Anpassbarkeit von Softwarelösungen wiederherzustellen, was die zukünftige Weiterentwicklung und Anpassung an Anwenderwünsche erleichtert.
     
  • Kostenoptimierung durch effizientere Prozesse: Insbesondere zu nennen sind hier reduzierte Wartungsaufwände, geringere Lizenzkosten, optimierte Ressourcennutzung oder automatisierte Abläufe.
     
  • Sicherheitsverbesserungen durch aktuelle Protokolle und Sicherheitslösungen: Eine aktuelle Softwareumgebung ermöglicht den Einsatz moderner Sicherheitsprotokolle und -lösungen, was zu einer deutlichen Verbesserung von Sicherheit und Einhaltung von Datenschutzstandards führen sollte.
     
  • Verfahrensoptimierung: Effizientere Entwicklungs- und Bereitstellungsverfahren über die Standardisierung von Prozessen und Abläufen (Stichwort Continuous Integration / Continuous Deployment CI/CD) auch zur Verbesserung von Nachvollziehbarkeit und Testbarkeit.
  • Datenschutzverbesserungen (Umsetzung DSGVO Anforderungen): Die Umsetzung von Datenschutzanforderungen, wie sie beispielsweise in der DSGVO festgelegt sind, kann durch eine erfolgreiche Software-Migration effektiver realisiert werden, was letztendlich das Unternehmen vor rechtlichen Risiken schützen kann.
 
Diese Chancen sollten verdeutlichen, dass eine sorgfältig geplante und durchgeführte Software-Migration erhebliche Vorteile in Bezug auf Wettbewerbsfähigkeit, Effizienz und Sicherheit bringen kann. 
 

 

Literatur:

[Lilienthal & Schwentner 2023]
Lilienthal, Carola; Schwentner, Henning - Domain Driven Transformation, dpunkt.verlag, 2023
[Rosenberger 2014]
Rosenberger, Marcel - Software Migrationen, Diplomica Verlag, 2014
[DAS 2023]
Das, Mukesh Kumar - Cloud Migration
[Art 2020]
Software Migration - A Complete Guide - 2020 Edition, The Art of Service 2020

Über uns

Ein erfahrenes Entwicklerteam, das mit Leib und Seele Software erstellt.

evanto logo

Kontaktdaten

Brunnstr. 25,
Regensburg

+49 (941) 94592-0
+49 (941) 94592-22

Statistik