La modernizzazione delle applicazioni, aka application modernization, è un tema di grande attualità che accompagna la ricerca da parte delle imprese di maggiore efficacia delle applicazioni a supporto dei nuovi canali e servizi digitali erogati ai clienti. Le applicazioni costruite pezzo a pezzo nel passato possono oggi diventare un freno allo sviluppo ed ostacolare i necessari aggiornamenti ai modelli di governance. La soluzione ideale – il rimpiazzo delle applicazioni esistenti con moderne applicazioni scritte a microservizi, interconnesse via API e supportate dall’IT con metodi DevOps e DevSecOps – comporta rischi e necessita di un’attenta implementazione per poter avere successo.
Oneri che, nell’esperienza Sinthera, possono in molti casi essere evitati riutilizzando in tutto o in parte le funzioni chiave del codice legacy nei contesti applicativi più moderni. Per esempio, dotando le applicazioni esistenti d’interfacce API e migrandone l’esecuzione su piattaforme containerizzate sia on premise sia in cloud.
Obiettivo e significato business dell’application modernization
L’avvio di un progetto di application modernization deve avere giustificazione nella capacità di creare valore per l’azienda. Per questo è sempre necessario partire con l’analisi costi/benefici e valutare bene i tempi del cambiamento. Sostituire le applicazioni comporta rallentamenti nel lavoro e nuove necessità d’apprendimento da parte degli utenti. La modernizzazione dell’esistente può evitare questo stress ed essere vantaggiosa se permette di abbandonare hardware obsoleto per poter adottare soluzioni più moderne di sistema operativo, hardware di sistema, o standardizzare i servizi infrastrutturali con il resto dell’azienda.
Riscrivere o migrare il software applicativo legacy senza perdite di funzionalità, indipendentemente dal linguaggio e dalle librerie con le quali è stato sviluppato richiede grande preparazione e competenza. Ancor più ne serve per abilitarne le funzionalità nella moderna logica service oriented, sfruttando la scalabilità dei moderni sistemi e dei servizi in cloud per adeguare le prestazioni.
Come si fa l’application modernization?
Le soluzioni possono essere diverse a seconda della piattaforma di partenza – mainframe, sistemi legacy Unix, AS/400 – possono richiedere la riscrittura totale o parziale del codice, utilizzare tecniche di rehosting, replatforming e virtualizzazione.
L’integrale riscrittura del codice consente di superare i limiti di manutenibilità delle applicazioni scritte in COBOL e in altri linguaggi del passato, consentendo d’inserire le applicazioni in processi continui di sviluppo e di miglioramento. Per i servizi più maturi e consolidati, può bastare la riscrittura con Java e linguaggi moderni delle sole componenti d’interfaccia per l’integrazione con il mondo Web e altre applicazioni, recuperando le componenti legacy che hanno più valore.
Nelle situazioni più semplici, si può fare application modernization attraverso il re-hosting, usando tool di mercato per migrare le applicazioni legacy da sistemi obsoleti e difficili da manutenere ad ambienti open, standard di mercato (Linux, Windows…) idealmente senza modifiche. Va da sé che questa soluzione vada ad indirizzare solo i problemi di modernizzazione del data center e non dei supporti applicativi. Di fatto il rehosting si posiziona come tappa intermedia di molti processi graduali per la dismissione e l’aggiornamento della logica applicativa d’impresa.
Application modernization alla maniera di Sinthera
Il ridisegno delle applicazioni a microservizi è il traguardo finale per l’application modernization, aspetto che Sinthera approccia affiancando le proprie competenze di system integration, implementazione di ambienti software defined containerizzati con Kubernetes con quelle di un partner specializzato nell’ingegneria del software. Il contributo di Sinthera si estende all’adozione dei moderni processi di sviluppo applicativo basati su metodologia agile oltre che al rafforzamento della security. Quest’ultimo aspetto è indirizzato da Sinthera dal lato dello sviluppo, del runtime e del networking con soluzioni leader di mercato che comprendono la suite Fortify di Micro Focus fino ai servizi di penetration test.
Nell’esperienza Sinthera ci sono i progetti di modernizzazione applicativa di società bancarie, assicurative, multiutility e di e-commerce oggi sollecitate dal mercato ad accelerare i cicli di sviluppo e di maintenance delle applicazioni. Ai propri clienti Sinthera offre supporto per digitalizzare i servizi e adeguare il time to market con l’implementazione di processi DevOps e DevSecOps. Sinthera aiuta le aziende clienti a rimediare a skill shortage e debiti di competenza dei team interni sia sul fronte della gestione efficiente dell’IT sia dello sviluppo software.