Die Anwendungsmodernisierung ist der Prozess der Aktualisierung von Legacy-Anwendungen mithilfe moderner Technologien, der Verbesserung der Leistung und der Anpassungsfähigkeit an die sich wandelnden Geschäftsanforderungen durch die Integration cloudnativer Prinzipien wie DevOps, Infrastructure-as-Code usw.
Die Behandlung von Altlast-Anwendungen kann je nach Wert, Kritikalität und Zielsetzung von einer kompletten Neuprogrammierung bis hin zum Re-Hosting reichen. Es ist auch ein bekannter Fakt, dass die Nutzen bei einer Neuprogrammierung am größten sind, da sie die Möglichkeit bietet, ein echtes Cloudnativ-Modell mit einem hohen Maß an Agilität und Geschwindigkeit zu erreichen. Viele CIO und CTO zögern, zu investieren, da die Kosten und der Zeitaufwand für die Wertschöpfung hoch sind und es ihnen schwerfällt, ein Gleichgewicht zwischen investitionsintensiven Neuentwicklungsprojekten und weniger nutzbringenden Rehosting-Ansätzen zu finden. Dienstleister und Tool-Anbieter versuchen, diese Lücke zu schließen, indem sie Beschleuniger entwickeln, die für den Unternehmenseinsatz angepasst werden können und dazu beitragen, bestimmte Bereiche der Modernisierung zu beschleunigen: Evolvware, IBM Consulting Cloud Accelerators und Cloud-Service-Anbieter-spezifische Tools.
Bei dem Bestreben, die Modernisierung zu beschleunigen und die Kosten zu optimieren, entwickelt sich generative KI zu einem kritischen Faktor, um den Wandel in der Art und Weise, wie wir Modernisierungsprogramme beschleunigen, voranzutreiben. Dieser Artikel konzentriert sich auf die Möglichkeiten der generativen KI im Rahmen der Anwendungsmodernisierung.
Branchen-Newsletter
Erhalten Sie kuratierte Einblicke in die wichtigsten – und faszinierendsten – KI-Neuheiten. Abonnieren Sie unseren wöchentlichen Think-Newsletter. Weitere Informationen in der IBM Datenschutzerklärung.
Ihr Abonnement wird auf Englisch geliefert. In jedem Newsletter finden Sie einen Abmeldelink. Hier können Sie Ihre Abonnements verwalten oder sich abmelden. Weitere Informationen finden Sie in unserer IBM Datenschutzerklärung.
Die Anwendungsmodernisierung ist der Prozess der Aktualisierung von Legacy-Anwendungen mithilfe moderner Technologien, der Verbesserung der Leistung und der Anpassungsfähigkeit an die sich wandelnden Geschäftsanforderungen durch die Integration cloudnativer Prinzipien wie DevOps, Infrastructure-as-Code usw. Die Modernisierung der Anwendung beginnt mit der Bewertung aktueller Legacy-Anwendungen, Daten und Infrastruktur und der Anwendung der richtigen Modernisierungsstrategie (Rehost, Re-Platform, Refactoring oder Rebuild), um das gewünschte Ergebnis zu erzielen. Während ein Neuaufbau den maximalen Vorteil bringt, ist ein hoher Investitionsaufwand erforderlich. Bei einem Rehosting hingegen werden Anwendungen und Daten ohne Optimierung in die Cloud verschoben, was weniger Investitionen erfordert, aber einen geringeren Nutzen bringt. Modernisierte Anwendungen werden bereitgestellt, überwacht und gewartet, wobei kontinuierliche Iterationen durchgeführt werden, um mit den Fortschritten der Technologie und der Geschäfte Schritt zu halten. Zu den typischen Vorteilen gehören erhöhte Flexibilität, Kosteneffizienz und Wettbewerbsfähigkeit, während zu den Herausforderungen die Komplexität und der Ressourcenbedarf gehören. Viele Unternehmen stellen fest, dass der Wechsel in die Cloud ihnen weder den gewünschten Mehrwert noch die Agilität und Geschwindigkeit bietet, die über die grundlegende Automatisierung auf Plattformebene hinausgehen. Das eigentliche Problem liegt darin, wie die IT organisiert ist, was sich darin widerspiegelt, wie ihre aktuellen Anwendungen/Dienste gebaut und verwaltet werden (siehe Conways Gesetz). Dies wiederum führt zu folgenden Herausforderungen:
Daher müssen sich die Initiativen zur Modernisierung der Anwendung stärker auf den Wert für das Unternehmen konzentrieren, und dies beinhaltet ein wichtiges Element der Transformation der Anwendung in auf die Funktionen ausgerichtete Komponenten & Dienstleistungen. Die größte Herausforderung dabei ist der erforderliche Investitionsbetrag, und viele CIOs und CTOs zögern aufgrund der Kosten und des Zeitaufwands, die mit der Wertschöpfung verbunden sind, zu investieren. Viele Unternehmen begegnen diesem Problem mit der Entwicklung von Beschleunigern, die an die Bedürfnisse von Unternehmen angepasst werden können und dazu beitragen, bestimmte Bereiche der Modernisierung zu beschleunigen. Ein Beispiel hierfür ist IBM Consulting Cloud Beschleuniger. Beim Versuch, die Beschleunigung voranzutreiben und die Kosten für die Modernisierung zu optimieren, wird die generative KI zu einem kritischen Faktor, um Veränderungen bei der Beschleunigung von Modernisierungsprogrammen voranzutreiben. In diesem Artikel werden wir die wichtigsten Bereiche der Beschleunigung anhand eines Beispiels erkunden.
Im Folgenden wird ein vereinfachter Lebenszyklus von Programmen zur Anwendungsmodernisierung dargestellt (dieser ist nicht als vollständig anzusehen). Discovery konzentriert sich auf das Verständnis von Altlast-Anwendungen, Infrastruktur, Daten, der Interaktion zwischen Anwendungen, Diensten und Daten sowie anderen Aspekten wie der Sicherheit. Bei der Planung wird das komplexe Portfolio von Anwendungen in zu modernisierende Iterationen unterteilt, um einen iterativen Roadmap zu erstellen – und ein Ausführungsplan zur Umsetzung des Roadmaps wird erstellt.
Die Aktivitäten in der Blueprint/Designphase ändern sich je nach Strategie (von der Zerlegung der Anwendung und der Nutzung domänengesteuerter Entwicklung bis hin zur Festlegung einer Zielarchitektur auf Basis neuer Technologien, um ausführbare Designs zu erstellen). Die nachfolgenden Phasen sind Entwicklung, Test und Produktionsbereitstellung. Lassen Sie uns die Möglichkeiten generativer KI in diesen Lebenszyklusbereichen erkunden.
Die Fähigkeit, Altlast-Anwendungen mit minimaler Unterstützung durch Experten zu verstehen, ist ein kritischer Beschleunigungspunkt. Dies liegt daran, dass KMU im Allgemeinen mit Initiativen zur Aufrechterhaltung des Systembetriebs beschäftigt sind, während ihr Wissen darüber möglicherweise begrenzt ist, je nachdem, wie lange sie die Systeme schon betreuen. Insgesamt wird bei der Modernisierung viel Zeit auf die Entdeckung und das Design aufgewendet, während die Entwicklung viel einfacher ist, wenn das Team die Funktionalität der Altlast-Anwendung, die Integrationsaspekte, die Logik und die Datenkomplexität entschlüsselt hat.
Die Modernisierungsteams führen ihre Codeanalyse durch und arbeiten sich durch mehrere (meist veraltete) Dokumente; hier wird ihre Abhängigkeit von Codeanalyse-Tools wichtig. Darüber hinaus muss man bei Rewrite-Initiativen funktionale Fähigkeiten dem Kontext der Legacy-Anwendung zuordnen, um effektive domänengesteuerte Entwurfs-/Dekompositionsübungen durchführen zu können. Generative KI erweist sich hier als sehr nützlich, da sie in der Lage ist, Domänen-/funktionale Fähigkeiten mit Code und Daten zu korrelieren und die Ansicht von Geschäftsfunktionen und vernetzten Anwendungscode und -daten zu erstellen. Natürlich müssen die Modelle für ein bestimmtes Unternehmensdomänenmodell oder eine bestimmte funktionale Funktionalität abgestimmt/kontextualisiert werden Karte. Die generative KI-unterstützte API-Zuordnung, die in diesem Artikel vorgestellt wird, ist ein kleines Beispiel dafür. Während das Obige für die Anwendungszerlegung/Anwendungsdesign gilt, benötigt das Event-Storming Prozesskarten und hier hilft generative KI bei der Kontextualisierung und Kartierung von Auszügen aus Process-Mining-Tools. Generative KI hilft auch bei der Generierung von Anwendungsfällen auf der Grundlage von Code-Erkenntnissen und funktionaler Zuordnung. Insgesamt trägt generative KI dazu bei, die Risiken von Modernisierungsprogrammen zu minimieren, indem sie eine angemessene Transparenz hinsichtlich von Altlast-Anwendungen sowie Abhängigkeiten gewährleistet.
Generative KI hilft außerdem dabei, Zieldesign für ein bestimmtes Cloud-Service-Provider-Framework zu erstellen, indem die Modelle auf Basis einer Reihe standardisierter Muster (Ein- und Ausgangsdaten, Anwendungen, Datendienste, zusammengesetzte Muster usw.) optimiert werden. Ebenso gibt es mehrere andere Anwendungsfälle für generative KI, die die Generierung von zieltechnologie-Framework-spezifischen Code-Mustern für Sicherheitskontrollen umfassen. Generative KI hilft bei der Erstellung detaillierter Designspezifikationen, zum Beispiel Benutzer Stories, Benutzer Erfahrung Wire Frames, API-Spezifikationen (zum Beispiel Swagger-Dateien), Komponente Beziehungsdiagramme und Komponente Interaktionsdiagramme.
Eine der schwierigen Aufgaben eines Modernisierungsprogramms besteht darin, eine Roadmap zu etablieren, während parallele Anstrengungen gegen sequentielle Abhängigkeiten ausgewogen und Koexistenzszenarien identifiziert werden müssen. Während dies in der Regel als einmalige Aufgabe durchgeführt wird und eine kontinuierliche Neuausrichtung durch Program Inkremente (PIs) ermöglicht, ist die Planung von Übungen, die Eingaben auf der Ausführungsebene einbeziehen, weitaus schwieriger. Generative KI kommt gelegen, um Roadmaps auf Basis historischer Daten zu generieren (Anwendungen für Domänenbereichskarten, Aufwands- und Komplexitätsfaktoren sowie Abhängigkeitsmuster und mehr), indem dies auf Anwendungen im Rahmen eines Modernisierungsprogramms für eine bestimmte Branche oder Domäne angewendet wird.
Die einzige Möglichkeit, dieses Problem zu lösen, besteht darin, die Software über eine Suite von Assets und Accelerators konsumierbar zu machen, die die Komplexität von Unternehmen bewältigen können. Hier spielt generative KI eine wichtige Rolle bei der Korrelation von Portfolio-Details mit entdeckten Abhängigkeiten.
Die Generierung von Code ist einer der bekanntesten generative KI Anwendungsfall, aber es ist wichtig, eine Reihe von zugehörigen Code-Artefakten zu generieren, die von IAC (Terraform oder CloudFormation-Vorlage) über Pipeline-Code/Konfigurationen, eingebettete Sicherheitsdesignpunkte (Verschlüsselung, IAM-Integrationen usw.), Anwendungscode-Generierung aus Swagger-Daten oder anderen Code-Einblicken (aus Altlast) und Firewall-Konfigurationen (als Ressourcendateien basierend auf Diensten) reichen. Generative KI hilft dabei, all die oben genannten Punkte durch einen Orchestrate® -Ansatz zu erzeugen, der auf vordefinierten Anwendungsreferenzarchitekturen basiert, die aus Mustern aufgebaut wurden – und gleichzeitig die Ausgaben von Designtools kombiniert.
Ein weiterer wichtiger Bereich ist das Testen: Generative KI kann die richtigen Testfälle und den passenden Testcode sowie die passenden Testdaten generieren, um die Ausführung der Testfälle zu optimieren.
Viele entscheidende Aktivitäten auf der „letzten Meile“ von Modernisierungsprogrammen nehmen in der Regel Tage bis Wochen in Anspruch, abhängig von der Komplexität des Unternehmens. Ein wesentlicher Anwendungsfall für generative KI ist die Fähigkeit, durch die Analyse von Anwendungen und Plattformprotokollen, Designpunkten, Infrastructure-as-Code und mehr Erkenntnisse für die Sicherheitsvalidierung abzuleiten. Diese Funktion beschleunigt die Sicherheitsprüfung und -genehmigungsprozesse erheblich. Darüber hinaus ist die generative KI maßgeblich an der Generierung von Eingaben für das Konfigurationsmanagement (CMDB) und das Change Management beteiligt, die sich auf Versionshinweise stützen, die durch die pro Release abgeschlossenen Arbeitselemente des Agility-Tools generiert wurden.
Obwohl die oben genannten Anwendungsfälle vielversprechend für die Modernisierung sind, ist es entscheidend zu erkennen, dass die Komplexität des Unternehmens einen kontextbezogenen Ansatz erfordert, um viele dieser generativen KI-Beschleuniger effektiv zu nutzen. Die Entwicklung unternehmensspezifischer Kontextmuster ist ein fortlaufendes Bestreben, um die Modernisierung zu beschleunigen. Wir haben erhebliche Nutzen dadurch festgestellt, dass wir im Vorfeld Zeit und Mühe investiert haben und diese generativen KI-Beschleuniger kontinuierlich anpassen, um sie an spezifische Muster anzupassen, die innerhalb des Unternehmens Wiederholbarkeit aufweisen.
Lassen Sie uns nun ein mögliches, bewährtes Beispiel betrachten:
Das Problem: Die große globale Bank verfügt über mehr als 30.000 APIs (sowohl intern als auch extern), die im Laufe der Zeit in verschiedenen Bereichen entwickelt wurden (zum Beispiel Einzelhandelbanking, Großhandelsbanking, Open Banking und Firmenbanking). Es besteht ein enormes Potenzial für doppelte APIs in den verschiedenen Domänen, was zu höheren Gesamtbetriebskosten für die Wartung des großen API-Portfolios und zu operativen Herausforderungen im Umgang mit API-Duplizierung und -Überschneidungen führt. Mangelnde Transparenz und Auffindbarkeit der APIs führen dazu, dass API-Entwicklungsteams die gleichen oder ähnlichen APIs entwickeln, anstatt relevante APIs zur Wiederverwendung zu finden. Die Unfähigkeit, das API-Portfolio aus der Perspektive eines Bankenbranchenmodells zu visualisieren, schränkt die Geschäfts- und IT-Teams darin ein, die bereits verfügbaren Funktionen zu verstehen und festzustellen, welche neuen Funktionen für die Bank benötigt werden.
Auf generativer KI basierter Lösungsansatz: Die Lösung nutzt das BERT Large Language Model, den Sentence Transformer, die Multiple Negatives Ranking Loss Function und Domänenregeln, die mit dem Wissen über die BIAN-Geschäftswelt feinabgestimmt wurden, um das API-Portfolio der Bank zu erlernen und die Möglichkeit zu bieten, APIs mit automatischer Zuordnung zu BIAN zu entdecken. Es ordnet die API-Endgerätmethode der Ebene 4 der BIAN-Geschäftswelthierarchie zu, d. h. den BIAN-Serviceoperationen.
Die Kernfunktionen der Lösung sind folgende Fähigkeit:
Benutzeroberfläche für die API-Erkennung mit Branchenmodell:
Hauptvorteile: Die Lösung half Entwicklern, leicht wiederverwendbare APIs basierend auf BIAN-Geschäftsdomänen zu finden; sie hatten mehrere Filter- und Suchoptionen, um APIs zu finden. Darüber hinaus konnten die Teams wichtige categories identifizieren, um die richtige operative Resilienz aufzubauen. Die nächste Überarbeitung der Suche basierte auf natürlicher Sprache war und ein konversationeller Anwendungsfall.
Die Fähigkeit, redundante APIs anhand von BIAN-Dienstdomänen zu identifizieren, trug zur Entwicklung einer Modernisierungsstrategie bei, die redundante Funktionen beseitigt und gleichzeitig rationalisiert.
Dieser Anwendungsfall wurde innerhalb von sechs bis acht Wochen realisiert, wohingegen die Bank ein Jahr gebraucht hätte, um das gleiche Ergebnis zu erzielen (da es mehrere Tausend APIs zu entdecken gab).
Das Problem: Die derzeitigen Teams waren dabei, die MuleSoft-APIs auf Java Spring Boot zu modernisieren, aber die schiere Menge an APIs, die fehlende Dokumentation und die Komplexität beeinträchtigten die Geschwindigkeit.
Auf generativer KI basierender Lösungsansatz: Die Modernisierung der Mule API auf Java Spring Boot wurde durch einen von uns entwickelten Beschleuniger auf Basis generativer KI erheblich automatisiert. Wir begannen damit, ein tiefes Verständnis der APIs, Komponenten und API-Logik zu entwickeln, um dann die Antwortstrukturen und den Code zu finalisieren. Darauf folgte das Erstellen von Prompts mit IBMs Version von Sidekick KI, um Spring boot Code zu generieren, der die API-Spezifikationen von MuleSoft, Unit-Testfällen, Designdokument und Benutzeroberfläche erfüllt.
Die Mule-API-Komponenten wurden nacheinander mithilfe von Prompts in das Tool eingegeben und das entsprechende Spring-Boot-Äquivalent generiert, das anschließend miteinander verbunden wurde, um aufgetretene Fehler zu beheben. Der Beschleuniger generierte eine Benutzeroberfläche für den gewünschten Kanal, die in die APIs, Komponententestfälle, Testdaten und Designdokumentation integriert werden konnte. Die generierte Designdokumentation umfasst Sequenz- und Klassendiagramme, Anfragen, Antworten, Endpunktdetails, Fehlercodes und Architekturüberlegungen.
Hauptvorteile: Sidekick KI ergänzt die tägliche Arbeit der Anwendungsberater durch die Kombination von generativer KI mit mehreren Modellen, kontextualisiert durch fundiertes Domänenwissen und Technologie. Die wichtigsten Vorteile sind folgende:
Der Accelerator PoC wurde mit vier verschiedenen Szenarien der Code-Migration, Einheitstestfällen, Dokumentation und Benutzeroberflächengenerierung in drei Sprints über sechs Wochen abgeschlossen.
Viele CIOs und CTOs äußerten Bedenken hinsichtlich Modernisierungsinitiativen und verwiesen auf eine Vielzahl von Herausforderungen, die zu Beginn dargelegt wurden. Dazu gehören Bedenken hinsichtlich der erforderlichen umfassenden Einbindung von KMU, potenzieller Störungen des Geschäftsbetriebs aufgrund von Veränderungen sowie der Notwendigkeit von Anpassungen des Betriebsmodells in verschiedenen Organisationsfunktionen, einschließlich Sicherheit und Change Management. Auch wenn es wichtig ist anzuerkennen, dass generative KI keine Einheitslösung für diese komplexen Herausforderungen ist, trägt sie zweifellos zum Erfolg von Modernisierungsprogrammen bei. Dies wird dadurch erreicht, dass der Prozess beschleunigt wird, die Gesamtkosten der Modernisierung gesenkt werden und, was am wichtigsten ist, die Risiken gemindert werden, indem sichergestellt wird, dass keine kritischen Funktionen übersehen werden. Es ist jedoch wichtig zu erkennen, dass die Einführung großer Sprachmodelle (LLM) und verwandter Bibliotheken in die Unternehmensumgebung einen erheblichen Zeit- und Arbeitsaufwand erfordert. Dazu gehören strenge Sicherheits- und Compliance-reviews sowie Scanverfahren. Darüber hinaus ist die Verbesserung der Datenqualität, die für die Feinabstimmung dieser Modelle verwendet wird, eine gezielte Anstrengung, die nicht unterschätzt werden sollte. Obwohl zusammenhängende, generative KI-basierte Modernisierungsbeschleuniger noch nicht allgegenwärtig sind, ist zu erwarten, dass mit der Zeit integrierte Toolkits entstehen werden, die die Beschleunigung bestimmter Modernisierungsmuster, wenn nicht gar einer ganzen Reihe davon, ermöglichen.
Erfahren Sie, was Sie mit generativer KI mit IBM Consulting machen können.
Trainieren, validieren, optimieren und implementieren Sie generative KI, Foundation Models und maschinelle Lernfunktionen mit IBM watsonx.ai, einem Studio der nächsten Generation für AI Builder in Unternehmen. Erstellen Sie KI-Anwendungen mit einem Bruchteil der Zeit und Daten.
Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.
Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.