Cos'è la migrazione delle applicazioni?

Copia URL

La migrazione delle applicazioni è un processo capace di migliorare i carichi di lavoro trasferendo un'applicazione da un ambiente all'altro. Per fare alcuni esempi comuni, si potrebbe eseguire la migrazione da un ambiente cloud o da un datacenter all'altro, da un cloud pubblico a un servizio cloud privato o ibrido o ancora da un datacenter on premise a un provider cloud.

La migrazione verso il cloud implica il trasferimento di dati e applicazioni da un datacenter on premise a un'infrastruttura cloud o da un ambiente cloud all'altro e in questo caso si parla di migrazione da cloud a cloud. Il trasferimento delle applicazioni potrebbe richiederne anche la parziale modifica, in modo che possano essere distribuite o funzionare in modo più efficace nell'ambiente cloud. La migrazione dei dati, infine, prevede il trasferimento di dati da un sistema di storage o da un ambiente di elaborazione all'altro.

Pianifica la modernizzazione e migrazione delle tue app

Per eseguire la migrazione delle applicazioni esistono diversi modelli o percorsi:

Ritiro/sostituzione: a volte è più semplice smettere di utilizzare un'applicazione e introdurne una nuova. Questa soluzione potrebbe essere adottata se l'applicazione non offre più molti vantaggi, se le funzionalità di cui è dotata sono disponibili altrove o perché è più conveniente sostituirla, magari con una piattaforma Software as a Service (SaaS), che eseguirne la migrazione.

Rehosting: detto anche lift and shift, è il processo di trasferimento di un'applicazione da un server on premise a una macchina virtuale nel cloud senza apportare modifiche importanti, ed è spesso la procedura di migrazione più rapida ed economica. Non subendo modifiche, tuttavia, le applicazioni oggetto della migrazione non possono sfruttare le funzionalità di elaborazione cloud native, causando in conclusione costi a lungo termine. 

Cambio di piattaforma: questa procedura introduce piccoli aggiornamenti alle applicazioni, ad esempio la modifica dei sistemi operativi per consentirne il funzionamento con un database gestito cloud native.

Refactoring: noto anche come riprogettazione, prevede la modifica sostanziale delle applicazioni, ad esempio la ricodifica di parti di codice, in modo che l'applicazione sia dotata di funzionalità cloud native.

Riscrittura: anche detta ricostruzione, indica il processo con cui l'applicazione viene riscritta per essere adattata al cloud.

Risorse da Red Hat

Sebbene i vantaggi della migrazione delle applicazioni nel cloud, ad esempio il miglioramento dell'efficienza operativa, l'accelerazione dei tempi di distribuzione e la riduzione dei costi, siano numerosi, persistono ancora alcune sfide da affrontare:

Costi: senza un'attenta pianificazione si può incorrere in spese impreviste. Per non superare il budget preventivato, i team devono considerare, tra gli altri, i costi operativi, quelli delle nuove licenze o le spese per la formazione all'uso dei nuovi strumenti. 

Downtime: se si introducono modifiche importanti a un'applicazione, possono emergere problemi che si traducono in downtime imprevisti.

Complessità tecnica: le dipendenze da altre applicazioni e servizi possono complicare il refactoring o il cambio di piattaforma, aumentando le difficoltà e dilatando i tempi di migrazione. Data la complessità delle operazioni coinvolte, inoltre, è possibile che i dipendenti dell'azienda non dispongano delle competenze necessarie per eseguire questa procedura in modo efficiente.

Modifiche alla gestione: a seconda dell'utilizzo che le organizzazioni fanno delle applicazioni, possono presentarsi problemi che rallentano le iniziative di migrazione.

Licenze e conformità: è importante saper gestire correttamente le licenze software. È buona prassi tenere traccia delle applicazioni aziendali e prendere nota delle licenze relative al cloud computing. Inoltre, durante il passaggio al cloud, è necessario che i dati siano protetti in conformità alle normative governative e di settore.

La migrazione è un'opportunità per aumentare la flessibilità, semplificare la manutenzione e migliorare le prestazioni delle applicazioni. Può rivelarsi indispensabile per diversi motivi, come la modernizzazione e la containerizzazione, il debito tecnico e l'innovazione.

Le organizzazioni che analizzano le difficoltà operative di un'applicazione e desiderano migliorarla devono considerare diversi aspetti:

Complessità: l'applicazione è stata sviluppata internamente all'azienda? Da quanto tempo viene utilizzata? Quante altre applicazioni o flussi di lavoro dipendono dall'applicazione?

Criticità: quanti utenti utilizzano quotidianamente questa applicazione? Chi la gestisce? Quali tempi di fermo è in grado di tollerare l'azienda? L'applicazione viene utilizzata in produzione, sviluppo, test o in tutti e tre gli ambienti?

