www.wikidata.de-de.nina.az
Migrationsstrategien dienen in der Informationstechnik der Migration von Systemen um eine Ablosung von Systemen durchzufuhren Inhaltsverzeichnis 1 Anforderungen an eine Migration 2 Chicken Little Strategie 3 Database First 4 Database Last 5 Composite Database Approach 6 Cold Turkey Big Bang 7 Butterfly 8 Siehe auch 9 LiteraturAnforderungen an eine Migration BearbeitenEine Migration muss um erfolgreich zu sein mindestens den folgenden Anforderungen gerecht werden ununterbrochenen sicheren zuverlassigen Betrieb garantieren Ausfalle zentraler Systeme wie betrieblicher Informationssysteme kann eine Unternehmung nicht uber langere Zeit verkraften auch kurzeste Ausfalle fuhren zu finanziellen Verlusten so viele Anderungen durchfuhren wie es notwendig erscheint um aktuelle und zukunftig erwartete Anforderung abzudecken hierdurch wird erreicht dass nicht bereits kurz nach Fertigstellung der Migration das neue System angepasst werden muss und unter Umstanden eine weitere Migration ansteht so wenige Anderungen wie moglich durchfuhren um den Umfang und das Risiko der Migration zu verringern je komplexer eine Migration ist desto hoher ist die Fehlergefahr die Komplexitat einer Migration steigt mit der Anzahl der durchgefuhrten Anderungen alten Code so wenig wie moglich andern um Risiken zu minimieren solange der Code funktioniert und keine neue Funktionalitat notwendig ist sollte er ubernommen werden wie er ist bzw nur minimale Anderungen durchgefuhrt werden da Anderungen zwangsweise auch Fehler in der Implementierung nach sich ziehen Dieses Prinzip wird jedoch meist nicht angewendet da das ganze System ohne Ubernahme von Code neu entwickelt wird alten Code soweit andern dass er die Migration unterstutzt wenn durch Anderungen mit vertretbarem Aufwand am Code die Migration vereinfacht wird sollte dies gemacht werden moglichst grosse Flexibilitat einbauen um zukunftige Anderungen zu erleichtern beispielsweise durch die Kapselung der Funktionen und Bereitstellung eines APIs Application Programming Interface konnen zukunftige Entwicklungen und Anpassungen erleichtert werden mogliche negative Auswirkungen der Anderungen minimieren bei allen Anderungen am System sollte gepruft werden ob diese Anderungen noch mit dem System vertraglich sind um hierdurch bereits fruhzeitig Fehlentwicklungen vorzubeugen den Nutzen moderner Technologien und Methoden maximieren hierdurch wird zum einen eine zukunftige Anpassung leichter zum anderen lassen sich Systemwerte die zur Entscheidung fur eine Migration beispielsweise Performanz Datendurchsatz positiv beeinflussen Chicken Little Strategie BearbeitenDiese Migrationsstrategie besteht aus elf kleinen Schritten die inkrementell durchgefuhrt werden wodurch die Migration uberschaubar wird da die eigentliche Migration in kleinere Teile aufgespalten wird Prinzip Divide amp Conquer Chicken Little bedeutet dennoch eine vollstandige Neuentwicklung des Systems Analyse des Altsystems Fur eine erfolgreiche Migration ist es unabdingbar zuerst die Funktionsweise des Altsystems zu verstehen Hierbei hilft eine hoffentlich vorhandene Dokumentation andernfalls Reverse Engineering Zerlegen des Altsystems Das Altsystem muss insoweit geandert werden dass definierte Schnittstellen zwischen den einzelnen Modulen und den Datenbankbackends bestehen Entwickeln der Schnittstellen des Zielsystems Entwickeln der Zielanwendungen Abwagung ob die Funktionalitat der Anwendung des Altsystems nachgebaut werden soll oder denen der Altanwendung nur moglichst nahekommen soll Entwickeln des Datenbankbackends Hierbei werden die Ergebnisse der vorausgegangenen Schritte mit einbezogen empfohlen wird die Entwicklung mit einer relationalen Datenbank auf Basis von SQL Installation der Zielumgebung Aufbau einer Testumgebung und Testen dieser Umgebung Entwicklung und Installation von Gateways Die Gateways sind dafur zustandig die Daten aus dem Altsystem zu extrahieren und in das Zielsystem zu uberfuhren Migration der Datenbank des Altsystems Installation des neuen Datenbanksystems anschliessend Migration der Daten zwischen Alt und Zielsystem Migration der Altanwendungen Nach und nach Austausch der einzelnen Module der Altanwendungen und deren Einbindung in das Gesamtsystem Migration der Benutzeroberflache Umschalten vom Altsystem auf das Zielsystem Aktivieren des neuen Systems und Abschalten des alten SystemsDatabase First BearbeitenHierbei wird als erstes das Datenbanksystem auf ein modernes System migriert bevor Anwendungen und Benutzeroberflachen migriert werden Fur den Zugriff der Komponenten des Altsystems auf das neue Datenbanksystem werden sog Forward Gateways verwendet Nach vollstandiger Migration der Anwendungen und Oberflachen kann das Forward Gateway deaktiviert werden Der entscheidende Vorteil dieser Methode ist dass am Ende der Migration auf jeden Fall die entwickelte Anwendung und die Datenbank zusammenpassen da die Anwendungsentwicklung erst beginnt wenn die Migration der Datenbank abgeschlossen ist Somit kann fur Tests der noch zu entwickelnden Anwendung bereits die neue Datenbasis verwendet werden Ebenfalls vorteilhaft ist dass durch die Umstellung auf die neue Datenbank sofortige Verbesserungen im Bereich Reporting durch aktuelle Programmiersprachen erzielt werden konnen Auch konnen die einzelnen Anwendungen anschliessend eine nach der anderen migriert werden ohne die Funktion des Systems zu beeintrachtigen Hauptnachteil dieses Vorgehens ist dass es nur auf Systeme anwendbar ist die eine definierte Schnittstelle zu den Datenbanken also eine strikte Trennung von Anwendung und Datenbanken aufweisen Ausserdem muss vor Beginn der Migration die Datenbankstruktur entwickelt werden Das zu entwickelnde Forward Gateway kann ausserdem so kompliziert sein dass es manchmal uberhaupt nicht moglich ist ein solches zu erstellen Database Last BearbeitenDieser Ansatz ist der Gegensatz zu Database First und kann ebenfalls nur auf Systeme mit definierter Datenbackendschnittstelle angewandt werden Nach und nach werden die Anwendungen des Altsystems migriert fur den gleichzeitigen Zugriff von Komponenten des Alt und Neusystems auf den Datenbestand mussen alle Komponenten des Neusystems den Zugriff uber Reverse Gateways abwickeln Der letzte Schritt dieser Migrationsmethode ist die Migration des Datenbanksystems auf die neue Plattform Composite Database Approach BearbeitenBei diesem Vorgehen wird das neue Anwendungssystem schrittweise entwickelt und implementiert wahrend das Altsystem noch im Betrieb ist So bilden beide Systeme ein Verbundsystem welches solange bestehen bleibt bis die Migration vollendet ist Grundlage fur diesen Verbund bildet eine Co Ordinator Schicht in der Gateways zu den einzelnen Datenbanken des Alt und Neusystems gebildet werden Anhand von Mappingtabellen konnen die einzelnen Relationen migriert werden Es kann bei vollstandig zerlegbaren semi zerlegbaren und nicht zerlegbaren Altsystemen angewendet werden Cold Turkey Big Bang BearbeitenBei Cold Turkey handelt es sich wie bei Chicken Little um eine komplette Neuentwicklung des Altsystems mit Hilfe moderner Entwicklungsmethoden Hierbei wird parallel zum Altsystem das neue System entwickelt und getestet Hat das neue System alle notwendigen Tests bestanden wird in einem finalen Schritt dem Big Bang das Altsystem deaktiviert und das neue System ubernimmt die Arbeit Hierdurch bedingt ergeben sich aber hohe Risiken fur eine funktionierende Migration Eine vollstandige Neuentwicklung benotigt Zeit Mit der Zeit allerdings die die Entwicklung benotigt werden auch Anderungen am Altsystem durchgefuhrt um die aktuellen Bedurfnisse des Unternehmens zu erfullen Hierdurch entsteht ein generelles Problem da diese Anderungen am Altsystem auch in bereits fertiggestellte Teile des neuen Systems eingepflegt werden mussen Dies ist fehleranfallig und kostenintensiv Meist gibt es fur die Altsysteme keine Dokumentation ausser das System selbst also beispielsweise den Quelltext Es besteht nunmehr das Problem dass die ursprunglichen Entwickler des Systems meist nicht mehr verfugbar sind und somit anhand des Sourcecodes das System und dessen Funktionsweise verstanden werden muss Zudem bereiten bestimmte Programmiertechniken wie selbstmodifizierender Code Probleme bei der Migration Oft existieren nicht dokumentierte Abhangigkeiten zwischen dem Altsystem und anderen Systemen Diese Abhangigkeiten konnen im gesamten Spektrum von unkritischen Abhangigkeiten bis zu unternehmenskritischen Abhangigkeiten reichen Im Entwicklungszyklus des Altsystems steigt die Anzahl der Abhangigkeiten immer weiter an und die Existenz dieser Abhangigkeiten ist durch die meist fehlende Dokumentation oft gar nicht bekannt Die schiere Menge an Daten stellt ein weiteres Problem fur diesen Ansatz dar Selbst wenn das Zielsystem vollstandig verfugbar ist wurde es in manchen Fallen Wochen dauern um die Daten aus dem Altsystem in das neue System zu uberfuhren Wahrend dieser Zeit waren keine Anderungen an den Daten moglich und somit das System nicht nutzbar Dies ist fur kaum ein Unternehmen ein gangbarer Weg Auch wird bei einer Migration meist das Datenschema verandert was wahrend der Datenmigration ebenfalls berucksichtigt werden muss Das Management solch grosser Projekte ist extrem schwierig Die oben aufgefuhrten Punkte fuhren dazu dass der Plan fur die Entwicklung kaum eingehalten werden kann sich die Fertigstellung des Systems immer weiter verzogert Butterfly BearbeitenBeim Ansatz der Butterfly Migration handelt es sich um eine Strategie die im Gegensatz zu Chicken Little ohne den Einsatz von Gateways auskommt Die Methode basiert auf einer initialen Migration der Daten Backends das Legacy System bleibt betriebsbereit wahrend in einer Testumgebung bereits das neue System entwickelt und getestet werden kann ohne den normalen Betrieb zu beeinflussen oder gar zu storen Wichtig fur diese Technik der Migration ist die Grundannahme dass es nur um die reine Datenmigration geht und eine Kooperation zwischen Alt und Zielsystem nicht notwendig ist nbsp Butterfly MigrationZu Beginn des Migrationsprozesses werden neben der Datenbasis des Altsystems mehrere Temporarspeicher eingerichtet und die Datenbasis mit einem Schreibschutz versehen Durch den Data Access Allocator werden die Zugriffe umgeleitet noch nicht zugegriffene Information wird aus der Datenbasis geholt Anderungen werden zu Beginn in den temporaren Speicher TS1 geschrieben Falls geanderte Informationen abgerufen werden mussen werden diese aus TS1 geholt Anschliessend kann gefahrlos also ohne Datenverlust und Einbusse an Servicequalitat des Systems der Datenbestand des Altsystems uber den sog Chrysalizer eine Komponente die die Daten vom Datenschema des Altsystems in das neue Datenschema uberfuhrt und im neuen Datenbackend ablegt in das neue System uberfuhrt werden Wahrend dieser Migration werden alle Datenanderungen wie oben beschrieben nicht mehr im Legacy Datenbackend gespeichert sondern im Temporarspeicher TS1 Ist die Migration der Altdatenbank abgeschlossen mussen auch noch die Informationen die in der Zwischenzeit in TS1 gespeichert worden sind migriert werden Hierzu wird TS1 fur Schreibzugriffe gesperrt und der neue Speicher TS2 geoffnet Anderungen am Datenbestand werden nun nicht mehr in TS1 sondern in TS2 gespeichert Jedes Mal wenn nun ein Temporarspeicher TSn vom Chrysaliser migriert wurde wird der Speicher TSn 1 fur Schreibzugriffe gesperrt der Speicher TSn 2 fur schreibende Zugriffe des Legacy Systems geoffnet und der Speicher TSn 1 an den Chrysaliser ubergeben Kann der Inhalt eines Temporarspeichers schneller migriert werden als der neue Speicher vom Altsystem angelegt wird dass also wahrend der Migration eines Temporarspeichers TSn keine Schreibzugriffe des Legacysystems stattfinden wird die Grosse des Temporarspeichers TSn 2 im nachsten Schritt verringert Die Grosse des Speichers hat fur n displaystyle n rightarrow infty nbsp mathematisch den Grenzwert Null Wahrend der gesamten Migration arbeitet das System ganz normal weiter bis die Grosse des letzten Temporarspeichers einen bestimmten Schwellenwert unterschreitet so dass die Zeit die die Migration dieses letzten Speichers benotigt extrem kurz ist Dann kann im letzten Schritt das Altsystem gestoppt werden der letzte Temporarspeicher in das neue System uberfuhrt werden und das neue System in Betrieb genommen werden da nunmehr zwischen dem Datenbestand des Alt und Neusystemes Konsistenz erreicht wurde Die Vorteile des Butterfly Verfahrens liegen auf der Hand Zum einen ist das komplette System bis auf den Schritt des finalen Umschaltens auf das Neusystem dessen Dauer durch die geschickte Wahl des Schwellenwertes weiter minimiert werden kann zu jeder Zeit verfugbar Ebenfalls kann zu jeder beliebigen Zeit vor dem Umschalten der Systeme die Migration abgebrochen werden da die Migration solange umkehrbar ist solange alle Daten uber den Data Access Allocator gelaufen sind Sollte die Migration abgebrochen werden mussen mussen nur nacheinander die Tempspeicher beginnend bei TS1 wieder in die Datenspeicher eingebunden werden Nachteil dieser Strategie ist dass je nach Aktivitat im Altsystem extrem viele Temporarspeicher notwendig sein konnen die alle um einen moglichen Abbruch der Migration zu ermoglichen nicht beispielsweise im Round Robin Verfahren uberschrieben werden durfen Es kann also im Extremfall wahrend der Migration hoher Hardwareeinsatz fur Speicherbackends erforderlich sein Ein anderes Problem stellt die Entwicklung des Data Access Allocators dar man spart sich im Gegensatz zu Chicken Little zwar die Entwicklung von Gateways zwischen den Systemen der Data Access Allocator ist jedoch ebenfalls eine sehr komplexe Komponente die hohen Entwicklungsaufwand erfordern kann Siehe auch BearbeitenAltsystem Elektronische Archivierung InformationslebenszyklusmanagementLiteratur BearbeitenBrodie Stonebraker Migrating Legacy Systems Morgan Kaufmann Publishers Inc 1995 Bisbal et al A Survey of Research into Legacy System Migration 1 Harry M Sneed et al Software Migration in der Praxis Ubertragung alter Softwaresysteme in eine moderne Umgebung dpunkt verlag Heidelberg 2010 ISBN 3898645649 Abgerufen von https de wikipedia org w index php title Migrationsstrategie amp oldid 238184244