Migrazione delle applicazioni
Banner grafico di Cloud IBM
Migrazione delle applicazioni

Scopri come migrare le applicazioni negli attuali ambienti containerizzati e cloud nativi e scopri le best practice per pianificare un progetto vincente per la migrazione delle applicazioni.

Prodotti in evidenza

WebSphere Hybrid Edition


In cosa consiste la migrazione delle applicazioni?

La migrazione delle applicazioni è il processo di spostamento di un'applicazione software da un ambiente informatico a un altro. Ad esempio, si potrebbe migrare un'applicazione da un data center a un altro, da un server on-premises all'ambiente di un cloud provider, o dal cloud pubblico a un ambiente cloud privato.

Poiché le applicazioni sono tipicamente costruite per essere eseguite su particolari sistemi operativi in architetture di rete specifiche o sviluppate per una singola piattaforma cloud, spostare un'applicazione in un nuovo ambiente può comportare una serie di difficoltà. Di solito è più facile migrare le applicazioni da architetture virtualizzate o basate su 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, così come la sicurezza, la conformità e i vincoli economici dell'azienda.

Applicazioni diverse possono prendere strade diverse per arrivare al cloud, anche all'interno dello stesso contesto 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".

  • Rehost: Anche noto come lift-and-shift, questa è una strategia diffusa in cui l'azienda sposta l'applicazione da un server on-premises a una macchina virtuale 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 capacità di calcolo cloud-native e i costi a lungo termine della loro esecuzione nel cloud potrebbero finire per essere più alti.
  • Refactoring o re-architect: il refactoring si riferisce a modifiche abbastanza significative all'applicazione in modo che possa scalare o funzionare meglio in un ambiente cloud. Potrebbe comportare la ricodifica di porzioni importanti dell'applicazione in modo che possa sfruttare meglio le funzionalità cloud-native, come la ristrutturazione di un'applicazione monolitica in un insieme di microservizi o la modernizzazione dell'archivio dati da SQL a NoSQL.
  • Replatform: il replatform è una via di mezzo tra il lift-and-shift e il re-architecting e consiste nel fare piccole modifiche a un'applicazione in modo che possa beneficiare meglio dell'architettura cloud. Gli esempi potrebbero includere l'aggiornamento dell'applicazione per lavorare con un database gestito cloud-native, cambiare i sistemi operativi o il middleware con cui lavorerà o containerizzare l'applicazione.
  • Retire/replace: in alcuni casi ha semplicemente più senso abbandonare l'applicazione. Questo potrebbe essere perché il suo valore è limitato, perché le sue funzionalità sono replicate altrove nel tuo ambiente, o perché è più conveniente sostituirla con una nuova offerta - spesso una piattaforma Software-as-a-Service (SaaS) - che migrare l'applicazione.

Strategia

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 analizzare attentamente il 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-premises.

Affinché una migrazione al cloud abbia successo, dovrai anche avere le idee chiare sui fattori aziendali chiave che la motivano e allineare la tua strategia con essi. Dovrai essere consapevole del perché stai migrando 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 di migrazione dell'applicazione


Gli stakeholder potrebbero temere che le migrazioni delle applicazioni possano causare interruzioni al business o comportare costi imprevisti. I rischi più comuni sono i seguenti:

  • Sfide tecniche impreviste: per esempio, un'applicazione può avere così tante dipendenze che il refactoring o il replatforming possono essere molto più complessi e lunghi di quanto inizialmente previsto.
  • Costi imprevisti: senza un'adeguata pianificazione, le aziende possono trovarsi di fronte a spese non preventivate, come ad esempio nuove tasse di licenza o costi di formazione legati all'acquisizione di nuove competenze da parte dei dipendenti.
  • Tempi di inattività imprevisti: modifiche importanti a un'applicazione possono causare conflitti o problemi che portano a tempi di inattività non pianificati, sia per l'applicazione che per sistemi collegati o dipendenti.
  • Questioni culturali o difficoltà di gestione del cambiamento: organizzazioni diverse usano le app in modo diverso, e queste 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, re-architecting, replatforming o al ritiro di tutte le applicazioni nel vostro portfolio può aiutare a contenere i rischi generali 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 dovresti gestire per mantenere le applicazioni in loco.

 

