Cos'è la modernizzazione delle applicazioni?
Oggi, la modernizzazione delle applicazioni si riferisce principalmente alla trasformazione di applicazioni legacy monolitiche in applicazioni cloud basate su un'architettura di microservizi.
Iscriviti alla newsletter di IBM Esplora IBM Turbonomic
Sfondo nero e blu
Cos'è la modernizzazione delle applicazioni?

La modernizzazione delle applicazioni è il processo di prendere le applicazioni legacy esistenti e di modernizzarne l'infrastruttura della piattaforma, l'architettura interna e/o le funzioni. La discussione sulla modernizzazione delle applicazioni oggi è focalizzata prevalentemente sulle applicazioni monolitiche e on-premise - di norma aggiornate e gestite utilizzando processi di sviluppo waterfall - e su come tali applicazioni possano essere trasferite nell'architettura cloud e nei pattern di release, vale a dire i microserviziDevOps.

I vantaggi della modernizzazione delle applicazioni possono essere in genere sintetizzati come un miglioramento della velocità nella fornitura di nuove funzioni, l'esposizione della funzionalità di applicazioni esistenti perché vengano utilizzate tramite API da altri servizi e il trasferimento della piattaforma delle applicazioni da ambienti on-premise al cloud ai fini della scalabilità e delle prestazioni delle applicazioni e per una strategia di data center e IT a lungo termine.

Le sfide con la modernizzazione delle applicazioni di norma si riducono sostanzialmente a costo e complessità. Spostare un'applicazione da ambienti on-premise al cloud senza prestare attenzione al ROI significa spostare le applicazioni tanto per farlo. Altre applicazioni potrebbero invece trarre vantaggio in modo significativo dal trasferimento della piattaforma o dalla riprogettazione dell'architettura, ma sono così strettamente connesse ai sistemi e all'architettura esistenti che la complessità della modernizzazione potrebbe superare i vantaggi.

La chiave per il successo nella modernizzazione delle applicazioni, come per la maggior parte delle cose, si riduce alla fine a una questione di strategia e alla scelta di progetti di modernizzazione delle applicazioni in cui i vantaggi di cloud, velocità, prestazioni, scalabilità, sviluppo di nuove funzioni e così via siano tali da offrire all'applicazione in questione un chiaro percorso verso un'esperienza cliente e un ROI migliorati.

Scopri come IBM può aiutarti a modernizzare le applicazioni più velocemente
Perché modernizzare le applicazioni legacy?

Le applicazioni legacy sono anche spesso delle applicazioni monolitiche. Le applicazioni monolitiche hanno due caratteristiche che ne rendono desiderabile la modernizzazione: è difficile aggiornarle ed è difficile e costoso eseguirne la scalabilità.

Le applicazioni monolitiche sono difficili da aggiornare per motivi architetturali. Siccome tutti i componenti di un'applicazione sono forniti nel loro insieme, è difficile e costoso aggiungervi funzioni, tenendo conto del sovraccarico dovuto alle problematiche derivanti da complessità e integrazione.

Per motivi analoghi sono anche difficili e costose da scalare. Se anche un solo componente di un'applicazione deve affrontare sfide di carico e prestazioni, può diventare necessario eseguire la scalabilità verticale dell'intera applicazione solo per soddisfare il singolo componente più esigente. Questo approccio si accompagna a un notevole spreco di risorse di calcolo.

Modernizzando un'applicazione e rendendola più simile ad un'architettura di microservizi, i componenti in gioco sono più piccoli, accoppiati in modo lasco ed è possibile eseguirne l'implementazione e la scalabilità indipendentemente l'uno dall'altro. Sebbene introduca una sua serie di sfide, questo approccio rappresenta in buona misura il fulcro del valore offerto dalla modernizzazione.

Il seguente video fornisce ulteriori spiegazioni sulle architetture di microservizi:

Valutazioni sulla modernizzazione delle applicazioni

Il modo più efficace per iniziare qualsiasi progetto di modernizzazione delle applicazioni è con una valutazione dell'applicazione. Inventariare ciò che hai è quasi sempre uno dei modi più ovvi per iniziare praticamente qualsiasi trasformazione come questa.

Una volta preparato un elenco, puoi iniziare a tracciare tutte queste applicazioni su un sistema di assi x e y indicanti semplicità/difficoltà e potenziale aumento di valore in caso di modernizzazione. Puoi anche pensare al valore "potenziale" come alla misura di quanto l'applicazione ricopra un ruolo critico per l'esperienza cliente e per il futuro della tua organizzazione.

Le applicazioni che rientrano nel quadrante superiore destro di questa griglia di elevato valore e basso sforzo saranno i candidati più ovvi e meno controversi con cui iniziare un progetto di modernizzazione di un'applicazione.

Le decisioni più complicate si concentreranno sulle applicazioni ad alto valore che sono difficili da spostare. Per queste applicazioni, inoltre, non sarà neanche necessario adottare una strategia tutto-o-niente fin dall'inizio. In questi casi, esistono degli approcci alla modernizzazione delle applicazioni che possono ridurre i rischi e i costi continuando al contempo a spostare il tuo portfolio nella giusta direzione.

Pattern di modernizzazione delle applicazioni

Esistono svariati approcci ben noti alla modernizzazione delle applicazioni che si concentrano su una combinazione della piattaforma, dell'architettura dell'applicazione e sull'esposizione della funzionalità di un'applicazione tramite API.

