Was ist ein Legacy System? Probleme und Lösungen

Was ist ein Legacy System? Probleme und Lösungen

Kilian

Was ist ein Legacy System? Probleme und Lösungen

|

Kilian

Der Begriff “Legacy System” wird oft synonym für Altsysteme genutzt, die eigentlich ersetzt gehören, aber es aufgrund ihrer Kernfunktionalität noch nicht sind. In diesem Artikel stellen wir die Bedeutung eines Legacy Systems dar, warum solche Altsysteme existieren, ihre Probleme und wie man sie ablösen kann.

Inhalt

Was ist ein “Legacy System”?

Ein Legacy System ist alte Software oder Hardware, die abgelöst gehört.

Ein “Legacy System”, auf deutsch “Altsystem”, ist einfach gesagt alte Software und/oder Hardware, die noch genutzt wird, aber eigentlich abgelöst gehört. Der Grund für eine Ablösung kann mannigfaltig sein, was das System zum “Erbe” macht ist dass es so tief in die IT-Infrastruktur verankert ist, dass es nicht einfach entfernt oder abgeschalten werden kann. Die Bedeutung des Begriffs beruht dabei auf den Begriffen Erbe, Hinterlassenschaft oder auch Altlast als Metapher für negative Präsenz des Altsystems.

Viele Systeme die früher das Herzstück des Unternehmens waren, wie beispielsweise eigene e-Commerce Software, Kundenmanagement-Systeme oder Logistikplanung, sind nach vielen Jahren im Einsatz überholt. Oft geht es vor allem um Skalierbarkeit, Konnektierbarkeit, Sicherheit und Pflegeaufwand, weshalb ein solches System abgelöst werden soll.

Mit zunehmender Entwicklung der Technologie (vgl. Cloud Computing, Big Data, etc) stellt sich auch oft die Frage, welche Systeme mitwachsen können – und welche nicht. Letztere nennt man Legacy Systeme und diese werden üblicherweise so lange mitgeführt, bis eine Ablösung möglich ist. Dies ist aber aufgrund der tiefen Verwurzelung dieser Kernsysteme oft ein sehr großer Aufwand.

Warum existieren Legacy Systeme?

Wie bereits skizziert, hatten Legacy Systeme ihre Daseinsberechtigung. Doch durch den Fortschritt der Technologie und oft auch erhöhte Anforderungen macht es oft keinen Sinn mehr, das System weiter zu entwickeln. Doch eine Ablöse ist aus folgenden Gründen oft nicht nicht einfach:

  • Integration: Legacy Systeme sind üblicherweise Kernsysteme, die tief in die IT-Architektur integriert sind. Diese zu ersetzen bedarf sehr sorgfältiger Planung.
  • Never change a running system: Unternehmen sind oft zögerlich “funktionierende” Software abzulösen, selbst wenn die Vorteile klar definiert sind. Hier sind meist die Menschen der verzögernde Faktor, da sie es ja “gewohnt” sind, mit einem solchen System zu arbeiten.
  • Monolithen: Legacy Systeme sind oft als Standalone-Systeme konstruiert worden. Folglich gilt ein “alles oder nichts”-Ablöseverfahren, statt die Erneuerung kritischer Komponenten, wie es in einer Microservices-Landschaft möglich wäre.
  • Kosten: Obwohl Altsysteme sicherlich viele Ressourcen verschlingen, ist der Umstieg und ggf. übergangsweise Doppelbetrieb zweier Systeme wesentlich kostspieliger.
  • Aufwand: Legacy Systeme sind oft in alten, nicht mehr gebräuchlichen Programmiersprachen geschrieben und/oder schlecht dokumentiert. Schnittstellen für neue System zur Migration einzubauen ist schwierig, Personal mit entsprechenden Kenntnissen zu bekommen noch schwieriger. Als besten Beispiel dient das europäische Bankensystem, das noch auf sehr veralteter Software läuft.

Probleme von Legacy Systemen

Legacy Systeme verursachen viele Probleme. Deshalb möchte man sie ablösen.

Es gibt eine Bandbreite an Problemen weshalb man Legacy Systeme ablösen möchte. 

Kosten

Eines der Hauptprobleme eines Legacy Systems sind die Kosten für Infrastruktur als auch Pflegepersonal. Während ein hoher Invest einerseits oft der Grund ist, weshalb eine Ablösung abschreckend ist, verursacht das beibehalten des Systems dennoch kontinuierliche Kosten. 

Diese Kosten werden durch die eingesetzte Technologie oft potenziert. Veraltete Infrastruktur, Codegrundlagen und ggf. Programmiersprachen benötigen spezialisierte Ersatzteile und Fachwissen zum Erhalt des Status Quo. Dieser Spezialinvest schlägt sich meist auch in den laufenden Kosten nieder.

Pflegeaufwand