Cambiare i casi d'uso per la migrazione delle applicazioni


Negli anni precedenti le imprese hanno spesso cercato di spostare le applicazioni nel cloud perché cercavano flessibilità, scalabilità o la prevedibilità della struttura dei costi pay-as-you-go offerta dai fornitori di cloud. Oggi, però, cercano anche ambienti che permettano l'innovazione. Che questo significhi accesso ai processori ad alte prestazioni necessari per alimentare algoritmi di deep learning o applicazioni containerizzate che permettono ai team di sviluppo di migliorare rapidamente le esperienze digitali dei clienti implementando i cambiamenti in velocità, le tecnologie cloud rendono possibile alle aziende di sperimentare, testare nuove idee e "fallire più velocemente". In molti casi, le tecnologie cloud-friendly come la containerizzazione permettono di offrire agli utenti finali esperienze migliori delle macchine virtuali che potrebbero sostituire.


Piano di migrazione delle app in tre fasi

In 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 mantenere alcuni carichi di lavoro on-premises.

 

Identificazione e valutazione delle applicazioni
 

In questa fase iniziale di scoperta, dovresti assicurarti di avere un elenco completo di tutte le applicazioni nel tuo portfolio. Poi dovrai suddividere le applicazioni in categorie a seconda che abbiano un'importanza critica o meno per il business, se il loro valore è strategico e cosa ti aspetti dalla migrazione di ciascuna al cloud. Dovresti sforzarti di capire il valore di ogni applicazione relativamente a queste caratteristiche:

  • Impatto sul 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

Successivamente dovrai condurre una valutazione di affinità al cloud per ogni applicazione che stai pensando di migrare. Durante questo processo puoi determinare quali applicazioni sono pronte ad essere trasportate così come sono e quali avrebbero bisogno di cambiamenti significativi prima che siano 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 un particolare 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 compito complesso. Bisogna confrontare gli scenari "what-if" per mantenere le applicazioni e l'infrastruttura on-premises 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-premises in entrambi gli scenari e i costi di licenza del software.

Sarebbe bene confrontare le fattura mensile che ricevi o riceveresti dal tuo fornitore di cloud 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 in sede.

 

Valuta il rischio complessivo e la durata progetto
 

Nella fase finale della pianificazione della migrazione si stabilisce una linea temporale per il progetto e si identificano i rischi o le difficoltà più probabili.

 

Migrazione di applicazioni legacy al cloud
 

In generale, più vecchia è l'applicazione, più impegnativa (e di conseguenza, potenzialmente meno conveniente) è la migrazione al cloud. Il software obsoleto è critico per molti aspetti: è costoso da mantenere, può provocare problemi di sicurezza se non viene più aggiornato e tende a funzionare male negli ambienti informatici moderni. Sii particolarmente accurato nella valutazione delle applicazioni legacy prima di decidere di migrarle.


Lista di controllo, domande e verifica
Lista di controllo e domande

Quando valuti la fattibilità e la priorità di ogni applicazione come potenziale candidata per la migrazione dovrai porti le seguenti domande.

 

Complessità
 

  • Dove è stata sviluppata questa applicazione? Se è stata sviluppata in-house, lo sviluppatore lavora ancora nella tua azienda?
  • La documentazione dell'applicazione è facilmente disponibile?
  • Quanti anni ha l' applicazione? Da quanto tempo è in uso?
  • Quante altre applicazioni o flussi di lavoro all'interno della tua organizzazione dipendono in qualche modo da questa?

 

Criticità
 

  • Quanti utenti dipendono da questa applicazione su base giornaliero? E su base settimanale?
  • Quanto tempo di inattività potrebbero tollerare prima che le operazioni commerciali vengano interrotte?
  • L'applicazione è usata in produzione, sviluppo, test o tutte e tre le cose?
  • L'applicazione è gestita da un team IT interno o da un fornitore esterno?
  • Ci sono altre applicazioni con requisiti di uptime/downtime che devono essere sincronizzati con quelli di questa applicazione?

 

