Digitale Darstellung einer Stadtlandschaft im Zusammenhang mit der Modernisierung der Anwendung

Was ist Anwendungs-Modernisierung?

Anwendungsmodernisierung definiert

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.

Wie funktioniert die Modernisierung von Anwendungen?

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:

  • Bewertung

  • Planung

  • Implementierung

  • Tests

  • Überwachung

Bewertung

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.

Planung

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.

Implementierung

In der Umsetzungsphase setzen Unternehmen ihren Plan in die Tat um. Dazu gehört auch die Umsetzung ihres gewählten Modernisierungsansatzes.

Testen

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.

Überwachung

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.

Methoden zur Modernisierung der Anwendung

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:

  • Rehost

  • Replatform

  • Refactor

  • Rearchitect

  • Rebuild

  • Replace

Rehosting

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

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.

Refactor

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.

Rearchitect

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.

Rebuild

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.

Replace

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.

Schlüsseltechnologien für die Anwendungsmodernisierung

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:

  • APIs

  • Cloud Computing

  • Containerisierung

  • DevOps

  • Microservices

  • Serverless Computing

APIs

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

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

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

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.

Microservices

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

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 für die Anwendungsmodernisierung

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.

AI Academy

Einsatz von KI für die Anwendungsmodernisierung

Erfahren Sie, wie generative KI Ihre Anwendungsmodernisierung transformieren kann, indem sie die Produktivität steigert, Compliance-Risiken reduziert und Aktualisierungen optimiert.

Vorteile der Anwendungsmodernisierung

Die Modernisierung von Anwendungen bietet Unternehmen folgende Vorteile:

  • Agilität

  • Bessere Benutzererfahrung

  • Effizienz

  • Geringere Betriebskosten

Agilität

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.

Bessere Benutzererfahrung.

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.

Effizienz

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.

Geringere Betriebskosten

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.

Herausforderungen der Modernisierung von Anwendungen

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:

  • Komplexität

  • Kosten

  • Datenmigration

  • Qualifikationslücken

Komplexität

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.

Kosten

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

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.

Qualifikationslücken

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.

Autoren

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

Verwandte
KI-Codierungsagent

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.

AI Coding Agent erkunden
Lösungen zur Modernisierung von Mainframe-Anwendungen

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.

Erkunden Sie die Lösung zur Modernisierung von Mainframe-Anwendungen
Services zur Anwendungsmodernisierung

Gestalten Sie Altsysteme durch intelligente KI-Modernisierung neu.

Services zur Anwendungsmodernisierung erkunden
Machen Sie den nächsten Schritt

Mit generativer KI und fortschrittlicher Automatisierung schneller Code speziell für Unternehmen erstellen. Bob nutzt Modelle, um das Skill-Profil von Entwicklern zu erweitern und Ihre Entwicklungs- und Modernisierungsbemühungen zu vereinfachen und zu automatisieren.

  1. IBM Bob entdecken
  2. Erkunden Sie die Lösung zur Modernisierung von Mainframe-Anwendungen