Die Anwendungsmodernisierung ist der Prozess, veraltete Systeme in aktuellere, effizientere, wartbare und skalierbarere Anwendungen umzuwandeln. Sie umfasst Verbesserungen der Architektur, des Codes oder der Infrastruktur einer Anwendung.
Die Modernisierung von Anwendungen ist in der Regel Teil der umfassenderen digitalen Transformationsbemühungen eines Unternehmens. Laut einer Umfrage des IBM Institute for Business Value (IBV) gaben 83 % der C-Suite-Führungskräfte an, dass die Modernisierung von Apps und Daten zentral für die Strategie ihres Unternehmens ist.
Die Modernisierung von Anwendungen erfordert eine sorgfältige Vorbereitung und Implementierung, insbesondere bei kritischen Systemen. Der Prozess lässt sich in folgende Schlüsselschritte unterteilen:
Der erste Schritt besteht darin, den Bestand von Anwendungen zu erfassen und deren aktuellen Zustand zu analysieren. Die Bewertungskriterien können je nach Bedeutung für ein Unternehmen variieren, einige der gängigsten sind aber Geschäftswert, Compliance- und Sicherheitsrisiken, Beitrag zu technischen Schulden, Kosten und Komplexität der Modernisierung sowie Fragen zur Leistung und Customer Experience.
Jeder Faktor hat sein eigenes Gewicht, wobei die Werte für jedes System berechnet werden. Diese Werte können verwendet werden, um Anwendungen für die Modernisierung einzustufen und zu priorisieren.
Während der Planung skizzieren Unternehmen ihre Ziele und ihren Umfang und bestimmen die Modernisierung, die am besten zu einer Anwendung passt. Der Plan enthält Angaben zu Budgets, potenziellen Risiken und Möglichkeiten zu deren Minderung, Ressourcen und Zeitplänen.
Diese Phase kann kompliziert und überwältigend sein, insbesondere für Unternehmen, die große oder mehrere Altanwendungen modernisieren möchten. Einige entscheiden sich vielleicht dafür, Dienste zur Modernisierung von Anwendungen von Drittanbietern in Anspruch zu nehmen und sich bei der Entwicklung der richtigen Strategie auf deren Fachwissen zu verlassen.
In der Umsetzungsphase setzen Unternehmen ihren Plan in die Tat um. Dazu gehört auch die Umsetzung ihres gewählten Modernisierungsansatzes.
Unternehmen müssen gründliche und strenge Tests durchführen, um sicherzustellen, dass die notwendigen Funktionen der App nicht beeinträchtigt werden. Sie sollten darüber nachdenken, Tests in einer Testumgebung durchzuführen, um etwaige Probleme vor der Bereitstellung in der Produktionsumgebung zu isolieren und Fixes vorzunehmen.
Die Überwachung der Leistung einer Anwendung und anderer Kennzahlen kann helfen, Engpässe und Optimierungsmöglichkeiten zu identifizieren. Die Ergebnisse dienen auch als Grundlage für Modernisierungskonzepte für andere Anwendungen.
Bleiben Sie mit dem Think-Newsletter über die wichtigsten – und faszinierendsten – Branchentrends in den Bereichen KI, Automatisierung, Daten und mehr auf dem Laufenden. Weitere Informationen finden Sie in der IBM Datenschutzerklärung.
Die Modernisierung von Anwendungen erfordert oft eine strategische Methodenkombination und nicht nur einen Einheitsansatz. Hier sind einige der gebräuchlichsten Techniken, auch bekannt als die „Rs der Modernisierung“, von denen einige von den „Rs der Cloud-Migration“ übernommen wurden:
Rehosting, auch Lift-and-Shift genannt, verschiebt eine Anwendung in eine neue Umgebung, wobei Code und Funktionalität kaum bis gar nicht angepasst werden müssen. Es ist eine schnelle Möglichkeit, zu modernisieren und dabei so wenige Änderungen wie möglich vorzunehmen, wobei die neue Umgebung jedoch weiterhin Zugriff auf dieselben Daten haben sollte.
Replatforming, manchmal auch als Lift-and-Shape bezeichnet, passt ein System an eine Plattform an, die ein anderer Cloud-Provider oder die neueste Version eines Frameworks oder Betriebssystems sein kann. Für die Ausführung auf der neuen Plattform sind Codeänderungen erforderlich. Daher ist eine ordnungsgemäße Planung unerlässlich, um eine schleichende Ausweitung des Umfangs zu vermeiden.
Beim Refactoring wird der Quellcode einer Anwendung neu strukturiert, ohne das Kernverhalten und die Funktionalität zu verändern. Es trägt zu effizienterer Software und schnelleren Laufzeiten bei, verbessert die Wartung und hilft, technische Schulden zu reduzieren. Diese Methode kann länger dauern als Rehosting oder Replatforming und erfordert qualifizierte Softwareentwickler, insbesondere bei der Arbeit mit altem Code.
Rearchitecting verändert das zugrundeliegende Design eines Systems. Es könnte zum Beispiel so aussehen, dass man eine große, eng gekoppelte monolithische Anwendung in eine Microservice-Architektur umwandelt, die aus vielen kleineren, unabhängigen Diensten besteht.
Dieser Ansatz bietet die Möglichkeit, moderne Architekturmuster zu übernehmen, sowie eine verbesserte Flexibilität und Skalierbarkeit. Wie beim Refactoring braucht es jedoch Zeit und Fachwissen, um ein System neu zu gestalten und dabei sein erwartetes Verhalten beizubehalten.
Rebuilding bedeutet, von vorne anzufangen, den bestehenden Code zu verwerfen und die App von Grund auf neu zu schreiben. Softwareentwicklungsteams haben die Möglichkeit, den neuesten Tech-Stack zu nutzen und aktuelle Design- und Entwicklungspraktiken zu verfolgen.
Diese Technik eröffnet neue Möglichkeiten für Innovationen und ermöglicht eine bessere Kontrolle über die Funktionalität. Außerdem können Unternehmen ihr geistiges Eigentum behalten und die App an ihre Geschäftsanforderungen anpassen. Ein Rebuild kann jedoch aufgrund des erheblichen Zeit-, Arbeits- und Ressourcenaufwands kostspieliger und aufwändiger sein als andere Vorgehensweisen.
Für ältere Systeme, die ihre Auslaufphase erreicht haben, könnte ein vollständiger Ersatz die geeignetste Option sein. Replacement, also Ersetzen, kann in Form eines kommerziellen Standardprodukts oder einer SaaS-Anwendung erfolgen, solange diese neuere Paketlösung die notwendigen Funktionen des zu deaktivierenden Systems enthält.
Es kann einfacher und kostengünstiger sein als Rebuilding, aber Unternehmen haben möglicherweise auch weniger Kontrolle über zukünftige Funktionen und müssen sich mit einer Anbieterbindung auseinandersetzen.
Unternehmen können aus einer Vielzahl von Technologien wählen, um die Modernisierung von Anwendungen zu optimieren. Hier sind einige beliebte, die gut miteinander funktionieren, um den Prozess zu unterstützen:
Unternehmen ziehen es möglicherweise vor, eine Anwendung an Ort und Stelle zu belassen, während ihre Daten oder Funktionen sicher über APIs zur Verfügung gestellt werden. Diese Protokolle dienen als Brücke zwischen Legacy-Systemen und modernen Apps, ermöglichen einen reibungslosen Datenfluss und eine nahtlose Interaktion für Konnektivität und Kommunikation. Durch die Erstellung von APIs für Altlast-Anwendungen entfällt die Notwendigkeit von Refactoring, Rearchitecting oder Rebuilding bei der Integration dieser Anwendungen in moderne Dienste.
Cloud-Computing-Plattformen bieten On-Demand-Zugang zu Rechenressourcen über das Internet und eine bessere Skalierbarkeit als traditionelle lokale Infrastrukturen. Sie ermöglichen eine schnelle Bereitstellung und Aktualisierung sowie Managed Services.
Unternehmen wie Finanzinstitute, Regierungsbehörden und Gesundheitseinrichtungen entscheiden sich häufig für eine Private Cloud, um regulatorische Anforderungen bezüglich Workloads mit sensiblen Daten zu erfüllen. Andere Unternehmen wählen eine flexiblere Cloud-Migrationsstrategie, die eine Hybrid-Cloud-Architektur beinhaltet, um einige Workloads lokal zu belassen, während andere in die Cloud verlagert werden. Einige Unternehmen nutzen eine Multicloud-Umgebung für eine bessere Anpassung, eine breitere Auswahl an Funktionen und Diensten und um eine Anbieterbindung zu vermeiden.
Containerisierung kapselt Anwendungscode zusammen mit seinen Bibliotheken und Abhängigkeiten in eigenständige, ausführbare Einheiten, sogenannte Container. Diese Container sind leicht und übertragbar, sodass sie schnell und zuverlässig in verschiedenen Computerumgebungen ausgeführt werden können. Docker ist eines der beliebtesten Open-Source-Containerisierungstools, während Kubernetes eine weit verbreitete Plattform zur Containerorchestrierung ist.
DevOps automatisiert und beschleunigt, wie Anwendungen entwickelt, getestet und bereitgestellt werden. Zu ihren Kennzeichen gehören Continuous Integration und Continuous Delivery (gemeinsam als CI/CD bekannt). In der CI/CD-Pipeline übergeben Entwickler Code an ein Versionskontrollsystem, wobei dieser Code automatisch verpackt, getestet und für die Produktion freigegeben wird.
Diese cloudnative Architektur wird in der Regel verwendet, um monolithische Systeme in eine Sammlung kleinerer, locker gekoppelter Komponenten zu entkoppeln. Neue Funktionen können hinzugefügt werden, ohne die gesamte App zu beeinträchtigen, und Komponenten können unabhängig voneinander aktualisiert oder skaliert werden. Microservices helfen Unternehmen dabei, Legacy-Systeme schrittweise in Microservices umzuwandeln.
Serverless Computing ermöglicht es Teams, Anwendungen zu erstellen und auszuführen, ohne Server und andere Backend-Infrastrukturen bereitzustellen oder zu verwalten. Es funktioniert gut für die Stream-Verarbeitung und ereignisgesteuerte Workloads.
Generative KI kann die Modernisierung von Anwendungen transformieren und sie einfacher, schneller und erschwinglicher gestalten. Laut dem CEO's Guide to Generative AI, einem IBV-Bericht, entfallen fast ein Drittel der Kosten für die Modernisierung von Legacy-Apps auf Code-Übersetzung und -Entwicklung.
Generative KI-Tools können hingegen App-Komponenten und Code generieren und Tests automatisieren, was dazu beiträgt, diese Kosten zu senken. Beispielsweise bietet IBM Bob, ein KI-gestützter Entwicklungspartner, Premiumpakete mit speziell entwickelten Modi, Fähigkeiten und Workflows für die Modernisierung an – vom Upgrade von Java-Anwendungen auf die neuesten Versionen bis hin zur Mainframe-Entwicklung mit COBOL.
Der Bericht stellte außerdem fest, dass einige Unternehmen generative KI zur Refaktorisierung von Apps oder zur Erstellung von Workflows für die Migration von Legacy-Systemen auf SaaS-Versionen einsetzen. IBV empfiehlt jedoch, Möglichkeiten in Betracht zu ziehen, die bisher tabu waren, weil sie zu schwierig oder zu beängstigend waren, um sie überhaupt zu modernisieren, wie beispielsweise Flugplanungssysteme bei Fluggesellschaften oder Product Lifecycle Management-Systeme in der Fertigung. In Prozessen innerhalb dieser Kerngeschäftssysteme sowie Projekten zur Modernisierung von Anwendungen in den Bereichen Kundenservice, Informationssicherheit und Marketing ist laut IBV zu erwarten, dass generative KI die größten Auswirkungen und strategischsten Ergebnisse erzielt.
Die Modernisierung von Anwendungen und die generative KI führen gemeinsam zu einem Kreislauf aus gesteigerter Agilität und Umsatzwachstum. Laut dem IBV-Bericht gaben 77 % der Führungskräfte an, dass der Einsatz von generativer KI in Projekten zur Modernisierung der App die Agilität des Unternehmens steigern wird. CEOs, die flexible Praktiken anwenden, erzielen mit 49 % höherer Wahrscheinlichkeit ein besseres Umsatzwachstum als ihre Konkurrenz.
Die Modernisierung von Anwendungen bietet Unternehmen folgende Vorteile:
Die Modernisierung ermöglicht es Unternehmen, schnell auf Marktveränderungen zu reagieren und sich ändernde Kundenbedürfnisse zu erfüllen. Sie können neue Funktionen und verbesserte Funktionalitäten bereitstellen, ganz ohne die Ausfallzeiten, die bei veralteten Systemen auftreten.
Das Luftfahrtunternehmen Lufthansa Group modernisierte beispielsweise seine Bodenoperationen, indem es mehrere mobile Anwendungen zu einer einzigen, webbasierten Lösung namens Turnaround Companion (TAC) zusammenführte. Basierend auf modernen Webtechnologien ermöglicht die modulare Struktur der cloudnativen Plattform eine flexible Anpassung an neue Anforderungen. Aktualisierte Versionen von TAC haben zudem nur wenige Minuten Ausfallzeit im Vergleich zu fast 45 Minuten bei alten mobilen Apps, mit dem Ziel, bei zukünftigen Veröffentlichungen keine Ausfallzeiten zu erreichen.
Das Upgrade älterer, langsamer Apps erfordert in der Regel auch die Aktualisierung der Benutzeroberfläche. Intuitive, reaktionsschnelle, nahtlose und reibungslose Interaktionen mit Apps sorgen für eine positive Benutzererfahrung, die die Kundenzufriedenheit verbessern kann.
Im Fall der Lufthansa Group sorgte das neue Design von TAC für eine einheitliche Benutzererfahrung auf verschiedenen Geräten. Die intuitive Benutzeroberfläche und die übersichtliche Datenvisualisierung der Plattform ermöglichten es dem Bodenpersonal, wichtige Informationen schnell zu erfassen und auch in Stresssituationen effektiv zu reagieren.
Die Modernisierung von Anwendungen führt in der Regel zu schnelleren Verarbeitungszeiten und geringer Latenz, wobei Systeme unterschiedliche Arbeitslasten bewältigen können, ohne Leistungseinbußen zu verlieren. Insbesondere Cloud-Umgebungen können die Kapazität je nach den in Echtzeit auftretenden Spitzen und Einbrüchen im Datenverkehr skalieren.
Für die Lufthansa Group hat die einheitliche Plattform die Effizienz der Bodenabfertigung erheblich verbessert, da die Abfertigung der Flugzeuge in Echtzeit verfolgt werden kann. Alle Daten und Kommunikationen sind zudem in einem Stack zusammengefasst, was eine schnelle Koordination zwischen Flughafen- und Airlinepersonal ermöglicht.
Die Wartung älterer Anwendungen ist oft kostspielig. Die Modernisierung kann die Wartungskosten senken, sodass Unternehmen diese Mittel stattdessen in Innovationen investieren. Cloud-Computing-Plattformen bieten zudem ein kostengünstigeres Modell durch Preisgestaltung und reduzierten Infrastrukturaufwand.
Die Telekommunikationsmarke STC Group beispielsweise hat eine hybride Cloud-Architektur eingeführt. Die Umstellung auf eine Lösung mit hoher Leistung führte zu einer Senkung der Containerisierungskosten um fast ein Drittel, zu einer Reduzierung der Investitionsausgaben um 30 % und zu einer Senkung der hardwarebezogenen Betriebskosten.
Während die Anwendungsmodernisierung bedeutende Vorteile bringt, hat der Prozess jedoch auch seine Nachteile. Hier sind einige häufige Hürden, auf die Unternehmen bei der Modernisierung von Anwendungen stoßen können:
Große Legacy-Systeme lassen sich aufgrund ihrer monolithischen Struktur und der Anhäufung technischer Schulden oft nur schwer modernisieren. Aber selbst ältere Systeme mit kleinerem Umfang können aufgrund ihrer komplexen Abhängigkeiten zur Hürde werden.
Unternehmen finden es möglicherweise einfacher, Schritt für Schritt zu beginnen und Modernisierungsprojekte in überschaubare Phasen zu unterteilen. Anstatt eine ganze App auf einmal in Angriff zu nehmen, können sie sich zuerst auf einen weniger kritischen Aspekt konzentrieren und ihren Ansatz für die nächsten Phasen optimieren.
Die Modernisierung mag wie eine hohe einmalige Ausgabe erscheinen, und Budgetbeschränkungen können diese Bemühungen zunichte machen. Der zuvor erwähnte stufenweise Ansatz ist möglicherweise hilfreich, ebenso wie eine umfassende Kosten-Nutzen-Analyse und die Priorisierung wirkungsvoller Systeme, die einen klaren Mehrwert und einen messbaren ROI liefern.
Datenmigration ist ein oft übersehener Aspekt der Modernisierung. Wird dies nicht ordnungsgemäß durchgeführt, kann es zu Datenverlust oder -beschädigungen kommen und Sicherheitsrisiken entstehen.
Vor der Migration müssen Unternehmen alle ihre Daten verschlüsseln und sich auf Sicherung und Wiederherstellung vorbereiten, um die Datenintegrität zu erhalten. Zu den weiteren zu berücksichtigenden Faktoren gehören die Art der Workloads, das Datenvolumen, die benötigte Zeit und die Möglichkeiten zur Minimierung von Ausfallzeiten oder Störungen.
Unternehmen fehlt es in der Regel an Wissen und Fähigkeiten in Bezug auf Technologien, die sie für die Modernisierung ausgewählt haben. Sie müssen bereit sein, in Schulungs- und Weiterbildungsprogramme zu investieren und ihre Teams mit den notwendigen Fähigkeiten auszustatten, um modernisierte Systeme umzusetzen und zu warten. Die Zusammenarbeit mit externen Anbietern, die Unternehmen während ihrer Modernisierung begleiten und unterstützen können, stellt eine alternative Option dar.
Befähigen Sie Ihre Teams, schneller innovativ zu sein – mit IBM Bob, das KI-gestützte Anwendungsmodernisierung, schnelle Entwicklung und eine effizientere Softwarebereitstellung ermöglicht.
Nutzen Sie generative KI, um die Anwendungsmodernisierung zu optimieren, und unterstützen Sie so Entwicklungsteams dabei, den Wandel zu beschleunigen, die Produktivität zu steigern und die Komplexität zu verringern.
Gestalten Sie Altsysteme durch intelligente KI-Modernisierung neu.