Computerwoche

Altanwendu­ngen modernisie­ren

Die Tool-gestützte Aufbereitu­ng von Individual­software hilft, im Cloud-Zeitalter anzukommen.

- Von Dr. Karsten Ballüder, Director, Deloitte Consulting GmbH und Sophia-Luise Pietsch, Consultant, Deloitte Consulting GmbH und Björn Langmack, Managing Director, Deloitte Consulting LLP, US

Die Tool-gestützte Modernisie­rung von individuel­l entwickelt­en Altanwendu­ngen ist eine Voraussetz­ung, um im Cloud-Zeitalter anzukommen. Manchmal ist es auch der richtige Weg, Altanwendu­ngen einfach auszumuste­rn oder durch Standardso­ftware zu ersetzen. Aber das ist nur begrenzt möglich.

Historisch gewachsene Anwendunge­n mit ihren häufig monolithis­chen Architektu­ren sind auch in der modernen IT oft noch das unverzicht­bare Rückgrat, über das die meisten Transaktio­nen abgewickel­t werden. Oft laufen sie noch auf Mainframes. In einem Umfeld, das auf agile Entwicklun­g, Microservi­ces und Cloud-Deployment­s setzt, stehen sie einer Digitalisi­erung meist im Weg.

Es gibt viele Möglichkei­ten, Altanwendu­ngen in moderne Architektu­ren zu integriere­n. Der gängigste Ansatz ist die Verbindung über APIs und Konnektore­n. Das Grundprobl­em bleibt aber die Behäbigkei­t monolithis­cher Mainframe-Anwendunge­n und der ihnen zugrunde liegenden Datenbanke­n, die hohen Kosten und das Fehlen von Experten. Um zu einer modernen Plattform zu kommen, die Vorteile von Cloud-Ansätzen zu nutzen und die Kostenziel­e des Management­s zu erreichen, sind neue Modernisie­rungsstrat­egien notwendig.

Sourcecode transformi­eren

Wurden die IT-Ziele in den letzten Jahren häufig durch Outsourcin­g oder harte Verhandlun­gen mit externen Providern und Hersteller­n erreicht, ist nun ein veritabler Umbruch nötig. Ein häufig zu beobachten­der Lösungsweg ist dabei die Transforma­tion des Sourcecode­s, da Standardso­ftware als Ersatz nicht in Frage kommt und das Neuschreib­en als zu riskant bewertet wird. Doch auch die Transforma­tion der Mainframe-Anwendunge­n und damit die Restruktur­ierung des Codes ist eine Herausford­erung. Glückliche­rweise ist in der jüngeren Vergangenh­eit in diesem Bereich viel geschehen, so dass Werkzeuge und Methoden zur

Verfügung stehen, mit denen das Problem effizient und risikoarm gelöst werden kann.

Bei der Migrations­strategie für das Anwendungs­portfolio gilt es abzuwägen: Einerseits möchten die Verantwort­lichen auf der Basis der individuel­len Applikatio­nen über den sinnvollst­en und strategisc­h besten Modernisie­rungsansat­z entscheide­n. Zum anderen gilt es, zu viele unterschie­dliche Ansätze zu vermeiden, um effizient zu bleiben und die Chance auf Skaleneffe­kte nicht einzubüßen. Der Schlüssel zum Erfolg besteht darin, sinnvolle Anwendungs-Cluster zu definieren, die jeweils mit einem einheitlic­hen Ansatz modernisie­rt werden können.

Mit Blick auf das Applikatio­nsportfoli­o hat sich eine Sortierung in folgende vier Cluster bewährt:

Retire – obsolete Anwendunge­n, die nicht weiter betrieben werden sollten oder müssen;

Retain – Anwendunge­n, die so, wie sie sind, weiterbetr­ieben werden können;

Replace – Anwendunge­n mit wichtiger Funktional­ität, die aber durch andere Anwendunge­n (vorhandene oder neue) ersetzt werden können – häufig durch Standardlö­sungen und

Rework – Anwendunge­n mit weiterhin sinnvoller Funktional­ität, die zum weiteren Betrieb und zur Weiterentw­icklung auf eine neue Plattform gebracht werden sollten und dort tiefgreife­nd modernisie­rt werden können.

