Nach jahrzehntelangem Einsatz sind viele Systeme, die einst den Kern des Unternehmens bildeten, veraltet. Bei der kontinuierlichen Weiterentwicklung der Technologie stellt sich die Frage, welche Programme mitziehen können und welche nicht. Letztgenannte sind Altsysteme und werden mitgeführt, bis sie ersetzt werden können oder müssen. Welche Lösungen gerade für Hochsprachen der Programmierung infrage kommen, erfahren Sie jetzt.
Was sind Legacy-Systeme genau?
Legacy-Systeme sind Altsysteme, die aufgrund ihrer Kernfunktionalität nur mit großem Aufwand erneuert werden können. Das englische Wort „Legacy“ kann nicht nur als „Erbschaft“ oder „Vermächtnis“, sondern abwertend auch als „Erblast“ oder „Altlast“ übersetzt werden. Eine andere Interpretation ist „Erbe“ und „Hinterlassenschaft“, wobei der Schwerpunkt auf Inhalten liegt, die es definitiv wert sind, beibehalten zu werden. Vor allem Hochsprachen der Programmierung wie PL/1, Fortran, COBOL und Natural sind tief in der IT-Infrastruktur verwurzelt und können nicht einfach ausradiert werden.
Einsatzgebiete von Legacy-Software
Diese etablierten Altsysteme sind bei Banken, Versicherungen und weiteren Wirtschaftsbereichen verbreitet. Sie besitzen nach wie vor ein enormes wirtschaftliches Potenzial. Das beste Beispiel ist das europäische Bankensystem, das immer noch mit sehr veralteter Legacy Software läuft. Das traditionelle System trägt das gesamte Unternehmen, mit unternehmensspezifischem Wissen und individueller Geschäftslogik. Dies macht sie zu einem Alleinstellungsmerkmal für das Unternehmen. Diese Systeme sind also von entscheidender Bedeutung, verfügen über ausgereifte Kernfunktionen und arbeiten während des Betriebs zuverlässig. Auf der anderen Seite ist Legacy-Software durch veraltete Datenverwaltung, sperrige Benutzeroberflächen und alte Programmiersprachen gekennzeichnet, die nicht den modernen Anforderungen entsprechen. In vielen Fällen kann sie durch eine moderne und kostensparende Architektur ersetzt werden.
COBOL kommt beispielsweise bei der Formulierung von Geschäftsregeln zum Einsatz. Das Haupteinsatzgebiet ist die betriebswirtschaftliche Datenverarbeitung. PL/1 wird vorwiegend auf IBM-Großrechnern eingesetzt, es existieren aber auch Varianten für Windows, AIX und anderen UNIX-Varianten. Fortran steht dort im Fokus, wo es viel auszurechnen gibt, wie beispielsweise in der Physik und den Ingenieurwissenschaften. Natural dient für kommerzielle Anwendungsprogramme und wurde ursprünglich für Großrechner von Siemens und IBM entwickelt. Sich regelmäßig ändernde Geschäftsprozesse untergraben diese Programmiersprachen und erhöhen die Wartungskosten. Der ursprüngliche Anwender des Systems steht kurz vor dem Ruhestand und es ist schwierig, junge Menschen zu finden, die sich für diese historischen Techniken interessieren. In diesem engen Feld entscheiden sich Unternehmen zunehmend dafür, ihre alte Software zu ersetzen.
Risiko Legacy-System: Diese Probleme gehen mit Altsystemen einher
Es gibt zahlreiche Gründe, warum Altsysteme ersetzt werden sollten:
Kaum Zugangsmöglichkeiten
Noch vor wenigen Jahren war das Verständnis für IT-Architektur gering. Infolgedessen konnten in der Vergangenheit nur wenige Anwendungen automatisch von außen oder innen auf das Legacy System zugreifen. In den letzten Jahren ist die Bereitstellung von Schnittstellen zu anderen Systemen zunehmend zu einer Grundfunktion geworden.
Compliance-Themen und regulatorische Anforderungen
Die veraltete Datenverarbeitung ist problematisch im Hinblick auf Einsicht und Softwaredokumentation im Sinne der DSGVO und anderer Datenschutzbestimmungen. In vielen Legacy-Systemen werden die Vorgaben, dass Daten einfach, schnell und direkt identifiziert, extrahiert oder gelöscht werden können, nicht berücksichtigt.
Undurchsichtige Datensilos
Nicht nur die Systemdokumentation, sondern auch die Datenverwaltung innerhalb des Altsystems ist eine Herausforderung. Im Zeitalter der künstlichen Intelligenz, der Datenwissenschaft und Datenanalysemethoden ist es wichtig, Informationen so einfach wie möglich aus dem System zu extrahieren und zentral verfügbar zu machen. Bei Legacy-Systemen behindern schwierige Datenmodelle und undurchsichtige Datenbanken diese Arbeit.
Komplizierte Wartungsarbeiten
Sowohl die Wartungskosten als der Arbeitsaufwand des Altsystems sind höher als die einer modernen Architektur. In extremen Fällen gibt es weder Hersteller-Support noch Mitarbeiter, die mit der Software vertraut sind. Um diese Systeme am Laufen zu halten, ist viel Zeitaufwand erforderlich. Eine Modernisierung kann dieses Problem lösen.
Sicherheitslücken
Ein besonderes Problem bei Legacy-Systemen besteht darin, dass der Sicherheitsschutz immer schwächer wird. Aktuelle Softwareanbieter stellen Sicherheitsupdates bereit und erstellen ständig Fehlerkorrekturen, während Altsysteme diese grundlegende Wartung nicht bekommen. Dieses Hindernis spiegelt sich in Infrastrukturschwächen wider, die so schnell wie möglich behoben werden müssen.
Hohe Kosten
Eines der Hauptprobleme bei Legacy-Systemen sind die Kosten für Infrastruktur und Wartung. Der Betrieb des Altsystems führt zu laufenden Kosten, die aufgrund veralteter Technologie kontinuierlich steigen. Veraltete Infrastrukturen, Codebasen und Programmiersprachen wie COBOL, PL/1, Natural und Fortran erfordern spezielle Fachkenntnisse, um nur den Status Quo aufrechtzuerhalten. Diese Sonderinvestition spiegelt sich schnell in den Betriebskosten wider.
Fehlende Integration durch veraltete ProgrammiersprachenNeben den steigenden Wartungskosten ist auch die Integration von Altsystemen ein Problem. Vor einigen Jahren war es noch nicht wichtig, Systeme zu kombinieren und in IT-Architekturen zu integrieren. Dies ist aber heute der Fall. Die fehlenden Integrationsmöglichkeiten von Altsystemen entzündeten die Ideen für Weiterentwicklung und Querverbindung.
Diese Herausforderungen entstehen bei der Weiterentwicklung / Ablöse von Legacy-Systemen
Legacy-Systeme hatten ihre Daseinsberechtigung. Aufgrund des technologischen Fortschritts und der ständig steigenden Anforderungen ist eine Weiterbetrieb der Systeme in der Regel nicht mehr sinnvoll. Die Übertragung ist jedoch aus folgenden Gründen nicht einfach:
- Aufwand: Veraltete Systeme sind in alten Programmiersprachen geschrieben, die nicht mehr verwendet oder schlecht dokumentiert werden. Die Installation einer Schnittstelle für ein neues Migrationssystem ist kompliziert. Noch schwieriger ist es, Mitarbeiter mit entsprechendem Wissen auszustatten.
- Integration: Herkömmliche Systeme sind normalerweise Kernsysteme, die tief in die IT-Architektur integriert sind. Das Ersetzen dieser erfordert eine sehr sorgfältige Planung.
- Änderung eines laufenden Systems: Selbst wenn die Vorteile klar definiert sind, zögern Unternehmen häufig, funktionierende Software zu ersetzen. Hier sind Mitarbeiter der wesentliche Verzögerungsfaktor, da sie an das Legacy System gewöhnt sind.
- Austausch: Traditionelle Systeme werden normalerweise als unabhängige Systeme entworfen. Infolgedessen wird ein vollständiger Ersetzungsprozess angewendet, anstatt Schlüsselkomponenten wie in der Microservices-Domäne zu aktualisieren.
- Kosten: Altsysteme verbrauchen eine Menge Ressourcen. Ein Wechsel zwischen den beiden Systemen und der vorübergehende Doppelbetrieb der beiden Systeme verursachen ebenfalls Kosten.
Wie löst man diese Herausforderungen?
Die Gründe für den Austausch veralteter Soft- und Hardware sind vielfältig. Das Altsystem wird durch Datenmigration, vorübergehende Ersetzung, Auslagerung einiger Funktionen oder Paralleloperationen erneuert. Dabei sind zwei Fehlerquellen zu vermeiden: Funktionsfehler und Datenverlust.
Datenmigration zur Vermeidung von Datenverlust
Eine der schlimmsten Situationen beim Ersetzen eines alten Systems ist Datenverlust. Da neue Datenmodelle selten so entworfen sind wie alte Systeme, muss die Datenübertragung immer sorgfältig geplant werden. Die Lösung ist die strategische Datenmigration. Zu diesem Zweck werden Daten aus dem alten System extrahiert und während des Austauschs auf das neue System übertragen. Während dieser Datenmigration muss darauf geachtet werden, dass Daten nicht verloren gehen. Diese Migration muss parallel zum Online-Betrieb des neuen Systems oder danach erfolgen. Abhängig von der Datenbank kann die Datenübertragung entweder später erfolgen oder der Betrieb des Systems muss ausgesetzt werden.
Vorübergehender Austausch des alten Systems
Grundsätzlich gibt es drei Möglichkeiten, das Altsystem direkt zu ersetzen. Die neuen Modelle decken alle Funktionen ab. Das neue System schaltet nur nach und nach einige Funktionen um oder führt zunächst parallele Operationen durch, die eine kontinuierliche Überprüfung in beiden Systemen ermöglichen. Der effektivste Weg Legacy Software zu ersetzen, besteht darin, ein neues System vorzubereiten und das alte nach der Datenmigration zu ersetzen.
Anschließend werden alle Vorgänge direkt über das neue System ausgeführt, Daten werden im neuen System erstellt und alle Benutzer müssen die neue Software direkt verwenden. Die Nachteile liegen auf der Hand: Wenn etwas nicht funktioniert, sind wichtige Komponenten in der IT-Infrastruktur gelähmt, der Bedarf an speziellen Schulungen ist sehr hoch und wenn der Austausch fehlschlägt, ist ein Datenverlust unvermeidlich. Stattdessen gibt es eine Methode zum kontinuierlichen Ersetzen von Altsystemen basierend auf der Funktionalität. Aus diesem Grund befinden sich beide Systeme in einem Echtzeit-Schaltzustand und Komponenten werden nur schrittweise migriert. Auf diese Weise kann die Funktion kontinuierlich überprüft werden, während die Auswirkungen im Fehlerfall so gering wie möglich gehalten werden.
Teilweise funktionale Methoden verstärken die Erfolgssicherheit, erhöhen aber auch den Bedarf an Pflege und Organisation. Im Allgemeinen verlängert dies die Dauer des Projekts, da jede einzelne Komponente überprüft wird. Es ist auch notwendig, die Koordination der Mitarbeiter genau zu steuern, damit klar ist, welche Komponente in welchem System verwendet wird. Nach diesem Prinzip ist es erforderlich, eine Schnittstelle zum alten System zu erstellen, damit (ähnlich einer Microservice-Architektur) Daten zwischen Systemen ausgetauscht werden können. Diese Notwendigkeit erhöht die Vorbereitungsarbeit.
Temporärer Parallelbetrieb
Eine weitere etablierte Methode bei der Migration älterer Systeme ist der vorübergehende vollständige Betrieb beider Systeme. Bei dieser Lösung müssen zwei komplette Systeme gleichzeitig gewartet und betrieben werden. Die Vorteile liegen auf der Hand: Ob die beiden Systeme dieselben Ergebnisse erzielen, dieselben Daten speichern und dieselbe Leistung zeigen, wird bald klar. Im Allgemeinen kann dieser Parallelbetrieb jedoch nicht lange aufrechterhalten werden, da er sehr umständlich ist.
Legacy-Systeme modernisieren: Was bedeutet „Reverse Engineering“?
Reverse Engineering bezieht sich auf die Rekonstruktion eines vorhandenen Produkts – in diesem Fall Software. Um die Struktur und Funktion des Programms zu verstehen, wird es beim Reverse Engineering zerlegt und vom Bestandssystem eine Systemdokumentation erstellt. Der Zweck des Software-Reverse-Engineerings besteht darin, den Code eines vorhandenen Programms neu zu erstellen. Auf diese Weise ist es möglich, die Software zu optimieren, Funktionsfehler zu korrigieren, konkurrierende Programme zu analysieren und neue Systeme zu entwickeln.
Quellen und Referenzen:
http://pu.inf.uni-tuebingen.de/users/klaeren/ko.pdf
https://www.brainspire.com/blog/what-is-a-legacy-system-how-can-i-see-if-my-business-is-using-one
https://www.zweitag.de/blog/abloesung-von-cobol-basierten-legacy-systemen/
https://www.adesso.de/de/news/blog/modernisierung-von-altsystemen.jsp
https://www.computerwoche.de/a/altsysteme-setzen-die-it-teams-unter-druck,3545916
https://www.digital-management-blog.de/it-strategie/it-modernisierung/migration-von-altsystemen-roboter-vs-mensch/
https://www2.deloitte.com/content/dam/Deloitte/de/Documents/technology/Deloitte_Legacy-Modernisierung_Studie_2018.pdf
Um einen Kommentar zu hinterlassen müssen sie Autor sein, oder mit Ihrem LinkedIn Account eingeloggt sein.