La modernizzazione delle applicazioni è tra i pensieri delle aziende. O meglio, si conferma una priorità per chi, in azienda, si occupa di architetture software, sviluppo e coordinamento dei team IT. Tuttavia cambiano, rispetto al recente passato, alcune modalità e obiettivi specifici associati alla trasformazione applicativa. Lo svela uno studio di Red Hat, realizzato dalla società di ricerca Illuminas in base a un migliaio di interviste (raccolte tra ottobre e novembre 2023) ad altrettanti decisori IT, sviluppatori back-end e architetti software di grandi e medie imprese statunitensi, britanniche e dell’Asia-Pacifico.
Poiché uno studio simile, basato su metodologia leggermente diversa, era stato realizzato due anni fa, il confronto tra i risultati permette di tracciare a grandi linee l’evoluzione delle strategie aziendali in materia di applicazioni e di modernizzazione applicativa. Ma che cosa si intende esattamente con questa espressione? Una definizione univoca non esiste, come evidenziato dallo stesso sondaggio: Alcune definizioni comuni del concetto sono l’automazione dei carichi di lavoro e il serverless computing, ma il personale IT associa la modernizzazione delle applicazioni anche a diverse metodologie di sviluppo e rilascio o, ancora, a una trasformazione delle architetture di dati sottostanti.
In particolare, il 68% degli intervistati ha detto che modernizzare le applicazioni significa lavorare in ottica di integrazione e distribuzione continua (CI/CD, continuous integration/continuous delivery). “Raramente assistiamo a un cambiamento di questa portata tra un sondaggio e un altro”, ha commentato Gordon Haff, technology evangelist di Red Hat. “Si tratta di una delle numerose risposte che suggeriscono di puntare sui fondamenti tradizionali dell’IT e di ridurre almeno in modo incrementale l’enfasi su alcune tecnologie più recenti”. C’è ancora, rimarca Red Hat, un corposo nucleo di aziende che non hanno ancora consolidato delle best practice di sviluppo e distribuzione del software, e da qui l’esigenza (per il 68%) di migliorare innanzitutto la CI/CD. Non tutti, insomma, sono all’avanguardia.
Per altre aziende e contesti, come emerso dal sondaggio, modernizzazione applicativa significa innanzitutto modernizzazione dei dati, quindi delle infrastrutture che li contengono e delle attività di analytics che ne estraggono valore, senza dimenticare il modo in cui i dati vengono raccolti e condivisi. In parte, a spingere i progetti di modernizzazione dei dati è anche il desiderio di sfruttare l’intelligenza artificiale, e in parte sono le dinamiche di aggiornamento delle applicazioni e dei loro componenti (come nel caso dei dati distribuiti nelle applicazioni edge).
“Le organizzazioni adottano approcci diversi alla modernizzazione delle applicazioni con l’obiettivo di migliorare sicurezza, affidabilità e scalabilità”, ha sottolineato Haff. “
Rispetto a due anni fa, il report evidenzia una maggiore enfasi sull’aggiornamento delle applicazioni e dell’infrastruttura legacy rispetto alla creazione di nuove applicazioni cloud”. Quasi all’unanimità, gli intervistati hanno indicato che sicurezza, affidabilità e scalabilità sono tutti e tre dei fattori determinanti per motivare i progetti di modernizzazione applicativa.
Oltre il 70% valuta il successo di tali progetti anche in base ai risultati ottenuti nelle stesse tre aree. Risultati positivi? Nella maggior parte dei casi, sì. Il 58% del campione ha riscontrato miglioramenti in termini di sicurezza, il 53% nella scalabilità e il 52% nell'affidabilità delle applicazioni.
Per quanto riguarda le modalità e strategie di modernizzazione seguite, le aziende si dividono senza prevalenze schiaccianti tra sei possibilità: smantellare applicazioni che non servono più (retire), conservare l’esistente, rimandando ogni intervento finché è possibile (retain); spostare con un lift-and-shift dall’on-premise o hosting al cloud, senza modifiche architetturali (rehost); spostare realizzando solo le modifiche necessarie affinché l’applicazione sia abilitata al cloud, ma senza cambiarne l’architettura o il codice (replatform); migrare dopo aver modificato l’architettura in chiave cloud-nativa, per esempio inserendo i carichi di lavoro in container (refactor); passare da licenze perpetue a un modello Software-as-a-Service (repurchase).
Ciascuna di queste sei opzioni ha totalizzato percentuali di risposta tra il 10 e il 20%. Red Hat sottolinea come talvolta si cominci con un intervento meno radicale, per poi arrivare passo dopo passo a una vera e propria riarchitettura delle applicazioni (solo il 15% degli intervistati prevede di passare direttamente al refactoring). In tutto ciò si fa strada l’utilizzo dell’intelligenza artificiale, principalmente per scopi ottimizzazione delle prestazioni e di automazione delle attività manuali (in generale e nei test/QA), mentre l’AI è ancora poco usata come supporto per la scrittura di codice.
Quali tipi di applicazione sono coinvolte in queste trasformazioni? Quelle di back-end su cui si basa il funzionamento generale dell’azienda sono la priorità, indicata dal 41% degli intervistati. Seguono quelle di gestione dati, analytics e Business Intelligence, 35%, mentre le applicazioni front-end rivolte ai clienti sono state citate solo dal 14% delle aziende.