Cos'è la migrazione delle applicazioni?
La migrazione delle applicazioni è il processo di spostamento di un'applicazione da un ambiente informatico a un altro.
Banner grafico di IBM Cloud
Cos'è la migrazione delle applicazioni?

La migrazione delle applicazioni è il processo di spostamento di un'applicazione software da un ambiente informatico a un altro. Potresti, ad esempio, migrare un'applicazione da un data center a un altro, da un server on-premise all'ambiente di un provider cloud o da un ambiente di cloud pubblico a uno di cloud privato.

Poiché le applicazioni sono tipicamente costruite per essere eseguite su precisi sistemi operativi in architetture di rete specifiche o sviluppate per una singola piattaforma cloud, spostare un'applicazione in un nuovo ambiente può presentare diverse sfide. Di solito è più facile migrare le applicazioni da architetture virtualizzate o basate sui servizi che quelle in esecuzione su hardware bare metal.

La determinazione di una strategia globale di migrazione delle applicazioni implica la considerazione delle dipendenze e dei requisiti tecnici di ogni singola applicazione, nonché della sicurezza, della conformità e dei vincoli economici dell'azienda.

Applicazioni diverse possono seguire percorsi diversi verso il cloud, anche all'interno dello stesso ambiente tecnologico. Fin dai primi giorni del cloud computing, gli sviluppatori si sono riferiti a questi modelli di migrazione delle applicazioni con nomi che iniziano con "R".

Rehosting: noto anche come lift-and-shift, si tratta di una strategia diffusa in cui l'azienda sposta l'applicazione da un server on-premise ad una  VM nel cloud senza apportare modifiche significative. Il rehosting delle applicazioni è di solito più veloce di altre strategie di migrazione e può ridurre significativamente i costi di migrazione. Il rovescio della medaglia è che, senza modifiche, le applicazioni non beneficeranno delle funzionalità di calcolo native del cloud e i costi a lungo termine della loro esecuzione nel cloud potrebbero finire per essere più alti.

Refactoring o rearchitecting: per refactoring si intende apportare modifiche abbastanza significative all'applicazione in modo che possa esserne eseguita la scalabilità o che possa funzionare meglio in un ambiente cloud. Potrebbe comportare la ricodifica di porzioni importanti dell'applicazione in modo che possa sfruttare meglio le funzionalità native del cloud - come la ristrutturazione di un'applicazione monolitica in un insieme di microservizi o la modernizzazione dell'archivio dati da SQL a NoSQL.

Replatforming: il replatforming è una via di mezzo tra il lift-and-shift e il rearchitecting e consiste nell'apportare piccole modifiche a un'applicazione in modo che possa trarre maggiori benefici dall'architettura cloud. Alcuni esempi possono essere l'upgrade dell'applicazione per lavorare con un database gestito nativo del cloud, la modifica dei sistemi o del middleware con cui verrà utilizzata l'applicazione o la containerizzazione dell'applicazione.

Ritiro/rimpiazzo: in alcuni casi, ha semplicemente più senso abbandonare l'applicazione. Questo perché il suo valore è limitato, perché le sue funzionalità sono replicate altrove nell'ambiente, o perché è più conveniente sostituirla con una nuova offerta — spesso una piattaforma  SaaS (Software-as-a-Service)  — che migrare l'applicazione.

Strategia di migrazione delle applicazioni

Per sviluppare la migliore strategia di migrazione delle applicazioni per l'ambiente IT specifico della tua azienda e per le tue esigenze di business, dovrai comprendere esattamente cosa c'è nel tuo portfolio di applicazioni, le specifiche dei tuoi requisiti di sicurezza e conformità, le risorse cloud che stai attualmente consumando e le tue infrastrutture di storage, calcolo e rete on-premise.

Affinché una migrazione al cloud abbia successo, dovrai anche avere le idee chiare sui principali fattori trainanti dell'azienda che la motivano e allineare ad essi la tua strategia. Dovrai essere consapevole del perché stai eseguendo la migrazione al cloud e cosa speri di ottenere con la transizione.

Nel seguente video, Andrea Crawford dà uno sguardo più da vicino alla migrazione al cloud:

