Legacy-Systeme in der IT

Alte IT-Infrastrukturen stellen für viele Unternehmen nach wie vor ein großes Problem dar, und viele Geschäftsinhaber zögern aufgrund der damit verbundenen Herausforderungen mit der IT-Modernisierung. Dieser Artikel enthält wertvolle Tipps für die Verwaltung von IT-Altsystemen und die effektive Modernisierung Ihrer Software.

blog-post-img

Wofür steht der Begriff “Legacy”?

Das Wort “Legacy” kommt aus dem Lateinischen und bedeutet “Erbe” oder “Vermächtnis“. Also etwas, das Sie möglicherweise von Ihren Vorgängern geerbt haben.

Und was ist ein Legacy-IT-System in einer Softwareentwicklung?

Ein Legacy-System in der Softwareentwicklung bezieht sich auf veraltete IT-Systeme oder Anwendungen, welche noch immer verwendet werden. Dies geschieht oft, weil sie für die Bedürfnisse der Organisation noch immer ausreichend funktionieren, aber aufgrund ihrer veralteten Technologie schwer zu warten oder zu aktualisieren sind. Diese Systeme können auch benutzerdefinierte Anwendungen oder Geschäftsprozesse enthalten, die in die alte Technologie integriert sind, was einen Wechsel zu einem neueren, moderneren System signifikant erschwert.

Wie unterscheiden sich Legacy-IT Systeme von modernen Anwendungen?

Im Vergleich zu Legacy-Systemen haben moderne Anwendungen in der Regel eine moderne Architektur und basieren auf aktuellen Technologien. Sie sind flexibler und skalierbarer, was bedeutet, dass sie sich leichter an die sich ändernden Bedürfnisse der Organisation anpassen lassen. 

Moderne Anwendungen haben auch eine benutzerfreundlichere Oberfläche und bieten bessere Sicherheit. Darüber hinaus sind sie einfacher zu warten, zu aktualisieren und zu betreiben, was Zeit und Kosten spart.

Im Gegensatz dazu basieren Legacy-IT Systeme auf älteren Technologien und sind deshalb schwerer zu betreiben. Sie sind auch weniger flexibel und skalierbar und sind in der Regel weniger Sicherheit.

Was für Legacy-IT Systeme gibt es?

Legacy-IT Systeme gibt es, wie andere IT Systeme auch, in diversen Arten und Grössenordnungen:

  • Mainframe-Systeme: Dies sind große Computer-Systeme, die noch in grösseren Organisationen verwendet werden, welche große Datenmengen verarbeiten müssen. Mit der kontinuierlichen Weiterentwicklung der Technik schrumpfen die Hardware-Anforderungen, so dass theoretisch die Arbeit eines Serverraums von einem einzigen Rack erledigt werden kann. Oft ist es die Inkompatibilität der Software zu modernen Hardware- und Betriebssystemen, sowie die Schwierigkeit der Datenmigration, welche den Weiterbetrieb eines Mainframe-Systems nötig machen.
  • Klassische Client-Server-Systeme: Dies sind ältere Systeme, die auf einer Client-Server-Architektur basieren und auf einem zentralen Server ausgeführt werden. Hier kann man zwischen solchen Systemen unterscheiden, bei denen sowohl der Server als auch die Clients veraltet sind, und solchen, bei denen nur der Server, beziehungsweise die Server Software veraltet ist. Hier gibt es auf der einen Hand das Problem mit dem schwierigen Betrieb der Serversysteme, und auf der anderen Hand die mangelnde Akzeptanz veralteter Client Software durch die Anwender.
  • Alte Datenbank-Systeme: Dies sind ältere Datenbank-Systeme, die möglicherweise nicht mehr von ihrem Hersteller unterstützt werden und eine manuelle Wartung erfordern. Obwohl man die Anwender mit neuer Client Software beglücken kann, wird die eigene IT mit dem Betrieb des Datenbanksystems ihre Schwierigkeiten haben.
  • Alte Desktop-Anwendungen: Dies sind ältere Anwendungen, die auf einem Desktop-Computer ausgeführt werden, möglicherweise keine Updates mehr erhalten und zudem nicht für moderne Betriebssysteme optimiert sind.
  • Alte Web-Anwendungen: Dies sind ältere Web-Anwendungen, die möglicherweise nicht mehr unterstützt werden und auf veralteten Technologien basieren. Besonders auf der Backend-Seite können hier diverse Sicherheitsrisiken lauern. Aber auch das Frontend entspricht nicht dem, was ein moderner Anwender an Funktionalität, Attraktivität und Bedienungskomfort erwartet.
