Modernizzare le applicazioni è l’attività prioritaria di una trasformazione digitale, ma richiede estrema attenzione.
Autore: Valerio Mariani
La modernizzazione delle applicazioni rimane prioritaria all’interno di un progetto di migrazione al cloud. Dopo aver assimilato l’impatto, non sempre positivo, del passaggio al cloud dell’intera infrastruttura, vendor, partner IT e aziende clienti tendono a un certo pragmatismo. La complessità di un progetto di migrazione a 360 gradi, insieme al costo e all’effort, sia di implementazione che di manutenzione, sta rendendo il mercato decisamente più cauto.
Meglio dividere l’elefante in parti, come si insegna nei corsi di gestione aziendale, focalizzandosi su priorità e su interventi ponderati e successivi. E la priorità, in questo momento, è la modernizzazione dell’intero strato applicativo. D’altronde, le componenti di elaborazione, storage e networking sono disponibili, ciò che serve è ridurre, per quanto possibile, lo stack applicativo on premise.
Secondo Gartner il 65% dei carichi di lavoro applicativi saranno ottimizzati o pronti per il cloud entro il 2027, percentuale in crescita dal 45% del 2022. E, ancora Gartner predice che il 15% del workloads on premise sarà riprogettato in container entro il 2026, un valore decisamente maggiore rispetto al 5% del 2022.
Per comprendere le best practices in ambito modernizzazione di applicazioni, sfruttiamo l’esperienza e le indicazioni di Fabio Gerosa, Sales Director Italy di Couchbase. L'azienda di Santa Clara (California) quotata al Nasdaq sviluppa Couchbase Capella, giunto ora alla versione 7.2, una piattaforma cloud database open source per formati JSON che supporta SQL, ricerca, gestione degli eventi e analisi.
La piattaforma viene utilizzata per alimentare applicazioni aziendali di grandi dimensioni ed è in grado di gestire milioni di utenti. Fornisce un supporto molto apprezzato per l'edge computing e l'elaborazione di applicazioni ad alta elaborazione, come quelle che sfruttano l’AI.
Couchbase può sincronizzare i dati su qualsiasi ambiente, ottenendo i vantaggi dell'edge computing in termini di velocità, affidabilità, governance dei dati ed efficienza della larghezza di banda per le applicazioni.
“La modernizzazione delle applicazioni avviene quando un’organizzazione migra sistemi e infrastrutture legacy verso una piattaforma di nuova generazione, ottimizzata per migliorare flessibilità, scalabilità e sicurezza e ridurre i costi operativi – chiarisce il manager -. In questo caso, la migrazione si riferisce da SQL a database NoSQL, da data center on premise al cloud e da procedure di delivery del software standard a pratiche più recenti come CI/CD”.
Gerosa spiega anche perché è necessario modernizzare le applicazioni e considerare l’attività prioritaria in un contesto di trasformazione digitale. “I sistemi legacy si degradano nel tempo e affinché mantengano prestazioni ottimali, è indispensabile impegnarsi in un continuo refactoring del software, introducendo occasionalmente nuove tecnologie per soddisfare le esigenze in evoluzione imposte al sistema”.
Questo perché le applicazioni nascono inizialmente come sistemi a sé, anche se nel tempo cambiano necessità operative, dimensioni del team di ingegneri e numero di utenti. Diventa così necessaria la migrazione da un’architettura monolitica verso una basata su micro-servizi, in cui gli ingegneri abbiano a disposizione singoli servizi di piccole dimensioni, in modo che l’azienda possa scalare facilmente e ampliare l’utenza in accesso.
Un buon progetto di modernizzazione applicativa, inoltre, prevede la gestione del debito tecnologico. Ovvero, ciò che si verifica quando si accumulano sistemi legacy privilegiando la velocità di sviluppo del software rispetto alla qualità. Sebbene un debito tecnologico sia inevitabile, si traduce in applicazioni molto più lente e in aumento dei costi operativi nel tempo. Modernizzare le applicazioni significa anche gestirlo correttamente, in ottica previsionale.
Vediamo ora quali sono i principali vantaggi di un progetto di modernizzazione delle applicazioni:
Sebbene la modernizzazione offra molti vantaggi, il processo comporta anche delle sfide, le due più importanti sono rappresentate da costi e dalla complessità:
Gli strumenti di containerizzazione consentono agli sviluppatori di impacchettare codice e dipendenze di un’applicazione e di distribuirli su qualsiasi infrastruttura. Rappresentano una valida alternativa alle macchine virtuali (VM), che in generale richiedono più tempo per essere configurate e gestite.
Il passaggio dalle soluzioni SQL tradizionali alle moderne piattaforme NoSQL potrebbe essere ideale per ottenere maggiore scalabilità, modellazione flessibile dei dati e capacità di gestire in modo efficiente grandi volumi di dati non strutturati o semi-strutturati.
In definitiva, conclude il manager di Couchbase: “sebbene la modernizzazione delle applicazioni legacy possa essere costosa e richieda un’attenta pianificazione e coordinamento, è certamente in grado di portare grandi benefici all’azienda e ai clienti in futuro, permettendo di avere sempre un approccio all’avanguardia”.