My IBM Accedi Iscriviti

Che cos'è la migrazione delle applicazioni?

Che cos'è 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, è possibile eseguire la migrazione di un'applicazione da un data center a un altro, da un server on-premise all'ambiente di un provider di cloud o dal cloud pubblico a un ambiente cloud privato.

Poiché le applicazioni sono in genere create per funzionare su particolari sistemi operativi in architetture di rete specifiche o sviluppate per una singola piattaforma cloud, lo spostamento di un'applicazione in un nuovo ambiente può comportare diverse sfide. Di solito è più facile migrare le applicazioni da architetture virtualizzate o basate sui servizi piuttosto che migrare quelle in esecuzione su hardware bare metal.

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

Applicazioni diverse possono intraprendere percorsi diversi verso il cloud, anche all'interno dello stesso ambiente tecnologico. Fin dagli albori del cloud computing, gli sviluppatori hanno fatto riferimento a questi modelli di migrazione delle applicazioni con nomi che iniziano con la lettera "R".

Rehosting: noto anche come lift-and-shift, il rehosting è una strategia comune in cui l'azienda sposta l'applicazione da un server locale a una macchina virtuale nel cloud senza apportare modifiche significative. Il rehosting delle applicazioni è in genere più rapido rispetto ad altre strategie di migrazione e può ridurre significativamente i costi di migrazione. Lo svantaggio è che senza modifiche le applicazioni non trarranno beneficio dalle funzionalità di computing cloud-native e i costi a lungo termine per eseguirle nel cloud potrebbero essere più elevati.

Refactoring o rearchitecting: il refactoring si riferisce all'apportare modifiche abbastanza significative all'applicazione in modo che possa scalare o funzionare meglio in un ambiente cloud. Potrebbe comportare la ricodifica di parti principali dell'applicazione in modo che possa sfruttare meglio le funzionalità cloud-native, come la ristrutturazione di un'applicazione monolitica in un set di microservizi o la modernizzazione dell'archivio dati da SQL a NoSQL.

Replatforming: una sorta di via di mezzo tra lift-and-shift e rearchitecting, il replatforming di un'applicazione implica apportare piccole modifiche alla stessa in modo che possa trarre beneficio dall'architettura cloud. Gli esempi potrebbero includere l'aggiornamento dell'applicazione per funzionare con un database gestito cloud-native, la modifica dei sistemi operativi o del middleware con cui funziona o la containerizzazione dell'applicazione.

Ritiro/sostituzione: a volte, è semplicemente più sensato dismettere l'applicazione. Ciò potrebbe essere dovuto al fatto che il suo valore è limitato, perché le sue funzionalità sono duplicate altrove nell'ambiente o perché è più conveniente sostituirla con una nuova offerta, spesso una piattaforma Software-as-a-Service (SaaS), piuttosto che migrare l'applicazione.

Veduta aerea di uno snodo di autostrade

Rimani con la testa nel cloud 


Ricevi la newsletter settimanale Think per una guida esperta sull'ottimizzazione delle impostazioni multicloud nell'era dell'AI.

Strategia di migrazione delle applicazioni

Per sviluppare la strategia di migrazione delle applicazioni più adatta all'ambiente IT e alle esigenze aziendali specifiche, è necessario comprendere esattamente il contenuto del portfolio di applicazioni, le specifiche dei requisiti di sicurezza e conformità, le risorse cloud attualmente utilizzate e le infrastrutture di storage, elaborazione e rete on-premise.

Affinché una migrazione al cloud abbia successo, è inoltre necessario avere ben chiari i principali driver aziendali motivanti e allineare la propria strategia a tali driver. Devi essere consapevole del motivo per cui stai migrando al cloud e di ciò che speri di ottenere con la transizione.

AI Academy

Prepararsi all'AI con l'hybrid cloud

Condotto dai migliori leader di pensiero di IBM, il programma di studi è stato progettato per aiutare i dirigenti aziendali ad acquisire le conoscenze necessarie per dare priorità agli investimenti in AI che possono favorire la crescita.

Rischi della migrazione delle applicazioni

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

  • Sfide tecniche impreviste: ad esempio, un'applicazione potrebbe avere così tante dipendenze che il refactoring o il replatforming possono essere molto più complessi e dispendiosi in termini di tempo di quanto si pensasse inizialmente.

  • Costi imprevisti: senza un'adeguata pianificazione, le aziende potrebbero incorrere in spese che non sono state preventivate, come nuovi costi di licenza o costi di formazione associati all'aggiornamento dei dipendenti sui nuovi strumenti.

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

  • Problemi culturali o difficoltà di gestione del cambiamento: organizzazioni diverse utilizzano le app in modo diverso e queste differenze possono creare attriti che rallentano un progetto di migrazione.

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

