L'AI generativa nella modernizzazione delle applicazioni

Studente che prende appunti su un quaderno durante una lezione virtuale

La modernizzazione delle applicazioni è il processo di aggiornamento delle applicazioni legacy sfruttando le tecnologie moderne, migliorando le prestazioni e rendendole adattabili alle mutevoli velocità aziendali, integrando principi cloud-native come DevOps, Infrastructure-as-code e così via.

Il trattamento delle applicazioni legacy può variare dalla riscrittura completa al re-hosting, in base al valore, alla criticità e agli obiettivi. È anche un dato di fatto noto che i benefici della riscrittura sono più alti, poiché offre l'opportunità di arrivare a un vero modello cloud-native con un alto grado di agilità e velocità. Molti CIO e CTO sono restii a investire a causa dei costi e delle tempistiche necessarie per realizzare valore, pur riuscendo a trovare un equilibrio tra iniziative di riscrittura ad alto investimento e approcci di re-hosting a basso valore. I fornitori di servizi e di strumenti stanno cercando di affrontare questo spazio creando acceleratori personalizzabili per il consumo aziendale che aiutano ad accelerare aree specifiche di modernizzazione: Evolvware, IBM Consulting Cloud Accelerators e strumenti specifici per i fornitori di cloud service.

Nel tentativo di accelerare e ottimizzare i costi della modernizzazione, l'AI generativa sta diventando un fattore determinante per guidare il cambiamento nel modo in cui acceleriamo i programmi di modernizzazione. Questo articolo si concentra sulle possibilità dell'AI generativa nel processo di modernizzazione delle applicazioni.

Le ultime tendenze in materia di AI, proposte da esperti

Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Panoramica della modernizzazione delle applicazioni

La modernizzazione delle applicazioni è il processo di aggiornamento delle applicazioni legacy sfruttando le tecnologie moderne, migliorando le prestazioni e rendendole adattabili alle mutevoli velocità aziendali, integrando principi cloud-native come DevOps, Infrastructure-as-code e così via. La modernizzazione delle applicazioni inizia con la valutazione delle attuali applicazioni legacy, dei dati e dell'infrastruttura e con l'applicazione della giusta strategia di modernizzazione (re-hosting, re-platforming, refactoring o rebuilding) per ottenere il risultato desiderato. Sebbene il rebuilding offra il massimo beneficio, è necessario un elevato livello di investimento, mentre il re-hosting consiste nello spostare applicazioni e dati in quanto tali sul cloud senza alcuna ottimizzazione e ciò richiede meno investimenti mentre il valore è basso. Le applicazioni modernizzate vengono implementate, monitorate e gestite, con iterazioni continue per stare al passo con i progressi tecnologici e aziendali. I benefici tipici realizzati vanno dall'aumento dell'agilità, dell'efficacia dei costi e della competitività, mentre le sfide includono la complessità e la richiesta di risorse. Molte aziende si stanno rendendo conto che passare al cloud non sta dando loro il valore desiderato né l'agilità e la velocità oltre l'automazione di base a livello di piattaforma. Il vero problema risiede nel modo in cui è organizzata l'IT, che si riflette nel modo in cui vengono sviluppate e gestite le applicazioni/i servizi attuali (vedere legge di Conway). Ciò, a sua volta, comporta le seguenti sfide:

  • Le funzionalità duplicate o sovrapposte offerte da più sistemi e componenti IT creano dipendenze persistenti e proliferazioni che incidono sulla produttività e sulla velocità di immissione sul mercato.
  • Le funzionalità duplicative tra applicazioni e canali danno origine a risorse IT duplicative (come competenze e infrastrutture)
  • Le funzionalità duplicative (inclusi i dati) che comportano la duplicazione delle business rules, ad esempio, danno origine a un'esperienza del cliente incoerente.
  • La mancanza di allineamento delle funzionalità IT con quelle aziendali ha un impatto sul time-to-market e sull'IT aziendale. Inoltre, le aziende finiscono per creare diversi cerotti e livelli architettonici per supportare nuove iniziative e innovazioni aziendali.
  • Le tecnologie legacy e la natura monolitica incidono sulla velocità e sull'agilità, oltre ad avere ripercussioni sulla sicurezza e sulla conformità.

