Oggi, modernizzare le applicazioni legacy è un percorso necessario da compiere per completare la trasformazione digitale, e migrare verso applicazioni cloud-native, più agili e improntate sul paradigma DevOps. Ma in ogni caso d’uso occorre saper intraprendere la strategia giusta, e utilizzare i corretti servizi, strumenti e tecnologie di modernizzazione applicativa
Leggi la guida completa su ZeroUno
In questi anni, il processo di trasformazione digitale ha fatto evolvere in maniera molto rapida la tecnologia software: di conseguenza, nelle imprese, l’application modernization di applicazioni esistenti, spesso datate ma ancora valide e funzionanti, pur rappresentando in molti casi una strategia faticosa e rischiosa da attuare, è diventato un imperativo categorico per riuscire a mantenere le applicazioni stesse al passo con i tempi, e abilitarle a beneficiare delle nuove funzionalità e servizi resi disponibili dal cloud.
Cos’è la application modernization
Ciò premesso, fare application modernization significa sviluppare un progetto in grado di analizzare il parco delle applicazioni legacy aziendali, e poi di pianificare, di volta in volta, per ciascuna applicazione, la strategia di aggiornamento migliore per integrare le funzionalità più moderne e recenti: funzionalità che consentono alle organizzazioni d’innovare i propri servizi e di rispondere con più efficacia ed efficienza alle esigenze e richieste dei clienti, creando nuovo valore di business.
Il problema però è che i sistemi e applicazioni legacy, ancora largamente presenti nelle varie organizzazioni, sono spesso basati su un’architettura software monolitica, costosa da manutenere, poco flessibile, difficile e complessa da modificare e scalare, se non spendendo tempo e denaro in lavoro di riscrittura del codice. Fare application modernization oggi significa quindi, ove possibile, eliminare la rigidità di queste applicazioni legacy monolitiche, migrando verso strategie d’implementazione di applicazioni cloud-native, in grado di sfruttare gli intrinseci vantaggi di flessibilità e agilità nell’uso delle risorse IT che la nuvola è in grado di fornire, slegando il software dalla stretta appartenenza a un’infrastruttura hardware sottostante.
Per tecnologie cloud-native si intendono, parafrasando la definizione della Cloud Native Computing Foundation (CNCF), quelle che permettono di sviluppare e gestire applicazioni in ambienti IT moderni e dinamici, come i cloud privati, pubblici, ibridi: esempi di questo approccio, indica la CNCF, sono i container, la mesh di servizi, le architetture di microservizi, le API (application programming interface) dichiarative, l’infrastruttura immutabile (nella quale i server non vengono mai modificati dopo il loro deployment. Se qualcosa deve essere aggiornato, riparato o modificato in qualche modo, vengono forniti nuovi server creati da un’immagine comune con le modifiche appropriate per sostituire quelli vecchi. Dopo essere stati convalidati, vengono messi in uso e quelli vecchi vengono disattivati).