Conformità: a quali normative deve essere conforme l'applicazione?

Disponibilità: quali standard di uptime deve soddisfare l'applicazione?

Una volta individuato il motivo per cui eseguire la migrazione, è possibile avviare il processo in quattro fasi, seguendo le procedure consigliate.

Valutazione delle applicazioni
In questa prima fase avviene una valutazione approfondita del portfolio di applicazioni, includendo infrastruttura IT, sistemi esistenti e limiti che potrebbero influire sulla migrazione. Occorre inoltre preparare l'ambiente server di destinazione tenendo conto dei requisiti specifici relativi a conformità, scalabilità ed esigenze aziendali. La fase di valutazione è fondamentale per identificare le app già predisposte al cloud e quelle che dovranno essere modificate. 

Valutazione degli aspetti organizzativi
Una volta valutate le applicazioni, è necessario collaborare con i team interessati, che potranno partecipare alla pianificazione e acquisire maggiore consapevolezza degli effetti della migrazione sul proprio lavoro e sui processi aziendali esistenti. In questa fase la comunicazione è fondamentale.

Scelta del modello di migrazione ed elaborazione di una strategia
In questa fase, le applicazioni possono essere suddivise in gruppi, per procedere con una migrazione a blocchi. È importante documentare ciascuna fase in modo che tutti i team siano aggiornati e dispongano della documentazione di supporto. 

Automazione e test 
Per incrementare l'efficienza, le organizzazioni dovrebbero automatizzare i modelli ripetuti, allo scopo di accelerare il processo di migrazione, ridurre i rischi e risparmiare denaro. Una volta completata la migrazione, è necessario eseguire test per stabilire se la procedura è stata eseguita correttamente.

Red Hat® OpenShift® semplifica l'intero ciclo di vita dello sviluppo dell'applicazione, dalla creazione e alla distribuzione fino all'esecuzione e alla gestione. Riduce le complessità legate alla modernizzazione e alla migrazione delle applicazioni, come la creazione e il rinnovamento con IA su ambienti ibridi e multicloud, per garantire più efficienza e produttività ai team di sviluppo e operativi IT.

Se Red Hat OpenShift è uno strumento utile per la migrazione delle applicazioni, Red Hat OpenShift Virtualization, una funzionalità contenuta al suo interno, consente ai team IT di eseguire le macchine virtuali insieme ai container, semplificando la gestione e accorciando i tempi di messa in produzione.  Con la migrazione e gestione delle macchine virtuali in un'unica piattaforma coerente eseguita on premise, nel cloud pubblico e all'edge, le organizzazioni possono ridurre la complessità operativa. Possono inoltre avvalersi di un'unica interfaccia di gestione e di un set di strumenti di sviluppo e operativi che trasferiscono i vantaggi di OpenShift e Kubernetes alle applicazioni in esecuzione sulle macchine virtuali.

Red Hat Application Foundations include il toolkit per la migrazione delle applicazioni che permette ai team di sviluppo di valutare, pianificare e progettare i processi di modernizzazione e integrare le applicazioni con le nuove e moderne architetture cloud native, senza compromettere le attività o l'esperienza dell'utente. È possibile utilizzarla sia con applicazioni in esecuzione on premise che con quelle in ambienti cloud. Se affiancata a OpenShift, si ottiene a una piattaforma capace di semplificare l'esecuzione lungo tutto il ciclo di vita dell'applicazione.

Scopri di più sulla migrazione delle applicazioni

Hub

Il blog ufficiale di Red Hat

Leggi gli articoli del blog di Red Hat per scoprire novità e consigli utili sulle nostre tecnologie, e avere aggiornamenti sul nostro ecosistema di clienti, partner e community.

Tutte le versioni di prova dei prodotti Red Hat

Grazie alle versioni di prova gratuite dei prodotti Red Hat potrai acquisire esperienza pratica, prepararti per le certificazioni o capire se il prodotto che hai scelto è giusto per le esigenze della tua organizzazione.

Continua a leggere

Cloud computing: Red Hat OpenShift per gli ingegneri della piattaforma

Red Hat OpenShift offre gli strumenti di progettazione delle piattaforme ideali per creare e gestire le Internal Developer Platform (IDP).

Integrated Development Environment (IDE)

Un IDE, o ambiente di sviluppo integrato, è un software progettato per la realizzazione di applicazioni che aggrega strumenti di sviluppo comuni in un'unica interfaccia utente grafica.

Cos'è il serverless computing?

Il serverless computing è un modello di sviluppo cloud native che consente agli sviluppatori di creare ed eseguire applicazioni senza gestire i server.

Sviluppo e distribuzione delle applicazioni: risorse consigliate