Pertanto, le iniziative di modernizzazione delle applicazioni devono concentrarsi maggiormente sul valore per il business e ciò implica un elemento significativo di trasformazione delle applicazioni in componenti e servizi allineati alle capacità aziendali. La sfida più grande è l'entità degli investimenti necessari e molti CIO e CTO sono restii a investire a causa dei costi e delle tempistiche necessarie per realizzare valore. Molti stanno affrontando questo problema creando acceleratori personalizzabili per il consumo aziendale, che aiutano ad accelerare aree specifiche di modernizzazione; un esempio di questo tipo offerto da IBM è IBM Consulting Cloud Accelerators. Nel tentativo di accelerare e ottimizzare i costi di modernizzazione, l'AI generativa sta diventando un fattore abilitante fondamentale per promuovere il cambiamento nel modo in cui acceleriamo i programmi di modernizzazione. In questo articolo esploreremo le aree chiave dell'accelerazione con un esempio.

Di seguito è illustrato un ciclo di vita semplificato dei programmi di modernizzazione delle applicazioni (non esaustivo). Discovery si concentra sulla comprensione dell'applicazione legacy, dell'infrastruttura, dei dati, dell'interazione tra applicazioni, servizi e dati e di altri aspetti come la sicurezza. La pianificazione suddivide il complesso portfolio di applicazioni in iterazioni da modernizzare per stabilire una roadmap iterativa e stabilire un piano di esecuzione per implementare la roadmap.

 

AI Academy

Ascesa dell'AI generativa nel mondo del business

Scopri di più sull'ascesa dell'AI generativa e cosa comporta per le aziende.

Le attività della fase di progettazione/blueprint cambiano in base alla strategia di modernizzazione (dalla scomposizione dell'applicazione e dallo sfruttamento della progettazione basata sul dominio alla definizione di un'architettura di destinazione basata su nuove tecnologie per creare progetti eseguibili). Le fasi successive sono la compilazione, il test e l'implementazione in produzione. Esploriamo le possibilità dell'AI generativa in queste aree del ciclo di vita.

Scoperta e design

La capacità di comprendere applicazioni legacy con un coinvolgimento minimo di SME (esperti della materia) è un punto di accelerazione critico. Ciò accade perché, in generale, gli SME sono impegnati in iniziative di sistemi operativi, mentre la loro conoscenza potrebbe essere limitata in base al periodo di tempo in cui hanno supportato i sistemi. Nel complesso, la scoperta e la progettazione sono le fasi in cui si dedica più tempo durante la modernizzazione, mentre lo sviluppo è molto più semplice una volta che il team ha decodificato le funzionalità dell'applicazione legacy, gli aspetti di integrazione, la logica e la complessità dei dati.

I team di modernizzazione eseguono l'analisi del codice ed esaminano diversi documenti (per lo più datati); È qui che la loro dipendenza dagli strumenti di analisi del codice diventa importante. Inoltre, per le iniziative di riscrittura, è necessario mappare le funzionalità nel contesto dell'applicazione legacy, in modo da eseguire esercizi di progettazione/decomposizione efficaci basati sul dominio. In questo caso, l'AI generativa diventa molto utile grazie alla sua capacità di correlare le capacità funzionali/di dominio al codice e ai dati e di stabilire la visualizzazione delle capacità aziendali e il codice e i dati delle applicazioni connesse. Naturalmente, i modelli devono essere adattati/contestualizzati per un dato modello di dominio aziendale o mappa delle capacità funzionali. La mappatura delle API assistita da AI generativa descritta in questo articolo ne è un piccolo esempio. Sebbene quanto sopra riguarda la decomposizione/progettazione delle applicazioni, l'event storming necessita di mappe di processo ed è qui che l'AI generativa aiuta a contestualizzare e mappare gli estratti dagli strumenti di process mining. L'AI generativa aiuta anche a generare casi d'uso basati su insight e sulla mappatura funzionale. Nel complesso, l'IA generativa aiuta a ridurre i rischi nei programmi di modernizzazione garantendo un'adeguata visibilità sia alle applicazioni legacy sia alle dipendenze.