Migration von einem Legacy-System

Warum findet man in so vielen Organisationen noch so viele Legacy-IT Systeme?

Viele Legacy-Systeme bleiben in Unternehmen präsent, weil sie oft noch ausreichend funktionieren und für die Bedürfnisse des Unternehmens geeignet sind. Ein Wechsel zu einer modernen Lösung kann Zeit und Kosten erfordern, insbesondere wenn benutzerdefinierte Anwendungen und Geschäftsprozesse integriert sind. Darüber hinaus ist es manchmal schwierig, eine moderne Lösung zu finden, die dieselben Funktionalitäten und Leistungen bietet wie das Legacy-System. Es kann auch eine Übergangsperiode geben, in der beide Systeme parallel laufen müssen, was zusätzliche Kosten verursacht. Aus diesen Gründen bleiben Legacy-Systeme oft länger in Gebrauch, als es ursprünglich geplant war.

Welche Beispiele gibt es für Legacy- IT Systeme und Anwendungen?

Viele bekannte IT Systeme sind zu Legacy-IT Systemen geworden, da sie, wie oben beschrieben, schwer zu ersetzen sind. Systeme, welche groß, komplex und mit vielen anderen Systemen verknüpft sind, wie zum Beispiel ERP Systeme, sind gelinde gesagt sehr kompliziert,sprich teuer, zu migrieren. Auch die peripheren Systeme, welche nicht unbedingt von demselben Hersteller stammen, müssten mit hoher Wahrscheinlichkeit ersetzt oder wenigstens modernisiert werden.

Einige Systeme wurden für einen besonderen, einzigartigen Anwendungsfall entwickelt und eine Neuentwicklung würde ebenso teuer werden. Ein Beispiel ist eine Java Webapplikation, welche für eine bestimmte Bank entwickelt wurde. Diese war jedoch nur mit einer veralteten Version des Internet Explorers kompatibel. Dies führte dazu, dass die Bank an zwei Legacy-IT Anwendungen festhalten musste, während die Anwender zwei Browser gleichzeitig nutzen mussten. Banken sind sehr auf Sicherheit bedacht und scheuen gleichzeitig Veränderungen, welche ihr empfindliches Tagesgeschäft stören können. Dies kann zu Paradoxa führen; wie man an Geldautomaten sehen konnte, die noch auf Windows XP liefen, Jahre nachdem Microsoft hierfür den Support eingestellt hatte.

Es gibt auch Systeme, welche besonders robust sein müssen, und deswegen auf erprobter Hardware und Software basieren müssen. Dies findet man oft im medizinischen Bereich, in Industrieanlagen oder in der Logistik. Ein ganz extremes Beispiel? Die Mars Rover der NASA basieren auf jahrzehnte alter Hardware, und somit auch Software, da Prozessoren mit größeren Architekturen weniger Anfällig für Störungen durch kosmische Strahlung sind. Bei der Arbeit mit solchen Systemen ist es dann wichtig, die richtigen Schnittstellen zu finden.

Was riskiert man, wenn man seine Legacy-IT Systeme weiter betreibt?

  • Ineffizienz: Dies bedeutet, dass ältere IT Systeme oft langsamer arbeiten und weniger Ressourcen effektiv nutzen können im Vergleich zu modernen IT Systemen. Dies kann zu längeren Wartezeiten für Ihre Anwender und höhere Betriebskosten für Ihre IT führen.
  • Mangelnde Anpassbarkeit an neue Anforderungen: Dies bedeutet, dass alte Systeme nicht in der Lage sein können, sich an veränderte Geschäftsbedürfnisse anzupassen, wie zum Beispiel neue Funktionalitäten oder integrierte Technologien. Dies kann dazu führen, dass das Unternehmen hinter seinen Konkurrenten zurückbleibt und an eben diese Marktanteile verliert, oder eine Behörde ihre Prozesse nicht aktualisieren kann, da diese an das Legacy-IT System gebunden sind.
  • Gravierende Sicherheitsrisiken: Ältere Systeme können oft nicht auf die neuesten Sicherheitsstandards aktualisiert werden, da sie die nötigen Technologien nicht unterstützen. Somit stellen sie ein höheres Risiko für Datenverluste dar, und bieten Hackern und Malware mehr Angriffsfläche.
  • Höhere Wartungskosten: Diese resultieren aus dem Bedarf, ältere Systeme aufrechtzuerhalten und zu reparieren, was oft teurer ist als bei modernen Systemen.
  • Hohes Ausfallrisiko: Alte Systeme haben häufiger Probleme und es treten oft unvorhergesehene Ausfälle auf, was zu Unterbrechungen des Geschäftsbetriebs führen kann.

