Application modernization: cos'è e come rivoluziona le aziende

In questi ultimi anni, la diffusione di piattaforme e dispositivi digitali per la comunicazione, la collaborazione e l’automazione delle attività connesse alla vita in ufficio (dalla gestione del parco macchine alla prenotazione dei desk) hanno spinto organizzazioni d’ogni tipo ad adottare strategie di application modernization per ottimizzare i processi, facilitare il lavoro e tenere il passo con i competitor e il mercato. Come spiega la società di ricerche di mercato Gartner, i servizi di application modernization si propongono d’indirizzare la migrazione dei sistemi legacy verso nuove applicazioni o piattaforme, includendo l’integrazione di nuove caratteristiche, per fornire al business le funzionalità più recenti, digitalizzare e/o automatizzare i processi.
Ciò significa, nel concreto, pianificare una serie di operazioni possibili sul parco applicativo:
- Re-hosting: l'applicazione è migrata su una diversa infrastruttura, ad esempio il cloud, senza modifiche al codice;
- Replatforming: l'applicazione è adattata a una nuova piattaforma con modifiche minime, senza modifiche alle funzionalità esistenti, al fine di massimizzare le potenzialità della nuova piattaforma;
- Rebuild: il codice viene parzialmente riscritto per migliorare le funzionalità o le performance;
- Re-architecting: al fine di sfruttare nuove tecnologie o piattaforme, l’applicazione viene ridisegnata, ad esempio in ottica di microservizi;
- Re-factoring: l’applicazione è completamente re-ingegnerizzata;
- Retire: fra le varie possibilità vi è anche la dismissione completa dell’applicazione che, come per le altre possibilità, è valutata in funzione del rapporto costo/beneficio rispetto al business dell’azienda;
- Repurchase: l'applicazione viene sostituita con una acquistata sul mercato. Il cloud consente l'acquisizione in modalità SaaS - Software as a Service, evitando soluzioni on-premise.
L’approccio “7R” appena descritto è utilizzato dalle aziende per individuare se e come modernizzare le applicazioni. Non si tratta di una scelta rigida tra uno o l’altra opzione: una survey della community Konveyor mostra, infatti, che l’approccio migliore prevede una gradualità di intervento, in un’ottica di processo continuo di modernizzazione: un approccio adottato dal 52% delle aziende intervistate.
Quai sono i benefici dell’Application Modenization
Gli investimenti richiesti da questo tipo di iniziative sono importanti, e presuppongono decisioni strategiche a livello economico, organizzativo e tecnologico; perciò, è fondamentale misurare il beneficio per il business aziendale.
Grazie, in particolare all’utilizzo del cloud, l’Application Modernization consente alle aziende di ottenere una serie di vantaggi:
- Customer Experience. Le interfacce utente moderne sono più intuitive e garantiscono un’esperienza d’uso in linea con le aspettative dell’utente.
- I sistemi legacy sono più vulnerabili e offrono maggiori superfici di attacco. Modernizzando le applicazioni, si implementano protocolli di sicurezza più aggiornati.
- Risparmio. La migrazione al cloud genera un risparmio in termini di manutenzione hardware e software. Tuttavia, il risparmio maggiore si ha con la riscrittura parziale o totale delle applicazioni: la revisione consente, infatti, di ottimizzare l’utilizzo delle risorse del cloud rispetto a un semplice re-hosting, che risulterebbe altamente inefficiente.
- Performance. Le applicazioni possono scalare facilmente e assorbire le variazioni di carico, grazie soprattutto al cloud e ai microservizi. L'ottimizzazione del codice applicativo (nuovi linguaggi di programmazione, database, ecc.), velocizza le applicazioni.
- Integrazione. Lo sviluppo applicativo moderno prevede sempre più l’utilizzo di funzionalità di svariati fornitori terzi o open source. Tale modello di sviluppo è favorito dalla presenza sempre più diffusa di servizi di integrazione specifici e middleware appositi, che agevolano la connessione tra le applicazioni.
- Abilitazione all’innovazione: l’Application Modernization permette anche di rivedere le esigenze di business e di capire come queste possano essere potenziate con l’introduzione di funzionalità basate su Generative AI.
A tali benefici, che sono facilmente misurabili, si aggiungono quelli indiretti, legati alla maggiore velocità del time to market (velocità di sviluppo e di rilascio in produzione), allo snellimento dei team IT, allo svecchiamento della cultura aziendale e ad una migliore brand reputation.
Più agilità per il business: application modernization e SaaS
Tra le più impellenti esigenze aziendali, troviamo, oggi, quella di snellire la gestione delle tradizionali applicazioni legacy, spesso monolitiche, che si sono stratificate e consolidate nel tempo nei data center aziendali. La modernizzazione delle applicazioni del business consente, infatti, di adeguarsi ai moderni requisiti di velocità, scalabilità, flessibilità, modularità, modificabilità e aggiunta di nuove funzionalità richiesti dalla trasformazione digitale. Secondo un report di Grand View Research, il fatturato globale dei servizi di Application Modernization è destinato a crescere con un tasso composito (CAGR) del 16,7% dal 2024 al 2030 . Ma soprattutto, gli analisti affermano che la crescita sarà guidata primariamente dalla cybersecurity e dalla compliance normativa.
Application Modernization: come si fa
L’Application Modernization non è un’operazione massiva, eseguita indistintamente su tutto il parco applicativo. Gli investimenti sottesi sono significativi e la selezione delle applicazioni è un’attività strategica a tutti gli effetti, in cui confluiscono le necessità aziendali a diversi livelli: esigenze del business, problemi di sicurezza, aggiornamento tecnologico, ecc.
Nella scelta delle applicazioni da modernizzare, occorre considerare con attenzione alcune caratteristiche fondamentali:
- Valore di business. Bisogna comprendere se l’applicazione supporta processi core dell'azienda, se è generatrice di profitto in modo diretto o indiretto, o se porta un vantaggio competitivo rispetto ai concorrenti.
- Strategia digitale. A prescindere dal valore diretto di business, le applicazioni rivestono un’importanza strategica per la Digital Transformation dell’azienda.
- Stato di salute. Se l’applicazione, in relazione al target di utenti e alla frequenza di utilizzo, è obsoleta, poco usabile, con problemi di performance o con un effort di manutenzione elevato, può arrecare danni sia economici che di Customer Experience. La cybersecurity e la conformità normativa entrano in gioco nella valutazione dello stato di salute complessivo delle applicazioni.
- Data-driven. I dati sono, sempre di più, il criterio per orientare le scelte strategiche. Di conseguenza, la scelta delle applicazioni da modernizzare va fatta tenendo conto del rapporto tra i dati disponibili e le applicazioni stesse.
È fondamentale sottolineare, in questo contesto, l’importanza del fornitore. Il partner che accompagna l’azienda nel processo di Application Modernization deve essere in grado di entrare nel dominio di business (conoscenza del mercato) e proporre soluzioni sostenibili per la gestione dei costi (FinOps). In questo contesto ha un ruolo determinante la scelta della tecnologia. È indubbio che il cloud, come detto, sia il pillar dell’Application Modernization, ed è per questo che la scelta delle tecnologie disponibili, come, ad esempio, Microsoft Azure o Amazon Web Services (AWS), è strategica, in quanto condiziona lo sviluppo futuro e la scelta delle altre tecnologie necessarie: containerizzazione e orchestrazione (Kubernetes); sviluppo a microservizi e serverless (AWS Lambda, Azure Functions); DevOps e CI/CD – Continuous Integration/Continuous Development.
Application Modernization del business: le best practice
In aggiunta, i dati indicano che gli interventi di modernizzazione si stanno focalizzando sulle applicazioni enterprise che stanno al cuore del business. Sempre secondo Konveyor, è questa la principale priorità (41%), seguita a ruota dalle applicazioni di Business Intelligence e Analytics. La ricerca conferma quanto detto in apertura: il business è il driver fondamentale, sia nel supporto diretto (applicazioni core), sia nelle analisi per ampliarlo (BI e Analytics). Non è sufficiente, tuttavia, utilizzare l’appartenenza al business aziendale come criterio unico. Per assicurare il successo delle attività, è opportuno che le iniziative di Application Modernization seguano queste 5 best practice:
- Definire le applicazioni prioritarie. Una ricerca approfondita sulle applicazioni esistenti e le loro interdipendenze fornisce un elenco ragionato delle priorità.
- Settare obiettivi minimi. L’intero processo di modernizzazione va scomposto in obiettivi minimi incrementali, al fine di assicurare la raggiungibilità degli stessi.
- Assicurare la portabilità futura. Nel momento in cui l’applicazione viene migrata (o reingegnerizzata), occorre assicurare la portabilità verso piattaforme diverse, al fine di massimizzare i benefici della modernizzazione.
- Garantire sicurezza e governance. Integrare la sicurezza nella progettazione e implementare politiche consistenti di governance per la manutenzione evolutiva è fondamentale.
- Monitorare il business. I KPI – Key Performance Indicator di business misurano il beneficio degli interventi tecnologici rispetto alle attività core dell’azienda. Il controllo di tali valori, insieme a quelli puramente tecnologici, misura il ritorno degli investimenti effettuati.
Una discorso a parte va fatto per il mondo legacy. Vi è un gap culturale e tecnologico sempre più ampio tra i sistemi tradizionali e le architetture moderne. Il rischio, di conseguenza, è che in fase di modernizzazione non vi sia una conoscenza sufficiente delle applicazioni legacy e delle loro interdipendenze, aggravata da una possibile resistenza al cambiamento. È una situazione che può determinare il fallimento delle iniziative e che va, perciò, indirizzata in modo opportuno. La strategia principale è quella di formare un team con competenze adeguate e fortemente collaborativo, con un commitment forte da parte del management aziendale. Occorre, pertanto, individuare, oltre agli specialisti delle nuove architetture (Cloud Architect, DevOps Engineer, Data Engineer, Securuty Engineer), anche le figure legacy (System Developer, Database Administrator, Enterprise Arcitect, Middleware Specialist, Network Specialist).
L’importanza del FinOps
È indubbio, quindi, che il successo dell’Application Modernization si misuri soprattutto (anche se non in modo esclusivo), con l’incremento del business e la riduzione dei costi. In tale contesto assume un ruolo chiave il FinOps, ovvero la gestione finanziaria dei consumi del cloud. La necessità di risorse elaborative, se adeguatamente formalizzata, monitorata e pianificata da parte dei diversi team, può essere gestita in modo ottimale da parte dell’azienda, e negoziata con il fornitore, generando risparmi significativi. È possibile, ad esempio, erogare le risorse in modo dinamico, secondo le necessità delle singole applicazioni, o sfruttare particolari offerte del fornitore nel periodo di riferimento. In tal modo, gli indicatori economici tradizionali, quali, ad esempio, il TCO – Total Cost of Ownership, o il Cost per Transaction, divengono più raffinati e permettono di misurare in modo preciso il beneficio economico dell’Application Modernization.