L'AI generativa aiuta anche a generare un design mirato per un framework specifico di cloud service provider, grazie alla messa a punto dei modelli basati su una serie di modelli standardizzati (ingress/egress, servizi applicativi, servizi dati, modelli compositi, ecc.) Allo stesso modo, ci sono diversi altri casi d'uso dell'AI generativa che includono la generazione di modelli di codice specifici del framework tecnologico di destinazione per i controlli di sicurezza. L'AI generativa aiuta a generare specifiche di progettazione dettagliate, ad esempio le storie degli utenti, i wireframe dell'esperienza utente, le specifiche API (ad esempio, i file Swagger), il diagramma di relazione dei componenti e i diagrammi di interazione dei componenti.

Pianificazione

Uno dei compiti più difficili di un programma di modernizzazione è riuscire a stabilire una macro-roadmap bilanciando al contempo sforzi paralleli e dipendenze sequenziali e identificando scenari di coesistenza da affrontare. Sebbene questa operazione venga normalmente eseguita una tantum (riallineamento continuo tramite incrementi di programma, PI), pianificare esercizi che incorporino input a livello di esecuzione è molto più difficile. L'AI generativa risulta utile per generare roadmap basate su dati storici (applicazioni a mappe di aree di dominio, fattori di sforzo e complessità, modelli di dipendenza e altro ancora), applicandole ad applicazioni nell'ambito di un programma di modernizzazione, per un determinato settore o dominio.

L'unico modo per risolvere questo problema è renderlo consumabile tramite una suite di asset e acceleratori in grado di affrontare la complessità aziendale. È qui che l'AI generativa gioca un ruolo significativo nel correlare i dettagli del portfolio applicativo con le dipendenze scoperte.

Creare e testare

La generazione di codice è uno dei casi d'uso dell'AI generativa più noti, ma è importante essere in grado di generare una serie di artefatti di codice correlati che vanno da IAC (Terraform o Cloud Formation Template), codice/configurazioni di pipeline, punti di progettazione della sicurezza incorporati (crittografia, gestione delle identità e degli accessi (IAM), ecc.), generazione di codice applicativo da swaggers o altri approfondimenti di codice (da legacy) e configurazioni di firewall (come file di risorse basati sui servizi istanziati, ad esempio). L'intelligenza artificiale generativa aiuta a generare ciascuno degli elementi sopra menzionati attraverso un approccio orchestrato basato su architetture di riferimento delle applicazioni predefinite, costruite a partire da modelli, combinando al contempo i risultati degli strumenti di progettazione.

Un altro aspetto fondamentale è il testing: l'AI generativa è in grado di generare il set corretto di casi di test e codice di test insieme ai dati di test, in modo da ottimizzare i casi di test eseguiti.

Implementa

Numerose attività critiche dell'"ultimo miglio" nei programmi di modernizzazione richiedono in genere giorni o settimane, a seconda della complessità dell'impresa. Un caso d'uso essenziale dell'AI generativa è la capacità di derivare insight per la validazione della sicurezza analizzando i log di applicazione e piattaforme, punti di progettazione, Infrastructure-as-Code e altro ancora. Questa funzionalità velocizza notevolmente i processi di revisione e approvazione della sicurezza. Inoltre, l'AI generativa è fondamentale per generare input per la gestione della configurazione (CMDB) e la gestione del cambiamento, attingendo alle note di rilascio generate tramite gli elementi di lavoro dello strumento Agility completati per rilascio.