Best Practices für die Migration von Legacy-IT Systemen

Einige Best Practices für die Migration von Legacy-IT-Systemen sind:

  • Planung und Vorbereitung: Dies ist wohl der wichtigste Punkt, denn eine gründliche IT Planung und Vorbereitung sind entscheidend für eine erfolgreiche Migration. Es ist essentiell, dass alle Stakeholder im Vorfeld über den Umfang und die Ziele der Migration informiert sind und in der Lage sind, ihr Input zu geben. Auch eine sorgfältige Zeitplanung ist nötig, da man die Migration möglichst ausserhalb der Produktionszeiten abschliessen möchte. Auch ein mögliches Rollback muss eingeplant werden.
  • Identifikation von Abhängigkeiten: Es ist wichtig, alle Abhängigkeiten zwischen den alten und neuen Systemen zu identifizieren, um sicherzustellen, dass die Migration reibungslos verläuft. Anschliessend müssen die Schnittstellen zwischen den Systemen sauber definiert werden, damit sie später ohne Probleme implementiert werden können.
  • Bleiben Sie agil: So gut wie jedes Projekt kann mit agilen Methoden durchgeführt werden, auch das Migrationsprojekt für ein Legacy-IT System. Dies ist besonders der Fall, wenn es sich hierbei um die Entwicklung einer Custom Software handelt.  Die Vorteile eines agilen Projektes sind unter anderem mehr Flexibilität, eine höhere Qualität und reduzierte Risiken.
  • Testen, testen, testen: Es ist wichtig, das neue System ausgiebig zu testen, bevor es in Betrieb genommen wird, um sicherzustellen, dass es ordnungsgemäß funktioniert und keine Fehler auftreten.Falls das neue System eine Custom Software ist dann sollten Tests bereits während der Entwicklung stattfinden, besonders, wenn diese agil und iterativ abläuft.
  • Datenqualitätssicherung: Die Qualität der Daten muss vor, während und nach der Migration sichergestellt werden. Es ist wichtig sicherzustellen, dass alle Daten vollständig und korrekt übertragen werden. Hierfür muss verstanden werden, wie sich einzelne Datensätze nach der Migration verhalten werden. Backups sollten hier Pflicht sein.
  • Überprüfung der Sicherheit: Sicherheitsbedenken müssen sorgfältig geprüft werden, um sicherzustellen, dass das neue System den aktuellen Sicherheitsstandards entspricht. Auch der Datenschutz, beziehungsweise die Konformität mit diesem, spielt eine Rolle.
  • Schulung der Mitarbeiter: Ihre Mitarbeiter müssen auf das neue System vorbereitet werden, um sicherzustellen, dass sie es effektiv nutzen können. Sind die Mitarbeiter Ihrer IT in der Lage, das System effektiv zu betreiben? Sind die Anwender in der Lage, mit dem neuen System umzugehen? Bei letzteren hilft es, eine kleinere Gruppe von Multiplikatoren zu schulen, die ihr Wissen anschliessend an die Kollegen weitergeben.
  • Dokumentation und Wartung: Eine ausreichende Dokumentation und Wartung des neuen Systems ist wichtig, um Probleme schnell lösen zu können und eine langfristige Funktionsfähigkeit zu gewährleisten.
  • Schrittweise Migration: Eine schrittweise Migration kann helfen, Probleme frühzeitig zu erkennen und zu lösen und das Risiko von Fehlern oder Datenverlusten zu minimieren.

Es ist wichtig zu beachten, dass jeder Migrationsprozess einzigartig ist und dass es keine universelle Methode gibt, um sicherzustellen, dass eine Migration erfolgreich ist. Die Einhaltung dieser Best Practices kann jedoch dazu beitragen, das Risiko von Problemen und Unterbrechungen im Geschäftsbetrieb zu minimieren.

Fehler, die man bei der Migration von Legacy-IT Systemen vermeiden sollte

