Red Hat ha intervistato alcuni leader sullo stato di modernizzazione delle applicazioni e delle aziende in generale. Le conclusioni emerse sono due: le strategie di modernizzazione delle applicazioni personalizzate sono diverse e dipendono dalle applicazioni da modernizzare e, inoltre, la modernizzazione non è un progetto unico e definitivo. Ce lo racconta Gordon Haff, Technology Advocate di Red Hat nell’articolo che condividiamo di seguito.
Buona lettura!
Red Hat: report sullo stato della modernizzazione delle applicazioni 2024
Le organizzazioni adottano approcci diversi alla modernizzazione delle applicazioni con l’obiettivo di migliorare sicurezza, affidabilità e scalabilità. 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.
Perché le organizzazioni si modernizzano?
I fattori principali della modernizzazione delle applicazioni – sicurezza, affidabilità e scalabilità – sono noti. Sono questi i fattori, con le relative varianti, che compaiono in molti dei nostri sondaggi quando poniamo domande sui vantaggi attesi dalla trasformazione digitale. Gli intervistati hanno quasi universalmente dichiarato che tutti e tre sono stati determinanti nella decisione della loro organizzazione di modernizzare le applicazioni. Oltre il 70% valuta il successo anche in base ai risultati ottenuti nelle stesse tre aree.
Come stanno andando? Abbastanza bene.
Se analizziamo i singoli fattori, la maggior parte degli intervistati (58%) ha già riscontrato benefici in termini di sicurezza, ma oltre la metà ha ottenuto vantaggi anche in termini di affidabilità (52%) e scalabilità (53%). Nel contesto di progetti di modernizzazione delle applicazioni che sono per lo più ancora in corso, questi risultati dovrebbero essere considerati un segnale molto positivo del valore che la modernizzazione delle applicazioni può apportare. La situazione è ancora più significativa se si considerano i benefici riscontrati in almeno una categoria dove, quasi tutti (98%) confermano esiti positivi in almeno una singola area critica.
La modernizzazione offre vantaggi nelle aree che contano di più
Non esiste un’unica definizione di modernizzazione delle applicazioni
Quest’anno il 68% degli intervistati ha dichiarato che la definizione principale di modernizzazione delle applicazioni è il miglioramento delle pipeline CI/CD (continuous integration/delivery), un dato significativo per un paio di motivi.
In primo luogo, la percentuale è nettamente superiore a quella del sondaggio del 2021, quando la containerizzazione dei carichi di lavoro era la priorità, mentre il miglioramento della CI/CD era in fondo alla classifica. Raramente assistiamo a un cambiamento di questa portata tra un sondaggio e un altro. 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.
In secondo luogo, serve a ricordare che non tutti sono all’avanguardia. Tutte le organizzazioni continuano a modificare le loro pipeline CI/CD per incorporare funzionalità aggiuntive come la scansione di sicurezza. Tuttavia, si può ragionevolmente ritenere che chi ha adottato moderne best practice per lo sviluppo del software disponga di processi CI/CD complessivamente solidi. I numeri suggeriscono che questa ipotesi non vale per tutti.
Un’altra definizione è quella di modernizzazione dei dati, comunemente descritta come l’aggiornamento e il miglioramento dell’infrastruttura di dati, strumenti e pratiche di un’organizzazione per soddisfare le esigenze in evoluzione delle operazioni aziendali e degli analytics basati sui dati. È ragionevole supporre che la preparazione all’intelligenza artificiale/apprendimento automatico sia una motivazione importante per pensare alla modernizzazione delle applicazioni in questi termini. La modernizzazione dei dati entra in gioco anche come parte della modernizzazione dello scambio di dati tra le applicazioni e i loro componenti man mano che vengono aggiornati, come nel caso dei dati distribuiti nelle applicazioni edge. (Altre indagini da noi condotte hanno rilevato che i problemi di integrazione sono una sfida costante per i progetti di trasformazione digitale).
Le definizioni più comuni sono l’automazione dei carichi di lavoro e il serverless computing.
Comprensione della modernizzazione delle applicazioni
Le definizioni regionali di modernizzazione delle applicazioni sono per lo più coerenti
Come si stanno modernizzando le organizzazioni?
Le strategie di modernizzazione sono diverse e, nella maggior parte dei casi, avvengono in più fasi.
Abbiamo chiesto agli intervistati di rispondere alla domanda: “Cosa prevede di fare la sua organizzazione con le applicazioni di produzione personalizzate che vuole modernizzare nei prossimi due anni?”. Le 6 scelte fornite seguivano il framework delle 6 R, un modello derivato dalle 5 R creato da Gartner nel 2010 in un momento in cui molte aziende stavano iniziando a confrontarsi con il modo migliore per spostare le applicazioni legacy nel cloud. (Si possono trovare alcune differenze di nomenclatura tra le varie fonti, ma il quadro generale è ampiamente utilizzato).
Le 6 strategie sono:
Retire: Smantellare le applicazioni che non sono più necessarie.
Retain: Lasciare le applicazioni critiche così come sono, fino a quando non è necessario un refactoring.
Rehost: “Lift-and-shift” delle applicazioni su cloud (in hosting o on-premise) senza modifiche architetturali.
Replatform: Ottimizzare in fase di migrazione alla nuova piattaforma per abilitare le applicazioni al cloud senza modificare il codice o l’architettura dell’applicazione principale. (A volte si parla di “tweak, lift, and shift”).
Refactor: Riarchitettare in chiave cloud-native, ad esempio containerizzando i carichi di lavoro o spostandoli su un’architettura serverless.
Repurchase: Passare da licenze perpetue a un modello Software-as-a-Service (SaaS).
La prima conclusione che possiamo trarre da questo sondaggio, così come da altri che abbiamo condotto, è che non esiste un unico approccio dominante. La riqualificazione è stata la risposta più comune, pari al 20%, mentre tutte le altre risposte si collocano tra il 10% e il 19%. Le strategie di modernizzazione delle applicazioni personalizzate sono diverse e dipendono dalle applicazioni da modernizzare, dal livello di sofisticazione dell’organizzazione e anche dalla posizione dell’intervistato all’interno dell’organizzazione.
L’altra conclusione che possiamo trarre con sicurezza è che la modernizzazione delle applicazioni non è un progetto unico e definitivo. Piuttosto, c’è un chiaro percorso incrementale verso la riarchitettura delle applicazioni. Solo il 15% degli intervistati prevede di passare direttamente al refactoring. Ma questo non significa che il refactoring sia fuori discussione per il futuro. Infatti, il 47% prevede di effettuare replatform e poi refactoring. Un altro 38% ha in programma il rehost, poi replatform e solo successivamente refactoring. (Tra le organizzazioni che descrivono la modernizzazione delle applicazioni come un processo continuo, quest’ultima categoria sale al 52%).
Le strategie di modernizzazione sono diverse
Su cosa si concentra la modernizzazione delle applicazioni?
Possiamo suddividere la modernizzazione delle applicazioni in due categorie:
1) Modernizzazione di infrastrutture/applicazioni esistenti (legacy)
2) Fornitura o costruzione di nuove infrastrutture, servizi cloud e applicazioni cloud-native moderne o native o altri servizi IT moderni.
Abbiamo riscontrato che il 59% dei budget per la modernizzazione era destinato alla prima categoria, mentre il restante 41% rientrava nella seconda, risultati che non vedono variazioni apprezzabili nelle diverse regioni.
Rispetto alla nostra indagine di due anni fa, l’allocazione del budget si è spostata molto di più verso l’aggiornamento delle applicazioni e dell’infrastruttura legacy rispetto alla creazione di nuove applicazioni e infrastrutture nel cloud. I numeri si sono approssimativamente invertiti tra le due indagini e sembrerebbero indicare una rinnovata attenzione ai fondamenti dell’IT.
Un’analisi più approfondita dei tipi di applicazioni prioritarie per la modernizzazione delle applicazioni rafforza questa visione.
Le applicazioni back-end di base sono la priorità assoluta con il 41%, seguite dalle applicazioni di dati/analisi/business intelligence con il 35%. (Questo sottolinea ancora una volta l’importanza dei dati per l’IA e le tecnologie correlate). In questo caso, i risultati variano a seconda della regione: APAC ad esempio ha invertito i numeri delle applicazioni back-end e di quelle legate ai dati. In tutte le aree geografiche, le applicazioni rivolte ai clienti hanno rappresentato una priorità relativamente bassa, pari al 14%.
Questi numeri forniscono un interessante contrappunto all’idea dell’IT bimodale (o veloce/lento) che si stava diffondendo circa un decennio fa. Questa idea derivava da una scuola di pensiero secondo la quale le applicazioni legacy di back-end sarebbero state messe da parte e modificate in minima parte (secondo la terminologia delle 6 R), mentre tutte le azioni più interessanti si sarebbero concentrate sulle nuove applicazioni e sui nuovi servizi rivolti ai clienti.
I risultati di questa indagine dimostrano che, in effetti, le aziende stanno dando priorità alle applicazioni che gestiscono le loro attività e ai dati che informano le loro decisioni aziendali. Tuttavia, anche le nuove applicazioni e i nuovi servizi, compresi quelli rivolti ai clienti, sono in fase di realizzazione.
Le organizzazioni danno sempre più priorità all’infrastruttura delle applicazioni legacy
Le applicazioni aziendali rimangono una priorità assoluta per la modernizzazione
Cosa stanno facendo le organizzazioni per affrontare le sfide della modernizzazione?
La complessità domina le principali sfide organizzative secondo il 48% degli intervistati. Nelle prime fasi della modernizzazione delle applicazioni la percentuale è ancora più alta (58%), così come la determinazione dell’approccio giusto, con il 55%. In ogni caso, anche oltre le fasi iniziali, si trova ancora in cima alla lista con il 41%.
Tuttavia, le aziende stanno prendendo provvedimenti per affrontare le sfide sia a livello organizzativo che individuale. I risultati quantitativi del nostro sondaggio sottolineano in modo analogo la pianificazione anticipata e l’approccio sistematico, con la ricerca/adozione di strumenti aggiuntivi, lo sviluppo guidato dalle API, la creazione di un business case e l’implementazione di pratiche DevOps in cima alla lista delle azioni intraprese dalle loro organizzazioni in risposta alle sfide della modernizzazione.
Sfide principali – individuo vs. organizzazione
Le organizzazioni stanno agendo per affrontare le sfide
L’IA svolge un ruolo importante ed emergente nella modernizzazione delle applicazioni
Sarebbe probabilmente sorprendente se l’IA non entrasse in qualche modo nella modernizzazione delle applicazioni, dato il suo ruolo emergente in molte aree dell’IT e non solo. Oltre il 75% delle organizzazioni intervistate la sta utilizzando per supportare il processo di modernizzazione delle applicazioni. L’utilizzo dell’IA per facilitare la modernizzazione è il più comune (53%), ma un numero significativo di imprese (42%) sta anche, o in alternativa, aggiungendo l’IA alle applicazioni legacy esistenti per modernizzarle.
L’ottimizzazione delle prestazioni è il caso d’uso più comune con un margine significativo – i sistemi distribuiti complessi superano sempre più la capacità delle persone di metterli a punto manualmente in modo efficace, da qui l’AIOps. Tuttavia, anche l’automazione delle attività manuali in generale e dei test/QA in particolare sono ruoli importanti per l’IA. L’assistenza diretta alla scrittura del codice, invece, sembra essere ancora in fase nascente, meno citata rispetto ad altri utilizzi, nonostante il fermento (e talvolta la polemica) intorno ai modelli linguistici di grandi dimensioni (LLM) in molti ambienti di sviluppatori.
Nel complesso, la maggior parte delle organizzazioni sta già utilizzando l’IA per supportare la modernizzazione delle applicazioni e l’attività è abbastanza coerente tra le varie aree geografiche.
Ruolo emergente dell’IA nella modernizzazione delle applicazioni
Cosa significa questo per i clienti?
I nostri intervistati hanno avuto alcuni validi consigli da offrire, sia per iniziare che per mantenere i progetti in carreggiata lungo il percorso.
Tra i temi affrontati dai decision maker, dagli architetti e dagli sviluppatori, vi sono la pianificazione anticipata, gli approcci incrementali e la presenza di un team giusto e ben equipaggiato.
Nel complesso, sono emersi alcuni chiari temi comuni: avere un obiettivo concreto, pianificare, attivare il team giusto ed effettuare un monitoraggio costante, che comprenda la scansione delle vulnerabilità. È interessante notare che l’assunzione di esperti in materia e l’erogazione di formazione aggiuntiva non sono state le priorità riscontrate in altri sondaggi. Uno dei motivi è che gli intervistati sembrano concentrarsi maggiormente sull’outsourcing, come i servizi gestiti, e sulla consultazione di comunità e fornitori sulle best practice. Le competenze sono ancora importanti. Ma conta anche appoggiarsi a competenze e capacità di terzi, quando sono disponibili e appropriate.
Principali risultati da trarre
Consigli per chi inizia la modernizzazione delle applicazioni
Informazioni sul sondaggio
Red Hat, membro della comunità Konveyor, ha collaborato con la società di ricerca Illuminas per capire meglio come le aziende intendono affrontare la modernizzazione e la migrazione delle applicazioni e come definiscono il successo in questo ambito. Sono state raccolte 1.000 risposte, di cui la metà provenienti dagli Stati Uniti e il resto suddivise equamente tra Regno Unito (UK) e paesi APAC di lingua inglese. Metà degli intervistati erano decisori IT, un quarto sviluppatori back-end e un quarto architetti software. La maggior parte degli intervistati rappresentava grandi imprese con più di 5.000 dipendenti, mentre il resto lavorava per imprese di dimensioni medie, il tutto in rappresentanza di diversi settori, tra cui vendita al dettaglio, sviluppo software, finanza e telecomunicazioni.
Questo sondaggio è stato condotto nei mesi di ottobre e novembre del 2023. Una versione precedente era stata condotta nel 2021. Molti risultati sono simili nelle due indagini. Tuttavia, poiché abbiamo apportato diverse modifiche alla metodologia, in caso di differenze ci limiteremo a evidenziare alcuni cambiamenti principali.
di Gordon Haff, Technology Advocate di Red Hat