Legacy-Anwendung (Altanwendung)
Eine Legacy-Anwendung (Altanwendung) ist ein Softwareprogramm, das veraltet oder überholt ist. Obwohl eine Legacy-Anwendung noch funktioniert, kann sie aufgrund von Kompatibilitätsproblemen mit aktuellen Betriebssystemen (OS), Browsern und IT-Infrastrukturen instabil sein.
Die meisten Unternehmen verwenden Legacy-Anwendungen und -Systeme, die weiterhin wichtige Geschäftsanforderungen erfüllen. In der Regel besteht die Herausforderung darin, die Legacy-Anwendung am Laufen zu halten und sie gleichzeitig in neueren, effizienteren Code umzuwandeln, der aktuelle Technologien und Programmiersprachen nutzt.
Weshalb werden Legacy-Anwendungen noch verwendet?
Zu Legacy-Software gehört auch solche,
- die durch neue Versionen ersetzt wurde,
- die von Entwicklern erstellt wurde, die sie nicht mehr betreuen, sdass das Support-Team nicht mehr über das nötige Fachwissen verfügt, und
- die gepatcht oder anderweitig so verändert wurde, dass sie mit aktuellen Standardversionen nicht mehr kompatibel ist.
Während ein Unternehmen möglicherweise eine Legacy-Anwendung für seine Aktivitäten benötigt, verursachen diese Komplikationen für die IT-Betriebsteams, die sie unterstützen. Eine Legacy-Anwendung ist häufig an eine bestimmte Version eines Betriebssystems oder einer Programmiersprache gebunden. Beispielsweise lässt sich eine Anwendung, die unter Windows 7 läuft, möglicherweise nicht unter Windows 10 ausführen, obwohl Middleware oder Glue-Code von einem Entwicklungsteam hinzugefügt wurde oder das Betriebssystem abwärtskompatibel ist.
Je älter eine Anwendung wird, desto schwieriger ist es für ein Unternehmen, das sie verwendet, Support-Leistungen zu erwerben.
Wenn das Entwicklungsteam eines Herstellers eine Drittanbieteranwendung nicht mehr unterstützt, kann es für ein Betriebsteam schwierig oder sogar unmöglich sein, die Software am Laufen zu halten. Selbst kleine Änderungen an einem Altsystem können zu einer langsameren Leistung, einem höheren Ressourcenverbrauch und häufigeren Ausfällen und Abstürzen führen.
Da Software Abhängigkeiten aufweist, ist es gängige Praxis, dass Softwareanbieter Anwendungen mit Blick auf geplante Veralterung entwickeln. Der Verkauf der ursprünglichen Version einer Anwendung kann mit der Freigabe der nachfolgenden Version enden. Obwohl Kundendienst und Support im Allgemeinen für einen bestimmten Zeitraum verfügbar bleiben, muss das Unternehmen die Legacy-Anwendung aktualisieren oder eine andere Softwareauswahl zu seinem Anwendungsportfolio hinzufügen, um die erforderliche Funktionalität bereitzustellen.
Beispielsweise hat Microsoft den Browser Internet Explorer durch Microsoft Edge ersetzt. Benutzer, die beispielsweise noch mit IE 6 surfen, können dies auch weiterhin tun, aber Webseiten sind eventuell nicht mehr so codiert, dass sie kompatibel sind, und etwaige Fehler oder Irrtümer innerhalb des Programms werden von Microsoft nicht mehr beachtet.
Es gibt mehrere Gründe, warum ein Unternehmen eine veraltete oder sogar antike Anwendung pflegen muss. Es kann unhandlich und kostspielig sein, sie zu ersetzen, insbesondere für einen vertikalen Markt mit speziellen Funktionsanforderungen. Es ist auch möglich, dass die Betriebsrisiken für großen Gabelstapler-Upgrades zu hoch sind, insbesondere wenn wichtige Daten verloren gehen oder beschädigt werden könnten.
Modernisierung und Migration von Legacy-Anwendungen
Veraltete Systeme können nicht ewig gewartet und genutzt werden: irgendwann wird ein Unternehmen die Hardware, die Programmiersprache, das Betriebssystem oder die betreffende Anwendung aufrüsten. Modernisierung und Migration beinhalten ein Refactoring, eine Neuausrichtung oder Konsolidierung der Programmierung älterer Software, um sie an die aktuellen Geschäftsanforderungen anzupassen. Das Ziel eines Projekts zur Modernisierung einer Legacy-Anwendung besteht darin, aus den vorhandenen Anwendungen einen neuen Geschäftswert zu schaffen.
Ein Unternehmen, das eine Legacy-Anwendungsmigration durchführt, muss eine neue Plattform für Effizienz, Geschwindigkeit, Stabilität und dynamischere Fähigkeiten wählen. Die IT-Abteilung stellt die neue Anwendung bereit und migriert dann mit einer abgestuften oder simultanen Wechselmethode.
Beispielsweise kann ein Projektteam die Migration zu einem SaaS-Ansatz (Software as a Service) mit APIs (Application Program Interface) in Erwägung ziehen, um die Anwendung von der Bindung an das Betriebssystem eines bestimmten Herstellers zu befreien und zukünftige Aktualisierungen zu vereinfachen. Darüber hinaus ist es möglich, den Speicherort der Anwendung und der Daten zwischen proprietären Rechenzentren und Public-Cloud-Computing-Plattformen neu zu verteilen. Es steht auch eine Reihe von Tools zur Verfügung, die den Zugriff auf Legacy-Daten ermöglichen.