Nicht nur die Kosten für die Pflege, auch der generelle Aufwand von Legacy-Systemen ist meist um ein wesentliches höher als in moderner Architektur. Im Extremfall gibt es keinen Herstellersupport mehr oder bei homebrew in-House Software befinden sich die Ersteller der Systeme nicht mehr im Haus. Schnell muss viel Zeit und Energie investiert werden, um ein kritisches System am Laufen zu halten, statt sich um die Modernisierung zu kümmern.

Sicherheit

Ein besonderes Problem von Legacy Systemen ist die zunehmend schwächere Sicherheitslage. Während aktuelle Software-Vendoren Sicherheitsupdates bereit stellen und kontinuierlich Bugfixes kreieren, gibt es bei Altsystemen oft niemand mehr, der sich um eine solche fundamentale Pflege kümmern kann. Je nach Einsatz des Systems schlägt sich dies dann selbstverständlich in einer kritischen Infrastrukturschwachstelle nieder, was es möglichst schnell zu beheben gilt.

Zugriffsmöglichkeiten

Vor wenigen Jahren wurde IT-Architektur noch nicht so weit und holistisch gedacht wie es heute der Fall ist. Folglich gab es früher auch selten den direkten Anwendungsfall, dass auf ein System von Außen, Innen oder automatisiert zugegriffen werden kann. Dies hat sich in den letzten Jahren geändert und die Bereitstellung von Schnittstellen zu anderen Systemen wird immer mehr zu einer Basisfähigkeit von vielen Systemen. 

Datensilos

Angrenzend an das vorherige Problem ist auch die Systeminterne Datenverwaltung eine Herausforderung. Im Zeitalter von künstlicher Intelligenz, Data Science und anderen Data Analytics Herangehensweisen gilt es, möglichst einfach Daten aus Systemen zu extrahieren und zentralisiert in zum Beispiel einem Data Lake zur Verfügung zu stellen. Bei Legacy Systemen ist dies oft nicht einfach der Fall und falls, machen schwierige Datenmodelle oder obskure Datenbanken gerne einen zusätzlichen Strich durch die Rechnung.

Compliance

Nicht nur die Verarbeitung von Daten im Sinne von Insights und Innovation ist ein Thema, sondern auch im Zuge der DSGVO und anderen Datenschutzverordnungen. Die Idee, dass einfach, schnell und direkt Daten identifiziert, extrahiert und gelöscht werden können um dem Datenselbstbestimmungsrecht gerecht zu werden, ist in vielen Legacy Systemen nicht angedacht.

Integration

Zusammengenommen ist neben den erhöhten Kosten die Integration eines Legacy Systems eines der Hauptprobleme. Vor einigen Jahren war es nicht fundamental wichtig, Systeme zu kombinieren und in eine IT-Architektur zu integrieren. Heute ist dies jedoch der Fall. Und diese mangelnde Integration von Legacy Systemen macht allen Ideen von Weiterentwicklung, Pflege und Querverbindung einen Strich durch die Rechnung.

Skalierbarkeit

Das dritte Hauptproblem von Legacy Systems ist die Skalierbarkeit. Während heute eine viel größere Bandbreite an Technologien existiert um Systeme oder Systemkomponenten zu skalieren, haben sich Altsysteme vor der Ära von Big Data und IoT kaum damit beschäftigt. Folglich werden die meisten Initiativen, ein Legacy System auf einen modernen, interkonnektierten, balanzierten Stand zu bringen, scheitern.

Lösungsansätze bei der Ablösung von Legacy Systemen

Die Ablösung von Legacy Systemen geschieht durch Datenmigration, Ad-Hoc Ablöse, Auslagerung von Teilfunktionalität oder Parallelbetrieb.

Früher oder später muss bei jeden Legacy System über die Ablösung nachgedacht werden. Für eine erfolgreiche Ablösung muss nach einer Systemauswahl die Ablösung geplant werden. Es gibt hierbei zwei kritische Komponenten, die es zu vermeiden gilt: Ausfall der Funktionalität und Datenverlust. 

Datenmigration gegen Datenverlust

Einer der Worst Cases bei der Ablösung eines Altsystems ist der komplette Datenverlust. Da selten neue Datenmodelle so konzipiert werden wie in alten Systemen, muss der Übertrag der Daten immer sorgfältig geplant werden.

Als Lösung steht eine strategische Datenmigration an. Hierzu werden während der Ablösung die Daten aus dem Legacy System extrahiert und in das neue System überführt. Konkreter gilt es hierbei folgende Schritte zu beachten:

  • Datenpipeline zur Extraktion aufbauen
  • Ggf. Daten säubern und/oder filtern
  • Datentransformationen definieren und etablieren, um das Zieldatensystemmodel zu erfüllen (Data Mapping)
  • Test-Runs um die Funktionalität der Data Pipeline zu überprüfen
  • Alle Daten direkt in das Neusystem einspeisen

