Definition „Application Migration“ Was ist Software-Migration?

Autor / Redakteur: chrissikraus / Stephan Augsten

Software-Migration beschreibt die Umstellung von einer alten Software auf eine neue Anwendung. Dabei wird ein bestehendes Softwaresystem teilweise oder vollständig in eine neue Zielumgebung übertragen.

Firmen zum Thema

Bei der Migration wird eine veraltete Software auf eine neue Plattform gehoben.
Bei der Migration wird eine veraltete Software auf eine neue Plattform gehoben.
(Bild: gamell / Unsplash)

Hintergrund einer Software-Migration ist, dass das bisherige System durch das neue abgelöst werden soll, z. B. weil das Legacy-System veraltet ist, weil die neue Umgebung zusätzliche oder bessere Funktionalität anbietet oder weil sich allgemein die Anforderungen an das System so stark gewandelt haben, dass eine Migration die effizienteste Lösung darstellt.

Software-Migration: Standardsoftware oder Individuallösung?

Die Migration zu moderneren Technologien ist ein gängiger Weg, um veraltete Legacy-Systeme zu modernisieren. Dabei hat man die Wahl: Steigt man auf eine branchentypische Lösung von der Stange um oder lässt man eine individuelle Lösung entwickeln, die exakt den eigenen Vorstellungen entspricht? Häufig gibt es noch eine Art Mittelweg, bei dem der Hersteller gegen Bezahlung individuelle Anpassungen für seine Standardsoftware anbietet.

Welche Methode man wählt, hängt von den Anforderungen an das System und von den Bedürfnissen des Unternehmens ab. Unveränderte Standardsoftware ist z. B. die preiswerteste Lösung, passt aber unter Umständen nicht optimal zu den etablierten Geschäftsprozessen. Individualsoftware hingegen kostet viel Zeit, Arbeit und Geld, bietet dafür aber exakt die Funktionen, die ein Unternehmen im Alltag benötigt. Ein weiteres zentrales Kriterium ist die Machbarkeit der Datenmigration.

Sorgfältige Planung der Datenmigration

Die Migration bestehender Daten ist ein zentraler Punkt bei der Software-Migration. Geschäftliche Daten sind für Unternehmen und Organisationen von unschätzbarem Wert. Sie enthalten alle wichtigen Informationen, die für das Alltagsgeschäft nötig sind, z. B. Kundendaten oder Rechnungsdaten. Wenn also auf ein neues System umgestellt werden soll, müssen die Daten mit umziehen. Damit das reibungslos funktioniert, muss im Vorfeld sauber analysiert und geplant werden.

Eines der wohl schlimmsten Szenarien wäre es, dass bei der Migration auf ein neues System alle Daten verloren gehen. Das wäre für das Unternehmen katastrophal, ist aber auch der absolute Extremfall und kann durch entsprechende Datensicherung vermieden werden. Ein wahrscheinlicheres Szenario ist, dass Daten bei der Migration teilweise verloren gehen oder fehlerhaft ins neue System übernommen werden. Denn ein Problem bei der Datenmigration von Altsystemen auf moderne Anwendungen ist, dass jeweils unterschiedliche Datenmodelle verwendet werden.

Wenn man von Legacy Software auf eine individuell angefertigte Software umstellt, hat man eher noch ein gutes Verständnis dafür, wie die Datenmigration ablaufen muss. Man kann den Vorgang schon während der Entwicklung grob mit einplanen und das Datenmodell der neuen Anwendung so konzipieren, dass alle Daten so wie gewollt abgebildet werden. Aber wenn man von Legacy Software auf eine branchentypische Standardsoftware umsteigt, muss man sich mit dem Datenmodell arrangieren, das der jeweilige Hersteller gewählt hat.

Einerseits gibt es also das Problem, dass die Strukturen sehr unterschiedlich aussehen können. Man muss mit einer Lösung arbeiten, die das bestehende Modell fachlich korrekt und vollständig in das neue Modell umstrukturiert, bevor die Daten in das neue System eingebracht werden. Und dann gibt es noch ein weiteres Problem: Was soll passieren, wenn manche Datenfelder aus dem Legacy-System in der neuen Software nicht vorkommen? Auch hier muss man sich für eine Lösung entscheiden, bei der die Daten möglichst vollständig erhalten bleiben.

Planung für den zeitlichen Ablauf der Datenmigration

Teil der strategischen Datenmigration ist außerdem die Frage, ab wann mit dem neuen System gearbeitet werden kann und damit auch ab welchem Zeitpunkt neue Datensätze angelegt werden dürfen. Möglicherweise könnte es erforderlich sein, dass erst alle Bestandsdaten in das neue System übertragen werden müssen, bevor Neudaten hinzukommen dürfen.

Das ist z. B. der Fall, wenn eine direkte Ablösung des Altsystems ohne Übergangsphase gewünscht ist. In dieser Konstellation muss die Arbeit solange pausiert werden, bis alle Daten ordnungsgemäß übertragen sind und anschließend verifiziert wurden. Das kann bei großen Datenmengen eine tagelange Pause bedeuten. Da das oft unmöglich ist, gibt es Strategien, die das Problem umgehen, z. B:

Vorübergehender Parallelbetrieb: Das Legacy-System wird solange parallel zum neuen System genutzt, bis die alten Daten migriert und die Qualität der Migration verifiziert wurde. Beide Systeme müssen hierfür kurze Zeit lang gleichzeitig mit neu angelegten Daten befüllt werden. Das bedeutet Mehraufwand, sei es durch eine technische Lösung oder für den Benutzer selbst. Allerdings wird so auch schnell deutlich, ob das neue System die gewünschten Ergebnisse zuverlässig liefert.

Sukzessive Umstellung: Falls möglich, kann das Legacy-System komponentenweise auf ein neues System migriert werden. Teile der alten und neuen Software werden in Phasen parallel betrieben, sei es an der Oberfläche oder im Hintergrund über entsprechende Schnittstellen. So können immer ausgewählte Komplexe auf das neue System umgestellt und im laufenden Betrieb überprüft werden. Dieses Vorgehen erfordert viel Planungsaufwand. Außerdem dauert die vollständige Migration merklich länger, weil immer nur einzelne Teile der Software umgestellt werden. Allerdings ergibt sich durch das kleinteilige Vorgehen eine genauere Kontrolle der Ergebnisse. Damit ist das Vorgehen insgesamt robuster gegen Datenverlust oder Datenkorruption. Gerade für große Datenmengen wird der Prozess so übersichtlicher.

(ID:47594830)