Fehler, die bei der Migration alternder Systeme vermieden werden sollten, sind unter anderem:

  • Unzureichende Planung und Vorbereitung: Eine gründliche Analyse der bestehenden Systeme und eine sorgfältige Planung des Migrationsprozesses sind entscheidend, um Fehler zu vermeiden. Bei der Planung sollten Sie den Platz des Systems in Ihrer IT-Landschaft berücksichtigen. Auch sollten alle Stakeholder in Ihre Planung miteinbezogen werden.
  • Ignorieren der Datenqualität: Stellen Sie sicher, dass alle Daten, die während der Migration übertragen werden, vollständig und korrekt sind.
  • Überspringen der Testphase: Testen Sie das neue System gründlich, um sicherzustellen, dass es ordnungsgemäß funktioniert und keine Datenverluste oder Fehler auftreten.
  • Übersehen von Abhängigkeiten: Stellen Sie sicher, dass Sie alle Abhängigkeiten zwischen den alten und den neuen Systemen identifizieren und berücksichtigen. Wichtig ist, dass die Migration für periphere Systeme, welche selbst nicht migriert werden, möglichst transparent ist. Andernfalls müssen auf beiden Seiten Schnittstellen aktualisiert und modernisiert werden.
  • Übersehen von Benutzeranforderungen: Stellen Sie sicher, dass das neue System den Anforderungen der Benutzer gerecht wird und dass diese angemessen geschult werden. Andernfalls wird deren Akzeptanz für das neue System niedrig sein.
  • Übersehen von Sicherheitsbedenken: Überprüfen Sie, ob das neue System den aktuellen Sicherheitsstandards entspricht, um sicherzustellen, dass keine Daten gefährdet sind.
  • Überstürzte Migration: Vermeiden Sie eine überstürzte Migration ohne ausreichende Vorbereitung und Test, da dies Fehler und Unterbrechungen im Geschäftsbetrieb verursachen kann.
  • Ignorieren von Dokumentation und Wartung: Stellen Sie sicher, dass Sie ausreichende Dokumentation und Wartungspläne für das neue System parat haben, um eventuell auftretende Probleme in Zukunft schnell lösen zu können.

Die Vorteile der Migration eines Legacy-IT Systems

Auf die Vorteile der Migration eines Legacy Systems kommt man im Umkehrschluss nach der Betrachtung der Nachteile ihres Betriebs (siehe oben):

  • Effizienzsteigerung: Neue Systeme arbeiten oft schneller und nutzen Ressourcen effektiver, was zu einer höheren Geschäftseffizienz führen kann.
  • Anpassbarkeit an neue Anforderungen: Neue Systeme sind oft besser in der Lage, sich an veränderte Geschäftsbedürfnisse anzupassen, wie zum Beispiel neue Funktionalitäten oder integrierte Technologien.
  • Verbesserte Cybersecurity: Neue Systeme sind oft auf dem neuesten Stand der Sicherheitstechnologie und bieten somit einen besseren Schutz vor Datenverlust oder Hackerangriffen.
  • Reduzierte Wartungskosten: Neue Systeme haben oft geringere Wartungskosten und eine höhere Zuverlässigkeit als ältere Systeme.
  • Bessere Benutzerfreundlichkeit: Neue Systeme sind oft benutzerfreundlicher und erleichtern den täglichen Einsatz.
  • Unterstützung für neue Geschäftsanforderungen: Neue Systeme können neue Geschäftsanforderungen unterstützen und das Unternehmen somit wettbewerbsfähiger machen.
  • Steigerung des Unternehmenswerts: Eine erfolgreiche Migration alternder Systeme kann zu einer Steigerung des Unternehmenswerts führen, indem die Effizienz und die Wettbewerbsfähigkeit verbessert werden.
Prototyp entwickeln

Wie kann man Legacy-IT Systeme in kleinen Organisationen am besten migrieren?

Für kleine Unternehmen gibt es einige gute Lösungen um alternde Legacy-IT Systeme zu ersetzen, darunter:

Cloud-basierte Lösungen: Cloud-basierte Systeme können einfach bereitgestellt und gewartet werden, was sie zu einer günstigen Option für kleine Unternehmen macht. Jedoch ist man hierbei auf den Cloud-Dienstleister und die von ihm implementierte Robustheit und Sicherheit angewiesen. Auch muss sehr sorgfältig geklärt werden wie das betroffene System migriert werden kann, fall dies überhaupt mit dem Cloud-System zu vereinbaren ist.

Software-as-a-Service (SaaS): SaaS-Lösungen sind ebenfalls in der Cloud gehostet und bieten eine einfache und kosteneffiziente Möglichkeit, bestehende Systeme zu ersetzen. Auch hier muss zuerst erörtert werden, welche Software die Bedürfnisse der Organisation erfüllen kann.