Dalle applicazioni monolitiche ai microservizi. Il pattern più comune di modernizzazione delle applicazioni comporta il refactoring e la suddivisione di un'applicazione monolitica in un insieme di piccoli microservizi accoppiati in modo lasco.

Nell'esempio precedente di architetture di microservizi, un'applicazione di vendita al dettaglio viene suddivisa da una singola applicazione a più livelli in una raccolta di microservizi di tutti i singoli servizi all'interno dell'applicazione, ciascuno con il suo database e il suo modello di dati.

Un approccio in questo spazio è noto come "strangler pattern". Invece di suddividere l'applicazione monolitica in un'unica volta, lo "strangler pattern" prevede di suddividere l'applicazione poco a poco, estraendo prima le parti più facili e preziose, in modo che, man mano che questo approccio progredisce, non resti nulla dell'applicazione monolitica.

Migrazione al cloudSpesso parte del refactoring verso i microservizi, lo spostamento a un'altra piattaforma oppure a un altro host delle applicazioni è quasi sempre parte del processo di modernizzazione. Sebbene sia possibile semplicemente eseguire il lift-and-shift delle applicazioni senza procedere a una riscrittura sostanziale, è più frequente che il valore si trovi nella ristrutturazione dell'applicazione per avvalersi al meglio dei modelli cloud, spesso sfruttando i container e Kubernetes. (Scopri di più sulla migrazione al cloud).

Esponi la funzionalità tramite API

Infine, un altro approccio alla modernizzazione può prevedere di lasciare un'applicazione intatta ma di esporne in modo sicuro le funzioni o i dati tramite le API. Questo approccio, basato in misura più ampia sull'integrazione che sulla migrazione, consente alle nuove applicazioni native del cloud di avvalersi semplicemente delle funzionalità dei sistemi e dei dati esistenti.

Tecnologie chiave per la modernizzazione delle applicazioni

È disponibile un ampio portfolio di tecnologie che può facilitare i processi di modernizzazione che la maggior parte delle organizzazioni sta affrontando.

Cloud privato, cloud ibrido e multicloud

Sebbene il cloud pubblico sia una parte fondamentale di qualsiasi strategia di modernizzazione, le strategie basate su cloud privato, ibridomulticloud sono anch'esse di importanza fondamentale per motivi di sicurezza, latenza e architetturali.

Per diverse ragioni, un'organizzazione potrebbe non essere pronta a passare direttamente dal data center al cloud pubblico, e gli altri modelli cloud possono contribuire a risolvere la complessità architetturale delle politiche associata a dove determinati carichi di lavoro devono risiedere in base alle loro caratteristiche univoche.

Container e Kubernetes

I container e Kubernetes si sono affermati non solo come una valida alternativa alle VM come una forma di calcolo per tutti gli usi nel cloud ma come catalizzatori essenziali delle strategie di modernizzazione delle applicazioni e di cloud ibrido.

La containerizzazione consente di impacchettare un'applicazione in modi coerenti e leggeri così da consentirne l'esecuzione coerente in ambienti desktop, cloud oppure on-premise. Questo tipo di flessibilità è un vero vantaggio per le organizzazioni che stanno tracciando il loro percorso verso il cloud.

Soluzioni correlate
Red Hat OpenShift on IBM Cloud

Con Red Hat OpenShift on IBM Cloud, gli sviluppatori OpenShift hanno a disposizione un modo rapido e sicuro per containerizzare e implementare i carichi di lavoro aziendali nei cluster Kubernetes.

Esplora Red Hat OpenShift on IBM Cloud
IBM WebSphere Hybrid Edition

WebSphere Hybrid Edition è la raccolta completa degli strumenti di modernizzazione e di runtime delle applicazioni WebSphere che fornisce il supporto per le implementazioni on-premise e sui cloud pubblici principali, nelle VM, nei container e in Kubernetes.

Esplora WebSphere Hybrid Edition
Modernizzazione delle infrastrutture IT

La modernizzazione delle applicazioni richiede un'infrastruttura moderna. Modernizza applicazioni, server e storage in loco per eseguire un'integrazione senza soluzione di continuità con il cloud ibrido e fungere da tuo data center per tutto quanto è correlato all'AI.

Esplora la modernizzazione delle infrastrutture IT
Risorse Traccia il tuo percorso verso un portfolio di applicazioni pronto per il futuro

Realizza i primi successi della modernizzazione identificando le applicazioni al centro della tua attività e modernizzando le loro dipendenze chiave.

Guida pratica alla modernizzazione delle applicazioni

Scopri come accelerare la tua modernizzazione delle applicazioni, migliorare la produttività degli sviluppatori e migliorare l'efficienza e la standardizzazione operativa.

Cos'è Kubernetes?

Kubernetes è una piattaforma di orchestrazione dei container open source che automatizza l'implementazione, la gestione e la scalabilità delle applicazioni containerizzate.

Passa alla fase successiva

Lascia che IBM fornisca le competenze e gli strumenti di modernizzazione delle applicazioni di cui il tuo team ha bisogno per promuovere l'innovazione e far progredire il tuo business. I nostri oltre 100.000 esperti e consulenti sono pronti ad aiutarti a riprogettare processi, applicazioni e infrastrutture cloud. Oltre 20.000 cluster di produzione Kubernetes sono in esecuzione su IBM Cloud e oltre 3.200 clienti si affidano a IBM Software sulla piattaforma cloud Red Hat.                                                   

Scegli una sfida e inizia