Rischi della migrazione delle applicazioni

Le parti interessate possono temere che le migrazioni delle applicazioni possano causare interruzioni dell'attività di business o comportare costi imprevisti. I rischi più comuni includono i seguenti:

  • Sfide tecniche impreviste: ad esempio, un'applicazione può avere un numero talmente elevato di dipendenze che le operazioni di refactoring o replatforming potrebbero essere molto più complesse e lunghe di quanto inizialmente previsto.

  • Costi imprevisti: senza un'adeguata pianificazione, le aziende possono trovarsi di fronte a spese non preventivate, come ad esempio nuovi oneri di licenza o costi di formazione legati all'aggiornamento dei dipendenti sui nuovi strumenti.

  • Tempi di inattività imprevisti: modifiche importanti a un'applicazione possono causare conflitti o problemi che causano tempi di inattività non pianificati, sia per l'applicazione che per i sistemi connessi o dipendenti.

  • Problemi culturali o difficoltà di gestione del cambiamento: organizzazioni diverse usano le applicazioni in modo diverso, e tali differenze possono creare degli attriti che rallentano un progetto di migrazione.

Intraprendere una valutazione attenta e dettagliata dei rischi e dei benefici associati al rehosting, rearchitecting, replatforming o ritiro di tutte le applicazioni nel tuo portfolio può aiutare a mitigare i rischi complessivi associati alla migrazione delle applicazioni. In particolare, è importante confrontare i costi a livello di reparto con il costo totale per l'azienda e valutare il costo totale di proprietà (TCO) di qualsiasi hardware che avresti bisogno di gestire per mantenere le applicazioni on-premise.

Cambiamento dei casi di utilizzo della migrazione delle applicazioni

Negli anni precedenti, le aziende hanno spesso cercato di spostare le applicazioni nel cloud perché desideravano la flessibilità, la scalabilità o la prevedibilità della struttura dei costi con pagamento a consumo offerta dai provider cloud.

Tuttavia, oggi le aziende cercano anche ambienti che consentano l'innovazione. Che questo significhi accedere ai processori ad alte prestazioni necessari per alimentare algoritmi di deep learning o ad applicazioni containerizzate che permettono ai team di sviluppo di migliorare rapidamente le esperienze digitali dei clienti implementando i cambiamenti velocemente, le tecnologie cloud consentono alle aziende di sperimentare, testare nuove idee e "fallire più rapidamente". In molti casi, tecnologie adatte al cloud come la containerizzazione permettono di offrire agli utenti finali esperienze migliori delle VM che potrebbero sostituire.

Fasi della migrazione delle applicazioni

In linea generale, il processo di pianificazione della migrazione delle applicazioni può essere diviso in tre fasi. Per ciascuno di essi, è fondamentale considerare i costi di tutte le opzioni potenziali, compresa la scelta di conservare alcuni carichi di lavoro on-premises.

Identificazione e valutazione delle applicazioni. In questa fase di rilevamento iniziale, devi iniziare accertandoti di disporre di un catalogo completo di tutte le applicazioni nel tuo portfolio. Suddividerai quindi le applicazioni in categorie in base al fatto che abbiano un'importanza critica o meno per l'attività di business e che abbiano un valore strategico o non strategico e in base a cosa ti aspetti dalla migrazione di ciascuna al cloud. Dovrai adoperarti per capire il valore di ogni applicazione in base a queste caratteristiche:

  • Impatto sull'attività di business

  • Capacità di soddisfare esigenze aziendali cruciali

  • Tempestività e importanza dei dati

  • Dimensioni, complessità e gestibilità

  • Costi di manutenzione e sviluppo

  • Valore aggiunto derivante dalla migrazione al cloud

Dovrai quindi condurre una valutazione di affinità al cloud per ogni applicazione che stai pensando di migrare. Durante questo processo, puoi determinare quali applicazioni sono già pronte così come sono e quali avrebbero bisogno di cambiamenti significativi prima di essere rese pronte per il cloud.

Puoi anche impiegare degli strumenti per il rilevamento delle dipendenze tra le applicazioni per poter determinare la fattibilità della migrazione di uno specifico carico di lavoro al di fuori del suo ambiente attuale.