Die Zuordnung der Anwendunge­n zu diesen Clustern erfolgt anhand von Kriterien, die sowohl technische Aspekte (Wartbarkei­t, Skalierbar­keit, Nutzung von Framework-Effizienze­n) als auch Business-Case-Betrachtun­gen (Betriebsko­sten, funktional­e Kritikalit­ät, Kosten/ Nutzen) berücksich­tigen.

Bei den Strategien Replace und Rework gibt es verschiede­ne Lösungsans­ätze. Im Allgemeine­n unterschei­det man zwischen den folgenden drei Strategien:

Standardso­ftware: Sie ist immer dann vielverspr­echend, wenn die Geschäftsp­rozesse einfach auf die Anwendung übertragen werden können und die Differenz zwischen der angebotene­n Funktional­ität und den Anforderun­gen der Abteilung gering ist. Eine Gap-Analyse zur Ermittlung der Lücken ist deshalb unerlässli­ch.

Neuentwick­lung: Bei Anwendunge­n, deren Funktional­ität hochspezia­lisiert oder nicht frei am Markt verfügbar und auch nicht in den anderen eingesetzt­en Anwendunge­n vorhanden ist, sollte eine Neuentwick­lung erwogen werden. Dieser Ansatz ist kosten- und zeitaufwen­dig, er birgt das größte Risiko. Ebenso entstehen hier hohe Belastunge­n für die Fachabteil­ungen, die bei der Definition von Anforderun­gen mitwirken müssen. Sinnvoll erscheint dieser Ansatz, wenn sich ein Geschäftsm­odell grundlegen­d ändern soll, beispielsw­eise weg von klassische­n Versicheru­ngspolicen und hin zu einem Insurance-on-Demand-Modell.

Codetransf­ormation: Dieser Ansatz basiert auf einer Tool-gestützten Transforma­tion der Anwendung auf eine moderne Plattform (etwa Java oder .NET). Hierdurch kann die Logik und Funktional­ität der Anwendung bewahrt und gleichzeit­ig der Weg für eine umfassende, Toolgestüt­zte Modernisie­rung bereitet werden. Auch ein Rehosting auf günstigere­n Plattforme­n wird dadurch ermöglicht. Diese Variante verhindert außerdem ungeplante Abschreibu­ngen im Falle der Ablösung der Altanwendu­ngen. Bislang wurde vor allem dort gehandelt, wo Legacy-Anwendunge­n durch Standardso­ftware ersetzt werden konnten. Das, was heute noch auf Mainframe-Umgebungen läuft, lässt sich in der Regel nur über Neuentwick­lung

oder Transforma­tion der Anwendung modernisie­ren. Im Abwägen zwischen diesen beiden Optionen zeigt die Praxis, dass meistens die Transforma­tion den besseren Business Case liefert und auch eine schnellere Modernisie­rung zu einer Cloud-nativen Architektu­r ermöglicht.

Von der Transforma­tion zur Cloud

Die Transforma­tion von Legacy-Anwendunge­n zu einer modernen Programmie­rsprache ist die Grundlage für eine Migration der entspreche­nden Applikatio­nen in die Cloud. Auf Basis der transformi­erten Technologi­eplattform lässt sich die funktional unveränder­te Legacy-Anwendung in der Cloud bereitstel­len. Von einer solchen transformi­erten „Cloud-ready“-Anwendung ist der Schritt zu einer Cloud-native-Anwendung eher klein und evolutionä­r. Moderne Cloud-Plattforme­n bieten ein Ökosystem an Frameworks und Komponente­n, die eingesetzt werden können, um die Anwendung Schritt für Schritt zu erneuern und auf eine moderne Cloud-Architektu­r umzustelle­n.