Modifica ai casi d'uso della migrazione delle applicazioni

Negli anni precedenti, le aziende spesso cercavano di spostare le applicazioni sul cloud perché desideravano la flessibilità, la scalabilità o la prevedibile struttura dei costi con ripartizione offerta dai provider di cloud.

Oggi, tuttavia, le aziende sono anche alla ricerca di ambienti che favoriscano l'innovazione. Le tecnologie cloud rendono possibili le seguenti opzioni:

  • Sperimentare, testare nuove idee e "fallire più velocemente"
  • Accedere ai processori ad alte prestazioni necessari per alimentare gli algoritmi di deep learning
  • Accedere ad applicazioni containerizzate che consentono ai team di sviluppo di migliorare velocemente le esperienze digitali dei clienti implementando rapidamente le modifiche

In molti casi, le tecnologie cloud-friendly come la containerizzazione consentono di offrire agli utenti esperienze migliori rispetto alle macchine virtuali che potrebbero sostituire.

Fasi di migrazione delle applicazioni

In generale, il processo di pianificazione della migrazione delle applicazioni può essere suddiviso in tre fasi. In ogni fase, è critico valutare i costi di tutte le possibili opzioni, inclusa la scelta di mantenere alcuni workload on-premise.

Identificazione e valutazione delle applicazioni: in questa fase iniziale di scoperta, assicurati di disporre di un catalogo completo di tutte le applicazioni del tuo portfolio. Quindi, classifica le applicazioni in base alla criticità della loro importanza aziendale, se il loro valore sia strategico o non strategico e a cosa ti aspetti dalla migrazione di ciascuna nel cloud. È necessario cercare di comprendere il valore di ogni applicazione in termini di queste caratteristiche:

  • Impatto sul business

  • Capacità di soddisfare le esigenze aziendali cruciali

  • Tempestività e importanza dei dati

  • Dimensioni, complessità e gestibilità

  • Costi di manutenzione e sviluppo

  • Aumento del valore dalla migrazione al cloud

Ti consigliamo quindi di condurre una valutazione dell'affinità cloud per ogni applicazione di cui stai pensando di eseguire la migrazione. Durante questo processo, bisogna determinare quali applicazioni sono pronte per essere utilizzate così come sono e quali invece necessitano di modifiche significative prima di poter essere rese pronte per il cloud.

Puoi anche utilizzare strumenti di rilevamento delle dipendenze delle applicazioni per determinare la fattibilità della migrazione di un particolare workload al di fuori dell'ambiente attuale.

Valutazione del costo totale di proprietà (TCO): determinare il costo totale di un progetto di migrazione al cloud può essere un'impresa complessa. Confronta gli scenari "what-if" relativi al mantenere applicazioni e infrastrutture on-premise rispetto a quelli associati al loro spostamento sul cloud. Calcola i costi di acquisto, funzionamento e manutenzione per l'hardware che manterresti on-premise in entrambi gli scenari e i costi delle licenze software.

Confronta la fattura mensile che riceveresti dal tuo provider di cloud in entrambi gli scenari e i costi della migrazione stessa, inclusi i costi di test della nuova infrastruttura e la formazione dei dipendenti all'utilizzo di software aggiornato. Non dimenticare di considerare i costi di manutenzione per le applicazioni legacy che rimangono on-premise.

Valutazione complessiva del rischio e della durata del progetto: nella fase finale della pianificazione della migrazione, stabilisci una tempistica per il progetto e identifica eventuali rischi o ostacoli che potresti incontrare.

Migrazione delle applicazioni legacy

In generale, più vecchia è l'applicazione, più difficile (e di conseguenza, potenzialmente meno utile) è la migrazione al cloud. Un software obsoleto è problematico sotto molti aspetti: è costoso da mantenere, può sollevare problemi di sicurezza se non riceve nuove patch e tende a funzionare male negli ambienti informatici moderni. Presta particolare attenzione nella valutazione delle applicazioni legacy prima di decidere di migrarle.

Valutazione dei candidati per la migrazione

Quando le organizzazioni valutano la fattibilità e la priorità di migrazione di un'applicazione, considerano i seguenti problemi.