Conformità
 

  • A quali requisiti normativi deve essere conforme la tua organizzazione?

 

Disponibilità
 

  • A quali standard di uptime deve essere conforme questa applicazione? Per esempio, è soggetto a un service level agreement (SLA) che prevede un uptime del 99,99%?
Test

Per assicurarsi che nessun dato o funzionalità venga perso durante il processo di migrazione dell'applicazione, dovresti eseguire dei test durante la migrazione per verificare che tutti i dati siano presenti, che l'integrità dei dati sia stata mantenuta e che i dati siano ora nella posizione di archiviazione 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 sugli hypervisor

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

Per saperne di più sul ruolo che la virtualizzazione può giocare nelle moderne strategie di cloud computing, guarda il seguente video:

Tipi di hypervisor e opzioni di migrazione
 

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

  • Migrazione delle applicazioni VMWare: è possibile eseguire il lift-and-shift di macchine virtuali in esecuzione su istanze VMWare on-premises 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.
  • Red Hat application migration: Red Hat offre un toolkit per la migrazione delle applicazioni - che consiste in una soluzione software personalizzabile ed estensibile - che analizza gli ambienti IT per identificare le interdipendenze delle applicazioni. Fornisce un reporting analitico in stile dashboard per evidenziare le applicazioni che potrebbero avere problemi durante la migrazione.

Servizi cloud disponibili

Sono disponibili molti servizi per aiutare la tua azienda a studiare, pianificare ed eseguire una migrazione al cloud di successo.

 

Piano di migrazione
 

In un servizio completo di blueprint, il tuo fornitore ti aiuterà a definire la tua strategia e i tuoi obiettivi di migrazione, a raccogliere informazioni sulle tue applicazioni e sul tuo ambiente, a identificare i bisogni dei tuoi utenti e le tue esigenze di business e ad elaborare un piano d'azione dettagliato per la tua migrazione.

 

Distribuzione della migrazione
 

Se si sceglie un'opzione di distribuzione gestita, il tuo fornitore non solo ti aiuterà nella strategia e nella pianificazione della migrazione, ma gestirà anche la migrazione stessa e tutti i test e le problematiche associate. Si tratta di solito di un'offerta di servizi chiavi in mano che include un supporto completo, end-to-end.

 

servizi gestiti in cloud
 

Un'offerta di servizi cloud gestiti include tipicamente il monitoraggio e la manutenzione del tuo ambiente IT basato sul cloud. Il tuo fornitore 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 pacchetto di servizi o aggiunta su una base "à la carte".

 

Modernizzazione delle applicazioni
 

I servizi di modernizzazione dell'applicazione includono offerte di sviluppo personalizzato che possono preparare le applicazioni legacy per l'uso nel cloud, modificandole in modo che vengano eseguite in contenitori o ambienti virtualizzati.


Migrazione delle applicazioni e IBM Cloud

La migrazione delle applicazioni può essere l'inizio di nuove strade per l'innovazione, compresa la modernizzazione delle applicazioni nel percorso di un'organizzazione verso il cloud. Ecco perché Cloud IBM offre una suite completa di strumenti e servizi di migrazione al cloud per non perdere tempo.

Fai un passo avanti:

Inizia con un account IBM Cloud oggi stesso.


Soluzioni correlate

Modernizzazione delle applicazioni

Crea, modernizza e gestisci le applicazioni in modo sicuro su qualsiasi cloud con fiducia


IBM Cloud

IBM Cloud con Red Hat offre sicurezza ai vertici del mercato, scalabilità aziendale e innovazione aperta per realizzare il pieno potenziale del cloud e dell'AI.


Servizi di migrazione al cloud

La consulenza e i servizi di migrazione di IBM Cloud contribuiscono a ottimizzare la tua strategia di migrazione e implementazione con i migliori strumenti, modelli e automazione.