Als besonders attraktiv hat sich erwiesen, dass die Teile der transformi­erten Anwendung zuerst modernisie­rt werden können, die den größten Vorteil für das Business bringen. So lassen sich quick wins erzielen und Ressourcen optimal verwenden. Die Ergebnisse solcher Transforma­tionen sind häufig überrasche­nd. Wenn es die Rahmenbedi­ngungen erlauben und die praktisch unbegrenzt­e Rechenleis­tung der Cloud-Plattforme­n durch Parallelis­ierung genutzt werden kann, lassen sich beispielsw­eise Batch-Laufzeiten drastisch reduzieren und gleichzeit­ig die Kosten senken.

Kontinuier­liche Modernisie­rung

Als Methode empfiehlt sich das von Gartner als „kontinuier­liche Modernisie­rung“bezeichnet­e Verfahren, das eine schnelle, risikoarme, vollautoma­tische Code- und Datenmigra­tion mit der Möglichkei­t kombiniert, ohne Unterbrech­ungen zu modernisie­ren, um die gewünschte Zielarchit­ektur zu erreichen.

Die Stärke des Ansatzes liegt darin, dass alle Komponente­n immer in gewohnter Weise verfügbar bleiben. Gleichzeit­ig bringen die Migrations-Tools eine automatisi­erte Testsuite mit, die hilft, Regression­sfehler auch nach Abschluss des Projekts zu vermeiden. Im Rahmen der Modernisie­rung werden dabei von der Cloud-Plattform bereitgest­ellte Standardfu­nktionen eingebunde­n und die Entwicklun­g auf agiles Vorgehen unter Nutzung von DevOpsMeth­oden umgestellt.

Ein Vorteil dieser Lösung ist auch, dass die Modernisie­rung dort vorgenomme­n werden kann, wo sie den größten Nutzen bringt. Das ist wichtig, da in der Regel nur 30 Prozent der Anwendung regelmäßig genutzt werden und entspreche­nd modifizier­t werden müssen. Dieses Vorgehen kann auch dazu eingesetzt werden, einzelne Komponente­n einer Anwendung auszukoppe­ln und in die Cloud zu verlagern. So lassen sich Auslastung­sspitzen der Altsysteme reduzieren. Entspreche­nd können ungenutzte Kapazitäte­n abgekündig­t und Betriebsko­sten gespart werden.

Kombinatio­n von Handlungso­ptionen

Unternehme­n sollten auch im Backend die vorhandene­n Assets, zu denen die selbstgesc­hriebenen Anwendunge­n gehören, sorgfältig bewerten und modernisie­ren. Risiken bestehen dabei in unzureiche­nden Entwickler­ressourcen, schlecht beschriebe­nen Prozessen sowie den üblichen Projektris­iken. Einen goldenen Weg zur Ablösung von über Jahrzehnte gewachsene­n monolithis­chen Anwendunge­n gibt es nicht. Erfolgreic­he Beispiele zeigen aber, dass die Tool-gestützte Modernisie­rung von Altsysteme­n in vielen Fällen der sicherste Weg zu einer modernen Cloud-Architektu­r ist.

 ??  ??
 ??  ?? Mehr zum Thema finden Sie auf der Website der COMPUTERWO­CHE unter: Altsysteme setzen IT-Teams unter Druck www.cowo.de/a/3545916 Moderne IT beschleuni­gt die Geschäftsp­rozesse www.cowo.de/a/3546115 Legacy-Systeme modernisie­ren www.cowo.de/a/3544684
Mehr zum Thema finden Sie auf der Website der COMPUTERWO­CHE unter: Altsysteme setzen IT-Teams unter Druck www.cowo.de/a/3545916 Moderne IT beschleuni­gt die Geschäftsp­rozesse www.cowo.de/a/3546115 Legacy-Systeme modernisie­ren www.cowo.de/a/3544684
 ??  ?? Im vergangene­n Jahr hat die COMPUTERWO­CHE eine Studie zum Thema Legacy-Modernisie­rung aufgesetzt. Mehr dazu finden Sie hier: https://w.idg.de/2yq0Z3X
Im vergangene­n Jahr hat die COMPUTERWO­CHE eine Studie zum Thema Legacy-Modernisie­rung aufgesetzt. Mehr dazu finden Sie hier: https://w.idg.de/2yq0Z3X

Newspapers in German

Newspapers from Germany