Complessità: dove è stata sviluppata questa applicazione? Se è interna, lo sviluppatore lavora ancora nella tua azienda? La documentazione dell'applicazione è prontamente disponibile? Quanti anni ha l'applicazione? Da quanto tempo è in uso? Quante altre applicazioni o workflow all'interno dell'organizzazione dipendono in qualche modo da questa?

Criticità: quanti utenti dipendono da questa applicazione ogni giorno? Su base settimanale? Quanto tempo di inattività potrebbero tollerare prima che le operazioni aziendali subiscano interruzioni? L'applicazione viene utilizzata in produzione, sviluppo, test o in tutti e tre i settori? È gestita da un team IT interno o da un fornitore esterno? Ci sono altre applicazioni con requisiti di tempo di attività/inattività che devono essere sincronizzate con quelli di questa applicazione?

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

Disponibilità: a quali standard di tempo di attività deve essere conforme questa applicazione? Ad esempio, è soggetta a un accordo sul livello di servizio (SLA) che prevede un tempo di attività del 99,99%?

Test

Per garantire che nessun dato o funzionalità vada perso durante il processo di migrazione delle applicazioni, esegui 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.

È inoltre essenziale condurre test di follow-up dopo il completamento della migrazione, analizzare le prestazioni delle applicazioni e garantire che i controlli di sicurezza rimangano in vigore.

Migrazione delle applicazioni tra hypervisor

La virtualizzazione è una componente fondamentale in molte strategie di migrazione al cloud perché le macchine virtuali possono essere eseguite facilmente 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. La flessibilità e la versatilità degli ambienti informatici virtualizzati semplifica notevolmente il processo di migrazione delle applicazioni.

Tipi di hypervisor e operazioni di migrazione

Diverse soluzioni di replica e migrazione attualmente disponibili consentono ai propri clienti di migrare macchine virtuali tra server bare metal, server virtuali nel cloud e persino hypervisor.

  • Migrazione delle applicazioni VMWare: è possibile eseguire un lift-and-shift delle macchine virtuali 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 migration toolkit, una soluzione software personalizzabile ed estensibile, che analizza gli ambienti IT per identificare le interdipendenze delle applicazioni. Fornisce report analitici in stile dashboard per evidenziare le applicazioni che potrebbero avere problemi durante la migrazione.

Servizi di migrazione su cloud

Sono disponibili molti servizi per aiutare l'azienda a definire una strategia, pianificare ed eseguire una migrazione cloud di successo.

Blueprint di migrazione: in un'offerta completa di servizi blueprint, il tuo fornitore ti aiuta a chiarire la tua strategia e gli obiettivi della migrazione, raccogliendo informazioni sulle tue applicazioni e sul tuo ambiente, identificando le esigenze dei tuoi utenti e i tuoi requisiti aziendali e elaborando un piano d'azione dettagliato per la tua migrazione.

Implementazione della migrazione: se scegli un'opzione di implementazione gestita, il fornitore non solo ti aiuterà a definire strategie e pianificare la migrazione, ma gestirà anche la migrazione stessa e tutti i test e la risoluzione dei problemi associati. Di solito si tratta di un'offerta di servizi chiavi in mano che include un supporto completo e end-to-end.

Servizi gestiti dal cloud: un'offerta di servizi cloud gestiti in genere include il monitoraggio e la manutenzione del tuo ambiente IT basato su cloud. Il tuo fornitore di servizi cloud gestiti si assume la responsabilità di molteplici funzioni, che vanno dalla gestione della sicurezza cloud all'approvvigionamento 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 base à la carte.

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

Soluzioni correlate

Soluzioni correlate

Migrazione al cloud - IBM Instana Observability 

Instana semplifica il percorso di migrazione al cloud offrendo monitoraggio completo e insight fruibili.

Esplora Instana
Passa a IBM Cloud 

Migra a IBM Cloud con soluzioni e strumenti personalizzabili per accelerare il tuo percorso.

Esplora la migrazione al cloud
Consulenza sulla migrazione del cloud  

Gli IBM Cloud Migration Services aiutano a gestire la migrazione cloud della tua azienda, supportandone la trasformazione digitale.

Servizi di migrazione su cloud
Fai il passo successivo

Accelera il tuo percorso di migrazione al cloud con i servizi di consulenza degli esperti IBM. Scopri come le nostre soluzioni possono aiutarti a passare al cloud in modo efficiente o prenota una demo live per vedere i vantaggi di IBM Turbonomic in azione.

Esplora i servizi di migrazione su IBM Cloud Prenota una demo live