Open-Source-Software: Open-Source-Software kann kostenlos oder zu einem geringen Preis bereitgestellt werden und bietet oft eine flexible Alternative zu kommerziellen Lösungen. Der Vorteil ist hier nämlich, dass diese quelloffene Software von den eigenen Entwicklern auf die eigenen Bedürfnisse hin angepasst werden kann. Bei kostenloser Software kann man jedoch keine regelmässigen Updates oder professionellen Support erwarten.

Kombination aus neuen und bestehenden Systemen: Ein hybrider Ansatz, bei dem bestehende Systeme mit neuen Lösungen kombiniert werden, kann eine effiziente und kosteneffektive Möglichkeit sein, alternde Systeme zu ersetzen. Dies kann man jedoch nur als eine temporäre Lösung sehen, oder als Teil eines Leapfrogging, bei dem die Systemkomponenten abwechselnd aktualisiert werden.

Individualsoftware: Es kann sinnvoll sein, eine personalisierte Lösung zu erstellen, die speziell auf die Bedürfnisse der Organisation abgestimmt ist. Diese Lösung ist zwar teurer als andere Optionen, hat aber viele Vorteile, ist passgenau und damit sehr effizient.

Es ist wichtig zu beachten, dass keine einheitliche Lösung für jede Organisation existiert und dass die beste Option für eine kleine Organisation von deren individuellen Bedürfnissen und Ressourcen abhängt. Hier wird  eine sorgfältige Analyse das A und O sein!

Fallstudien und Beispiele von erfolgreichen Modernisierungen

Wie kann mehrere bevorstehende Modernisierungen am elegantesten durchführen? Indem man ihnen eine gemeinsame moderne und effiziente Basis verpasst. Wir haben die BLS AG bei der modernisierung ihrer geschäftskritischen Applikationen unterschtützt, mit ebendiesem Schritt. Hierfür wurde mit den internen IT Architekten eine moderne Full-Stack Java Enterprise Plattform entworfen und innerhalb von drei Monaten implementiert. Anschliessend konnten auf diese Basis die alten Anwendungen neu implementiert werden. Natürlich erfüllt die Platform auch bei kompletten Neuentwicklungen ihren Zweck.

Wie sieht es mit einer Kassenapplikation in COBOL aus, die zudem mit der Lagerverwaltung verbunden ist? Für die Transgourmet haben wir das alte, auf Unix laufende System durch eine moderne, auf Eclipse RCP und Java EE basierende Applikation ersetzt, welche auf einem JBoss Anwendungsserver läuft. Mit dieser war der Kunde in der Lage, seine Wartungskosten zu reduzieren und seine Business-Agilität zu erhöhen. Auch die Windows Mobile Geräte der Lagerverwaltung bekamen eine Erweiterung ihrer mobilen .NET Anwendungen. So konnte diese mobile Legacy-Hardware mit modernisierter Software weiter genutzt werden.

Wie kann 72 Services Ihnen bei der Modernisierung Ihres Legacy-IT Systems behilflich sein?

Wir können Sie schon bei der Analyse unterstützen, damit Sie eine solide Entscheidungshilfe haben für die Frage, wie genau Ihr Legacy-IT-System modernisiert werden soll. Dank unserer reichhaltigen Projekt-Erfahrung können wir Sie anschließend mit Ihnen die Planung und Durchführung Ihres Migrationsprojektes durchführen. Und, da wir erfahrene Software Architekten und Entwickler sind haben wir auch kein Problem damit, Ihr neues System zu implementieren. Setzen Sie sich also mit uns in Verbindung!

Programming Architect at 72® Services
Simon Martinelli ist ein versierter Experte für Java, Leistungsoptimierung, Anwendungsintegration, Softwarearchitektur und Systemdesign mit 27 Jahren Erfahrung als Entwickler, Architekt und technischer Projektmanager. Kontaktieren Sie mich hier oder buchen Sie einen Beratungstermin über Calendly.
Simon Martinelli
Latest posts by Simon Martinelli (see all)
Simon Martinelli
Programming Architect 72® Services
Simon Martinelli ist ein versierter Experte für Java, Leistungsoptimierung, Anwendungsintegration, Softwarearchitektur und Systemdesign mit 27 Jahren Erfahrung als Entwickler, Architekt und technischer Projektmanager. Kontaktieren Sie mich hier oder buchen Sie einen Beratungstermin über Calendly.