Valutazione del costo totale di proprietà (TCO - total cost of ownership). Determinare il costo totale di un progetto di migrazione al cloud può essere un'impresa complessa. Bisogna confrontare gli scenari ipotetici per mantenere le applicazioni e l'infrastruttura on-premise con quelli associati al loro spostamento nel cloud. Questo significa che dovrai calcolare i costi di acquisto, funzionamento e manutenzione per l'hardware da mantenere on-premise in entrambi gli scenari e i costi di licenza del software.

Dovrai confrontare la fattura mensile che riceveresti dal tuo provider in entrambi gli scenari e i costi della migrazione stessa, compresi i costi di test della nuova infrastruttura e di formazione dei dipendenti per utilizzare il software aggiornato. Non dimenticare di considerare i costi di manutenzione per le applicazioni legacy che rimangono on-premise.

Rischio complessivo e valutazione della durata del progetto. Nella fase finale della pianificazione della migrazione, stabilirai una sequenza temporale per il progetto e identificherai i rischi o le difficoltà più probabili.

Migrazione di applicazioni legacy

In linea generale, più vecchia è l'applicazione e più impegnativa (e di conseguenza, potenzialmente meno conveniente) è la migrazione al cloud. Il software obsoleto è problematico sotto molti aspetti: è costoso da mantenere, può suscitare preoccupazioni in materia di sicurezza se ad esso non si applicano più le patch e tende ad avere prestazioni scarse nei moderni ambienti informatici. Sii particolarmente scrupoloso nella valutazione delle applicazioni legacy prima di decidere di eseguirne la migrazione.

Valutazione delle applicazioni candidate alla migrazione

Quando le organizzazioni valutano la fattibilità e la priorità per la migrazione, vengono presi in considerazione i seguenti problemi.

Complessità:  Dove è stata sviluppata questa applicazione? Se internamente, lo sviluppatore lavora ancora presso l'azienda? La documentazione dell'applicazione è prontamente disponibile? Quanto è vecchia l'applicazione? Per quanto tempo è stata in uso?  Quante altre applicazioni o quanti altri flussi di lavoro all'interno della tua organizzazione dipendono in qualche modo da questa applicazione?

Criticità:  Quanti utenti dipendono quotidianamente da questa applicazione? Su base settimanale?  Quanto tempo di inattività potrebbero tollerare prima che le operazioni aziendali subiscano interruzioni?  L'applicazione viene utilizzata in fase di produzione, sviluppo, test o in tutte e tre le fasi?  È gestita da un team IT interno o da un fornitore esterno?  Esistono altre applicazioni con requisiti di tempo di attività/inattività che devono essere sincronizzate con questa applicazione?

Conformità:  A quali requisiti normativi deve essere conforme l'applicazione?

Disponibilità:  A quali standard di tempo di attività deve conformarsi questa applicazione? Ad esempio, è soggetta a un SLA (Service Level Agreement) che prevede il 99,99% di tempo di attività?

Esecuzione di test

Per assicurarti che nessun dato o funzionalità vada perso durante il processo di migrazione delle applicazioni, dovresti eseguire dei test durante la migrazione per verificare che tutti i dati siano presenti, che l'integrità dei dati sia stata preservata e che i dati siano ora nell'ubicazione di storage corretta.

È anche essenziale condurre test di follow-up dopo che la migrazione è stata completata, valutando le prestazioni delle applicazioni e verificando che i controlli di sicurezza rimangano operativi.

 

Migrazione delle applicazioni tra gli hypervisor

La virtualizzazione  è una componente fondamentale in molte strategie di migrazione al cloud, perché le VM possono essere prontamente eseguite in nuovi ambienti hardware fisici. È anche possibile spostare un'applicazione attiva - in esecuzione su una VM - tra macchine host fisiche senza compromettere l'esperienza dell'utente finale. La flessibilità e la versatilità degli ambienti informatici virtualizzati semplifica in modo significativo il processo di migrazione delle applicazioni.

Tipi di hypervisor e operazioni di migrazione

