Come parte di un programma di migrazione su larga scala verso il cloud a livello aziendale, il nostro cliente - una banca di primo livello - stava cercando acceleratori e tecniche per prioritizzare la migrazione delle applicazioni legacy verso il cloud e ottimizzare il complesso processo di trasformazione. Il cliente ha utilizzato con successo la nostra soluzione per abbreviare il time-to-market e accelerare il proprio percorso di modernizzazione dei sistemi, in particolar modo nella fase di pianificazione. Utilizzando la nostra metodologia, abbiamo creato uno strumento per semplificare ed accelerare l'analisi del codice legacy staticamente (senza fermare quindi l'ambiente di produzione) e successivamente abbiamo, con gli output generati da questo strumento, alimentato gli algoritmi di apprendimento automatico per aiutare a definire la forma e la struttura di una raccolta ottimizzata di microservizi.
Obiettivi del cliente
- Evolvere da un'architettura di sistema legacy a un'architettura scalabile in modo ottimizzato per garantire la qualità dei risultati ottenuti, con costi ridotti e bassa complessità nella futura manutenzione.
- Sviluppare questa evoluzione architetturale verso i microservizi in modo organizzato e standardizzato, seguendo i principi di governance, agilità e automazione e facendo leva sull’apprendimento automatico basato su intelligenza artificiale.
- Assicurare il delivery dell'applicazione con massime prestazioni e stabilità, selezionando attentamente la granularità del livello dei servizi per evitare errori difficili e costosi da correggere.
Cosa abbiamo consegnato
- Automazione: Esecuzione dell'analisi automatizzata del codice sorgente, utilizzando l’elaborazione a linguaggio naturale dove applicabile.
- Definizione della tassonomia: Sviluppo di una tassonomia dati e business utilizzata dal sistema legacy. Questa tassonomia può basarsi su standard di mercato come BIAN o ISO200022 o altro già in uso dall'organizzazione.
- Strategia e roadmap: Identificazione della granularità ottimale dei microservizi e creazione di una roadmap di migrazione in linea alla governance del progetto del cliente.
Nel dettaglio, durante un periodo di 18 mesi e con un team di 10 SME tecnologici, abbiamo raggiunto i seguenti risultati:
- Integrato il nostro strumento con il repository del codice COBOL per recuperare e leggere automaticamente il codice sorgente legacy.
- Sviluppato un crawler di codice per programmi e job COBOL:
- Progettato un parser di componenti COBOL che ci ha permesso di costruire una visualizzazione-XY delle funzionalità e degli oggetti di dati che ogni funzionalità manipola.
- La visualizzazione XY è diventata un input per il passaggio successivo del processo - il refactoring tramite diverse tecniche di apprendimento automatico non supervisionato.
- Selezionato il miglior metodo di refactoring per ciascun esercizio di refactoring.
- Creato un report che ha aiutato gli stakeholder ed i decision maker a comprendere i risultati e le conseguenze dell'output della nostra analisi e delle raccomandazioni di refactoring.
Benefici per il cliente
Utilizzando il nostro strumento automatizzato, la banca ha refattorizzato con successo le proprie applicazioni monolitiche basate su COBOL in microservizi candidati per oltre 20 aree di business. Ciò ha anche creato un approccio standard riutilizzabile per definire tassonomie funzionali e tecniche da applicare in future iniziative di refactoring dei monoliti e migrazioni dei sistemi. Ulteriori impatti includono:
- La fase di pianificazione del progetto è stata ridotta da sei mesi a tre settimane, con meno SME richiesti, eliminando quindi i costi di formazione.
- Sono stati elaborati circa 6.000 programmi legacy COBOL, contenenti complessivamente oltre 1,5 milioni di righe di codice (l'applicazione più grande consisteva in oltre 200.000 righe di codice).
Etichettate e mappate circa 40.000 tabelle del database mainframe utilizzando l'etichettatura delle funzionalità per facilitare la migrazione verso il cloud.