Sebbene i suddetti casi d'uso siano estremamente promettenti durante il percorso di modernizzazione, è fondamentale riconoscere che le complessità aziendali richiedono un approccio orchestrato per utilizzare efficacemente molti di questi acceleratori di AI generativa. Lo sviluppo di modelli contestuali specifici per l'impresa è uno sforzo continuo per accelerare i programmi di modernizzazione. Abbiamo osservato beneficio sostanziale nell'investire tempo e sforzo in anticipo e nel personalizzare continuamente questi acceleratori di AI generativa per allinearsi a modelli specifici che mostrano ripetibilità all'interno dell'azienda.

Esaminiamo ora un possibile esempio comprovato:

Esempio 1: ripensare API Discovery con BIAN e AI per la visibilità della mappatura del dominio e l'identificazione dei servizi API duplicati

Il problema: Large Global Bank ha più di 30.000 API (sia interne che esterne) sviluppate nel tempo in vari settori (ad esempio, servizi bancari retail, servizi bancari all'ingrosso, open banking e servizi bancari aziendali). Esiste un enorme potenziale di API duplicate tra i domini, portando a un costo totale di proprietà più elevato per il mantenimento del vasto portfolio e a sfide operative legate alla duplicazione e sovrapposizione delle API. La mancanza di visibilità e di individuazione delle API spinge i team di sviluppo API a sviluppare API uguali o simili anziché trovare API pertinenti da riutilizzare. L'incapacità di visualizzare il portfolio di API dal punto di vista del modello del settore bancario limita i team aziendali e IT a comprendere le funzionalità già disponibili e quali nuove funzionalità sono necessarie per la banca.

Approccio alla soluzione basato sull'AI generativa: la soluzione sfrutta il Large Language Model BERT, il trasformatore di frasi, la funzione di perdita di ranking di più negativi e le regole di dominio, ottimizzate con la conoscenza del BIAN Service Landscape per apprendere il portfolio API della banca e fornire la capacità di scoprire API con la mappatura automatica su BIAN. Esso associa il metodo dell'endpoint API alla gerarchia del BIAN Service Landscape di livello 4, ovvero alle operazioni di servizio BIAN.

Le funzioni fondamentali della soluzione sono la capacità di:

  • Inserisci le specifiche swagger e altre documentazioni e comprendi l'API, gli end point, le operazioni e le descrizioni associate.
  • Inserire i dettagli BIAN e comprendere il panorama dei servizi BIAN.
  • Mettere a punto la mappatura abbinata e non corrispondente tra API Endpoint Method e BIAN Service Landscape.
  • Fornire una rappresentazione visiva della mappatura e del punteggio di corrispondenza con la navigazione gerarchica BIAN e filtri per i livelli BIAN, le Categories e il punteggio di corrispondenza.

Interfaccia utente per la scoperta delle API con modello di settore:

Vantaggio fondamentale: la soluzione ha aiutato gli sviluppatori a trovare facilmente API riutilizzabili, basate sui domini aziendali BIAN; essi avevano a disposizione diverse opzioni di filtro/ricerca per individuare le API. Inoltre, i team sono stati in grado di identificare le categorie delle API per creare la giusta resilienza. La prossima revisione della ricerca sarà basata sul linguaggio naturale e sarà un caso d'uso.

La capacità di identificare le API duplicate in base ai domini di servizio BIAN ha aiutato a stabilire una Strategia di modernizzazione che indirizza le funzionalità duplicate e le razionalizza.

Questo caso d'uso è stato realizzato entro sei-otto settimane, mentre la banca avrebbe impiegato un anno per ottenere lo stesso risultato (poiché c'erano diverse migliaia di API da scoprire).

Esempio 2: Modernizzazione automatica dell'API MuleSoft in Java Spring Boot API