Während dieser Datenmigration gilt es besonders darauf zu achten, dass keine Neudaten erstellt oder verloren werden. Folglich muss diese Migration entweder parallel zur Live-Schaltung des neuen Systems oder Post-Hoc erfolgen. Je nach Datenbasis kann folglich entweder der Datentransfer später erfolgen (z.B. Analyticsdaten) oder der Betrieb des Systems muss pausiert werden (z.B. ERP).

Ad-Hoc Ablösung des Legacy Systems 

Zur direkten Ablöse des Legacy Systems gibt es im wesentlichen drei Herangehensweisen. Entweder wird das System direkt und unwiderruflich abgelöst und alle Funktionalitäten direkt vom neuen System abgedeckt, es werden sukzessive nur Teilfunktionalitäten im neuen System live geschalten oder es erfolgt initial ein Parallelbetrieb, der es erlaubt, die Funktionalität in beiden Systemen kontinuierlich zu überprüfen.

Der effizienteste aber auch riskanteste Weg ein System abzulösen ist, dass man das Neusystem vorbereitet und nach der Datenmigration dann das Legacy System direkt damit ersetzt. Nachfolgend laufen alle Operationen direkt über das neue System, die Daten werden im neuen System erstellt und alle Nutzer sind verpflichtet, direkt mit der neuen Software zu arbeiten. Die Nachteile sind offensichtlich: Funktioniert etwas nicht, kann eine kritische Komponente in der IT-Infrastruktur lahm gelegt sein, es besteht ein sehr hoher Ad-Hoc Trainingsbedarf und bei Fehlschlag einer Ablösung ist ein Datenverlust vorprogrammiert.

Teilfunktionalität auslagern und Legacy System sukzessive ablösen

Als Alternative dazu gibt es die Methode, dass ein Legacy System funktionalitätsbasiert sukzessive abgelöst wird. Hierzu werden beide Systeme Live geschalten und nur nach und nach Komponenten migriert. Dies erlaubt eine kontinuierliche Überprüfung der Funktionalität, während bei einem Fehlschlag die Auswirkungen möglichst gering gehalten werden.

Durch ein Teilfunktionalitätsvorgehen wird die Sicherheit für den Erfolg erhöht, doch ebenso erhöht sich der Pflegebedarf und die Organisation. Ebenso erhöht dies meist massiv die Projektlaufzeit, da jede einzeln Komponente geprüft wird, bevor sie als transferiert gilt. Ebenso muss die Koordination der Angestellten genau gesteuert werden, damit klar ist, welche Komponente in welchem System zu nutzen ist.

Teilweise ist es in diesem Prinzip notwendig, Schnittstellen zum Legacy System zu erstellen, damit (ähnlich einer Microservices-Architektur) die Daten zwischen den Systemen ausgetauscht werden können. Diese Notwendigkeit trägt zum Aufwand der Vorbereitung bei.

Temporärer paralleler Betrieb 

Eine weitere etablierte Methode in der Migration eines Legacy Systems ist der temporäre Vollbetrieb beider Systeme. Wie man schnell erkennt, ist dies vom Aufwand die intensivste Lösung, da zwei volle Systeme gleichzeitig gepflegt und genutzt werden müssen. Vor allem auch für die Anwender, die zum Beispiel Vorgänge in beiden Systemen erfassen müssen.

Der Vorteil ist jedoch ebenso offensichtlich: Es wird sehr schnell sehr deutlich klar, ob beide Systeme die gleichen Ergebnisse produzieren, die gleichen Daten speichern und die gleiche Performanz ausweisen. Üblicherweise wird dieser Parallelbetrieb allerdings nicht sehr lange aufrecht erhalten, da sie sehr intensiv sind.

Zusammenfassung: Was sind Legacy Systeme?

Zusammenfassend hoffen wir klar dargestellt zu haben, weshalb Legacy Systeme existieren und welche Probleme sie verursachen. Diese Altsysteme hatten in vergangener Zeit sicherlich ihre Daseinsberechtigung oder waren bzw. sind noch absolut zentral für die Funktionalität eines Unternehmens. 

Doch inzwischen hat sich die Technologie-Landschaft weiterentwickelt und manche Systeme können mit dem Fortschritt nicht mehr mithalten. Daher gilt es – strukturiert und geplant – solche Legacy Systeme abzulösen, damit die IT-Infrastruktur nicht dem Erfolg des Gesamtunternehmens im Weg steht.

About the author

Pretium lorem primis senectus habitasse lectus donec ultricies tortor adipiscing fusce morbi volutpat pellentesque consectetur risus molestie curae malesuada. Dignissim lacus convallis massa mauris enim mattis magnis senectus montes mollis phasellus.