Diverse soluzioni di replica e migrazione attualmente disponibili permettono ai loro clienti di migrare le VM tra  server bare metal, server virtuali nel cloud cloud e perfino  hypervisor.

  • Migrazione delle applicazioni VMWare:  è possibile eseguire il lift-and-shift di VM in esecuzione su istanze  VMWare on-premise in un VMWare VCenter Server in esecuzione in un cloud privato senza interrompere le operazioni, causare tempi di inattività o richiedere la riconfigurazione delle applicazioni.

  • Migrazione delle applicazioni Red Hat:  Red Hat offre un toolkit per la migrazione delle applicazioni - una soluzione software personalizzabile ed estensibile - che analizza gli ambienti IT per identificare le interdipendenze delle applicazioni. Fornisce una reportistica di analytics in stile dashboard per evidenziare le applicazioni che potrebbero riscontrare dei problemi durante la migrazione.
Servizi di migrazione sul cloud

Sono disponibili molti servizi per aiutare la tua azienda a elaborare la strategia, il piano e l'esecuzione di una migrazione al cloud di successo.

Progetto della migrazione:  nell'ambito di un'offerta completa di servizi di progetto, il tuo fornitore ti aiuterà chiarendo la tua strategia e i tuoi obiettivi di migrazione, raccogliendo informazioni sulle tue applicazioni e sul tuo ambiente, identificando le esigenze dei tuoi utenti e i tuoi requisiti di business e formulando un piano d'azione dettagliato per la tua migrazione.

Implementazione della migrazione:  se scegli un'opzione di implementazione gestita, il tuo fornitore non solo ti aiuterà a elaborare la strategia e la pianificazione della tua migrazione, ma gestirà anche la migrazione stessa e tutti i test e le operazioni di risoluzione dei problemi associati. Si tratta di solito di un'offerta di servizi pronta all'uso che include un supporto completo, end-to-end.

Servizi cloud gestiti:  di norma, un'offerta di servizi cloud gestiti include il monitoraggio e la manutenzione del tuo ambiente IT basato sul cloud. Il tuo provider di servizi cloud gestiti si assumerà la responsabilità di molteplici funzioni, dalla gestione della sicurezza del cloud all'acquisto di offerte as-a-service dai fornitori per tuo conto. La migrazione delle applicazioni può essere inclusa in un'offerta di servizi in pacchetto o aggiunta su una base individuale.

Modernizzazione delle applicazioni:  i servizi di modernizzazione delle applicazioni  includono offerte di sviluppo personalizzate che possono preparare le applicazioni legacy per l'uso nel cloud, modificandole in modo che vengano eseguite in  container  o ambienti virtualizzati.

Soluzioni correlate
Servizi di migrazione sul cloud

IBM Cloud Migration Services ti aiuta a gestire la migrazione del tuo business al cloud così che puoi concentrarti su tutto il resto.

Esplora servizi di migrazione al cloud
Risorse Cos'è il cloud computing?

Il cloud computing trasforma l'infrastruttura IT in un programma di utilità, consentendoti di "collegarti" alle risorse e alle applicazioni informatiche tramite Internet, senza doverle installare e gestire on-premise.

Cos'è la migrazione al cloud?

La migrazione al cloud è il processo di ricollocazione dei dati, delle applicazioni e dei carichi di lavoro di un'organizzazione in un'infrastruttura cloud.

Cosa si intende per modernizzazione di un'applicazione?

Oggi, la modernizzazione delle applicazioni si riferisce principalmente alla trasformazione di applicazioni legacy monolitiche in applicazioni cloud basate su un'architettura di microservizi.

Passa alla fase successiva

IBM Cloud Migration Services ti aiuta a migrare i carichi di lavoro sul cloud per la trasformazione digitale. Supportiamo modelli di rehosting che includono migrazione in blocco, migrazione di immagini, migrazione di applicazioni, rehosting di database, migrazione di dati e migrazione di storage. Il nostro approccio dichiarativo e continuo alla migrazione, con automazione integrata continua in ogni fase, ti aiuta in ogni tappa del tuo percorso di migrazione.

Scopri di più e inizia