Il problema: quando i team attuali hanno iniziato a modernizzare le API di MuleSoft a Spring boot, il grande volume di API, la mancanza di documentazione e gli aspetti di complessità hanno influenzato negativamente la velocità.

Approccio a soluzioni basate sull'AI generativa: la modernizzazione dell'API Mule a Java Spring Boot è stata notevolmente automatizzata tramite un acceleratore basato sull'AI generativa che abbiamo costruito. Siamo partiti con una profonda comprensione delle API, dei componenti e della logica delle API, per poi finalizzare le strutture di risposta e il codice. A questo è seguita la creazione di prompt utilizzando la versione IBM di Sidekick AI per generare codice Spring boot, che soddisfa le specifiche API di MuleSoft, i casi di test unitari, il documento di progettazione e l'interfaccia utente.

I componenti dell'API Mule sono stati forniti nello strumento uno per uno utilizzando i prompt e hanno generato il componente Spring boot corrispondente, che è stato successivamente collegato insieme per risolvere gli errori che si sono verificati. L'acceleratore ha generato l'interfaccia utente per il canale desiderato, che poteva essere integrata nelle API, nei casi di test unitari e nei dati di test e nella documentazione di progettazione. La documentazione di progetto che viene generata consiste in un diagramma di sequenza e di classe, richiesta, risposta, dettagli del punto finale, codici di errore e considerazioni sull'architettura.

Vantaggi fondamentali: Sidekick AI potenzia il lavoro quotidiano dei consulenti di applicazione abbinando una Strategia di AI generativa multi-modello contestualizzata attraverso una profonda conoscenza del settore e della tecnologia. I vantaggi fondamentali sono i seguenti:

  • Genera la maggior parte del codice Spring Boot e dei casi di test ottimizzati, puliti e conformi alle best practice: la chiave è la ripetibilità.
  • Facilità di integrazione delle API con i livelli front-end del canale.
  • Facilità di comprensione del codice dello sviluppatore e informazioni sufficienti per il debug del codice.

Il PoC dell'acceleratore è stato completato con quattro diversi scenari di migrazione del codice, casi di test unitari, documentazione del progetto e generazione dell'interfaccia utente, in tre sprint di sei settimane.

Conclusioni

Molti CIO e CTO hanno espresso riserve nel contemplare iniziative di modernizzazione, citando una moltitudine di sfide delineate all'inizio. Tra queste rientrano le preoccupazioni relative all'ampio coinvolgimento delle PMI richiesto, alle potenziali interruzioni dell'attività dovute al cambiamento e alla necessità di modifiche al modello operativo in varie funzioni organizzative, tra cui la sicurezza e la gestione del cambiamento. Sebbene sia importante riconoscere che l'AI generativa non è una soluzione unica per queste sfide complesse, essa contribuisce innegabilmente al successo dei programmi di modernizzazione. Questo è possibile accelerando il processo, riducendo il costo complessivo della modernizzazione e, soprattutto, mitigando i rischi assicurando che nessuna funzionalità critica venga trascurata. Tuttavia, è essenziale riconoscere che l'introduzione di modelli linguistici di grandi dimensioni (LLM) e delle relative librerie nell'ambiente aziendale comporta un impegno significativo in termini di tempo e fatica. Ciò include rigorose verifiche di sicurezza e conformità e procedure di scansione. Inoltre, migliorare la qualità dei dati utilizzati per mettere a punto questi modelli è uno sforzo mirato da non sottovalutare. Sebbene gli acceleratori di modernizzazione coesi basati su AI generativa non siano ancora diventati onnipresenti, si prevede che, con il tempo, emergeranno toolkit integrati per facilitare l'accelerazione di specifici modelli di modernizzazione, se non di una serie di essi.

Esplora cosa può fare con l'AI generativa con IBM Consulting.

 
Soluzioni correlate
IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Servizi AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live