Questo documento ti aiuta a pianificare, progettare e implementare il processo di migrazione dei tuoi workload su Google Cloud. Spostare le app da un ambiente all'altro è un'attività complessa, anche per i team esperti, quindi devi pianificare ed eseguire la migrazione con attenzione.
Questo documento fa parte della seguente serie in più parti sulla migrazione aGoogle Cloud:
- Esegui la migrazione a Google Cloud: inizia (questo documento)
- Migrate to Google Cloud: valuta e scopri i tuoi workload
- Esegui la migrazione a Google Cloud: pianifica e crea la tua base
- Esegui la migrazione a Google Cloud: trasferisci i tuoi set di dati di grandi dimensioni
- Migrate to Google Cloud: esegui il deployment dei workload
- Esegui la migrazione a Google Cloud: esegui la migrazione dai deployment manuali a quelli automatici e containerizzati
- Migrazione a Google Cloud: ottimizza l'ambiente
- Migrate to Google Cloud: Best practices for validating a migration plan
- Esegui la migrazione a Google Cloud: riduci al minimo i costi
Questo documento è utile se stai pianificando una migrazione da un ambiente on-premise, da un ambiente di hosting privato o da un altro cloud provider aGoogle Cloudoppure se stai valutando l'opportunità di eseguire la migrazione e vuoi esplorare come potrebbe essere.
Inizio del percorso
Quando pianifichi la migrazione a Google Cloud, inizia definendo gli ambienti coinvolti nella migrazione. Il punto di partenza può essere un ambiente on-premise, un ambiente di hosting privato o un altro ambiente cloud pubblico.
Un ambiente on-premise è un ambiente di cui hai la piena proprietà e responsabilità. Mantieni il controllo completo su ogni aspetto dell'ambiente, come il raffreddamento, la sicurezza fisica e la manutenzione dell'hardware.
In un ambiente di hosting privato, come una struttura di colocation, esternalizzi parte dell'infrastruttura fisica e della sua gestione a una parte esterna. Questa infrastruttura è in genere condivisa tra i clienti. In un ambiente di hosting privato, non devi gestire i servizi di sicurezza fisica. Alcuni ambienti di hosting ti consentono di gestire parte dell'hardware fisico, come server, rack e dispositivi di rete, mentre altri gestiscono l'hardware per te. In genere, i cavi di alimentazione e di rete vengono forniti come servizio, quindi non devi gestirli. Mantieni il pieno controllo sugli hypervisor che virtualizzano le risorse fisiche, sull'infrastruttura virtualizzata di cui esegui il provisioning e sui workload che esegui su questa infrastruttura.
Un ambiente cloud pubblico ha il vantaggio di non richiedere la gestione autonoma dell'intero stack di risorse. Puoi concentrarti sull'aspetto dello stack più importante per te. Come in un ambiente di hosting privato, non devi gestire l'infrastruttura fisica sottostante. Inoltre, non devi gestire l'hypervisor di virtualizzazione delle risorse. Puoi creare un'infrastruttura virtualizzata ed eseguire il deployment dei tuoi workload in questa nuova infrastruttura. Puoi anche acquistare servizi completamente gestiti, in cui ti occupi solo dei tuoi workload, delegando l'onere operativo della gestione degli ambienti di runtime.
Per ogni ambiente, questo documento valuta i seguenti aspetti, nonché chi deve fornire e gestire i servizi pertinenti:
| Risorse | Ambiente on-premise | Ambiente di hosting privato | Ambiente cloud pubblico |
|---|---|---|---|
| Sicurezza e protezione fisica | Tu | Fornitore di servizi | Fornitore di servizi |
| Cavi di alimentazione e di rete | Tu | Fornitore di servizi | Fornitore di servizi |
| Hardware (incl. manutenzione) | Tu | Dipende dal fornitore di servizi | Fornitore di servizi |
| Piattaforma di virtualizzazione | Tu | Tu | Fornitore di servizi |
| Risorse dell'app | Tu | Tu | Tu (eventualmente sfruttando servizi completamente gestiti) |
In questo documento, l'ambiente di destinazione èGoogle Cloud.
Dopo aver definito gli ambienti di partenza e di destinazione, definisci i tipi di workload e i relativi processi operativi che rientrano nell'ambito della migrazione. Questo documento prende in considerazione due tipi di workload e operazioni: legacy e ottimizzati per il cloud.
Le operazioni e i workload legacy vengono sviluppati senza tenere conto degli ambienti cloud. Questi workload e operazioni possono essere difficili da modificare e costosi da eseguire e gestire perché di solito non supportano alcun tipo di scalabilità.
I workload e le operazioni ottimizzati per il cloud sono scalabili, portatili, disponibili e sicuri in modo nativo. I workload e le operazioni possono contribuire ad aumentare la produttività e l'agilità degli sviluppatori, perché questi ultimi possono concentrarsi sui workload effettivi, anziché dedicare sforzi alla gestione degli ambienti di sviluppo e di runtime o alla gestione di processi di deployment manuali e complessi. Google Cloud ha anche un modello di responsabilità condivisa per la sicurezza. Google Cloud è responsabile della sicurezza fisica e della sicurezza dell'infrastruttura, mentre tu sei responsabile della sicurezza dei workload di cui esegui il deployment nell'infrastruttura.
Considerando questi tipi di ambienti e workload, la tua situazione di partenza è una delle seguenti:
- Ambiente di hosting on-premise o privato con workload e operazioni legacy.
- Ambiente di hosting on-premise o privato con workload e operazioni ottimizzati per il cloud.
- Ambiente di hosting cloud pubblico o privato con workload e operazioni legacy.
- Ambiente di hosting privato o cloud pubblico con workload e operazioni ottimizzati per il cloud.
Il processo di migrazione dipende dal punto di partenza.
La migrazione di un workload da un ambiente on-premise legacy o da un ambiente di hosting privato a un ambiente ottimizzato per il cloud, come un cloud pubblico, può essere difficile e rischiosa. Le migrazioni riuscite modificano il workload da migrare il meno possibile durante le operazioni di migrazione. Il passaggio delle app on-premise legacy al cloud spesso richiede più passaggi di migrazione.
Tipi di migrazioni
Questo documento definisce i seguenti tipi principali di migrazioni:
- Rehosting: esegui la migrazione lift and shift
- Replatforming: trasferisci e ottimizza
- Refactoring: sposta e migliora
- Riprogettazione dell'architettura: continua a modernizzare
- Ricostruzione: rimozione e sostituzione, a volte chiamata elimina e sostituisci
- Riacquista
Nelle sezioni seguenti, ogni tipo di migrazione viene definito con esempi di quando utilizzarlo.
Rehosting: esegui la migrazione lift and shift
In una migrazione di rehosting, sposti i workload da un ambiente di origine a un ambiente di destinazione con modifiche o rifattorizzazioni minime o nulle. Le modifiche che applichi ai workload di cui eseguire la migrazione sono solo quelle minime necessarie per consentire ai workload di funzionare nell'ambiente di destinazione.
Una migrazione di rehosting è ideale quando un workload può funzionare così com'è nell'ambiente di destinazione o quando non esiste alcuna esigenza aziendale di cambiamento. Questo tipo di migrazione richiede il minor tempo possibile perché la quantità di rifattorizzazione è ridotta al minimo.
Potrebbero esserci problemi tecnici che impongono una migrazione di rehosting. Se non puoi rifattorizzare un workload per eseguirne la migrazione e non puoi ritirarlo, devi utilizzare una migrazione di rehosting. Ad esempio, può essere difficile o impossibile modificare il codice sorgente del workload oppure il processo di compilazione non è semplice, per cui potrebbe non essere possibile produrre nuovi artefatti dopo il refactoring del codice sorgente.
Le migrazioni di rehosting sono le più semplici da eseguire perché il tuo team può continuare a utilizzare lo stesso insieme di strumenti e competenze che utilizzava in precedenza. Queste migrazioni supportano anche il software pronto all'uso. Poiché esegui la migrazione dei workload esistenti con un refactoring minimo, le migrazioni di rehosting tendono a essere le più rapide rispetto alle migrazioni di refactoring o ricostruzione.
Tuttavia, dopo una migrazione di rehosting, i workload in esecuzione nell'ambiente di destinazione non sono ottimizzati per il cloud. Questi workload non sfruttano appieno le funzionalità della piattaforma cloud, come la scalabilità orizzontale, i prezzi granulari e i servizi altamente gestiti.
Replatforming: trasferisci e ottimizza
In una migrazione con replatforming, trasferisci i workload esistenti e poi li ottimizzi per il nuovo ambiente cloud.
Una migrazione con replatforming è ideale per le organizzazioni che vogliono sfruttare tutte le competenze principali del cloud. Queste competenze includono computing elastico, ridondanza, prestazioni migliorate e sicurezza.
Ad esempio, potresti eseguire il replatforming di un workload nel cloud per poter sfruttare l'architettura di microservizi basata su cloud o container in Google Kubernetes Engine. Questi workload avranno prestazioni più elevate e maggiore efficienza quando verranno eseguiti nel cloud.
Tuttavia, le migrazioni con cambio di piattaforma richiedono più lavoro rispetto alle migrazioni con rihosting. La nuova piattaforma cloud avrà un codebase sottostante diverso, il che richiederà diversi round di test per assicurarsi che tutto sia in esecuzione al livello ottimale.
Refactoring: sposta e migliora
In una migrazione di rifattorizzazione, modifichi i workload per sfruttare le funzionalità del cloud, non solo per farli funzionare nel nuovo ambiente. Puoi migliorare ogni workload in termini di prestazioni, funzionalità, costi ed esperienza utente.
Puoi modificare i workload durante la migrazione al cloud o anche prima. Ad esempio, se non hai una grande esperienza con le migrazioni al cloud, potresti preferire modificare i workload durante la migrazione. Tuttavia, se hai esperienza con la migrazione al cloud, potresti già avere un'idea delle modifiche necessarie ai workload per sfruttare appieno le funzionalità del cloud.
Se l'architettura o l'infrastruttura attuale di un'app non è supportata nell'ambiente di destinazione così com'è, è necessaria una certa quantità di rifattorizzazione per superare questi limiti.
Un altro motivo per scegliere l'approccio di rifattorizzazione è quando è necessario un aggiornamento principale del workload, oltre agli aggiornamenti da eseguire per la migrazione.
Le migrazioni di rifattorizzazione consentono alla tua app di sfruttare le funzionalità di una piattaforma cloud, come la scalabilità e l'alta affidabilità. Puoi anche progettare il miglioramento per aumentare la portabilità dell'app.
Tuttavia, le migrazioni di rifattorizzazione richiedono più tempo rispetto alle migrazioni di rehosting, perché i workload devono essere rifattorizzati per consentire la migrazione dell'app.
Una migrazione di rifattorizzazione richiede anche l'apprendimento di nuove competenze.
Riprogettazione dell'architettura: continua a modernizzare
Le migrazioni con riprogettazione sono simili alle migrazioni con refactoring. Tuttavia, invece di ristrutturare il funzionamento del codice del workload, le migrazioni con riprogettazione dell'architettura modificano il funzionamento del codice. Queste modifiche al codice ottimizzano il workload e sfruttano le proprietà ottimizzate per il cloud, come scalabilità, sicurezza e agilità. Ad esempio, una migrazione con riprogettazione dell'architettura può prendere un workload monolitico di grandi dimensioni e trasformarlo in diversi microservizi indipendenti di cui esegui il deployment su Google Cloud.
Una migrazione con riprogettazione dell'architettura è più complessa di una migrazione con rifattorizzazione, quindi richiede più tempo e impegno. Una migrazione con riprogettazione dell'architettura può anche potenzialmente introdurre bug o problemi di sicurezza nei nuovi workload. Pertanto, una migrazione con riprogettazione richiede diversi round di test per assicurarsi che tutto funzioni al livello ottimale.
Ricostruzione: rimozione e sostituzione
In una migrazione di ricostruzione, dismetti un'app esistente e la riprogetti e riscrivi completamente come app completamente ottimizzata per il cloud.
Se l'app attuale non soddisfa i tuoi obiettivi, ad esempio non vuoi mantenerla, è troppo costoso eseguire la migrazione utilizzando uno degli approcci menzionati in precedenza o non è supportata su Google Cloud, puoi eseguire una migrazione di ricostruzione.
Le migrazioni di ricostruzione consentono alla tua app di sfruttare appieno le funzionalità diGoogle Cloud , come la scalabilità orizzontale, i servizi altamente gestiti e l'alta affidabilità. Poiché l'app viene riscritta da zero, viene rimosso anche il debito tecnico della versione legacy esistente.
Tuttavia, le migrazioni di ricreazione possono richiedere più tempo rispetto alle migrazioni di rehosting o rifattorizzazione. Inoltre, questo tipo di migrazione non è adatto per le app già pronte perché richiede la riscrittura dell'app. Devi valutare il tempo e l'impegno aggiuntivi per riprogettare e riscrivere l'app nell'ambito del suo ciclo di vita.
Una migrazione di ricostruzione richiede anche nuove competenze. Devi utilizzare nuove toolchain per eseguire il provisioning e la configurazione del nuovo ambiente e per eseguire il deployment dell'app in quell'ambiente.
Riacquista
Una migrazione basata sul riacquisto è quella in cui passi da un workload on-premise acquistato a un'applicazione Software as a Service (SaaS) equivalente ospitata nel cloud. Ad esempio, puoi passare dal software di collaborazione on-premise e dallo spazio di archiviazione locale a Google Workspace.
Dal punto di vista delle risorse, una migrazione di riacquisto potrebbe essere molto più semplice rispetto al refactoring, alla ricreazione o alla riprogettazione dell'architettura. Tuttavia, una migrazione di riacquisto potrebbe essere molto più costosa e potresti non avere le funzionalità granulari di controllo dei tuoi ambienti cloud.
Framework per l'adozione diGoogle Cloud
Prima di iniziare la migrazione, devi valutare la maturità della tua organizzazione nell'adozione delle tecnologie cloud. Il framework di adozione diGoogle Cloud funge sia da mappa per determinare la situazione attuale delle funzionalità della tecnologia dell'informazione della tua azienda sia da guida per raggiungere gli obiettivi prefissati.
Puoi utilizzare questo framework per valutare l'idoneità della tua organizzazione perGoogle Cloud e cosa devi fare per colmare le lacune e sviluppare nuove competenze, come illustrato nel seguente diagramma.
Il framework valuta quattro temi:
- Apprendi. La qualità e la portata dei tuoi programmi di apprendimento.
- Lead. La misura in cui i tuoi reparti IT sono supportati da un mandato della leadership per la migrazione a Google Cloud.
- Scalabilità. La misura in cui utilizzi i servizi ottimizzati per il cloud e il livello di automazione operativa che hai implementato.
- Sicuro. La capacità di proteggere l'ambiente attuale da accessi non autorizzati e inappropriati.
Per ogni tema, dovresti trovarti in una delle seguenti tre fasi, in base al framework:
- Tattiche. Non esistono piani coerenti che coprano tutti i singoli workload in uso. Ti interessa soprattutto un rapido ritorno sull'investimento e un'interruzione minima della tua organizzazione IT.
- Strategiche. È stato definito un piano per sviluppare singoli workload tenendo conto delle future esigenze di scalabilità. Ti interessa l'obiettivo a medio termine di semplificare le operazioni per renderle più efficienti di quanto non siano oggi.
- Trasformative. Le operazioni cloud funzionano senza problemi e utilizzi i dati che raccogli da queste operazioni per migliorare la tua attività IT. Ti interessa l'obiettivo a lungo termine di rendere il reparto IT uno dei motori dell'innovazione nella tua organizzazione.
Quando valuti i quattro argomenti in termini di tre fasi, ottieni la scala di maturità del cloud. In ogni tema, puoi vedere cosa succede quando passi dall'adozione di nuove tecnologie quando necessario, all'utilizzo di queste in modo più strategico in tutta l'organizzazione, il che significa naturalmente una formazione più approfondita, completa e coerente per i tuoi team.
Il percorso di migrazione
È importante ricordare che la migrazione è un percorso. Ti trovi al punto A con l'infrastruttura e gli ambienti esistenti e vuoi raggiungere il punto B. Per andare da A a B, puoi scegliere una delle opzioni descritte in precedenza.
Il seguente diagramma illustra il percorso di questo percorso.
La migrazione prevede quattro fasi:
- Valuta. In questa fase, esegui una valutazione e un'analisi approfondite dell'ambiente esistente per comprendere l'inventario delle app e dell'ambiente, identificare le dipendenze e i requisiti delle app, eseguire i calcoli del costo totale di proprietà e stabilire i benchmark delle prestazioni delle app. Per ulteriori informazioni sulla fase di valutazione, consulta Esegui la migrazione a Google Cloud: valuta e scopri i tuoi workload, Esegui la migrazione a Google Cloud: best practice e Migration Center: avvia un discovery degli asset.
- Pianifica. In questa fase, crei l'infrastruttura cloud di base per i tuoi workload e pianifichi come spostare le app. Questa pianificazione include la gestione delle identità, la struttura dell'organizzazione e dei progetti, il networking, l'ordinamento delle app e lo sviluppo di una strategia di migrazione con priorità. Per saperne di più sulla pianificazione e sulla creazione della tua base, consulta Esegui la migrazione a Google Cloud: pianifica e crea la tua base.
- Esegui il deployment. In questa fase, progetti, implementi ed esegui un processo di deployment per spostare i workload su Google Cloud. Potresti anche dover perfezionare la tua infrastruttura cloud per soddisfare nuove esigenze. Per ulteriori informazioni su come eseguire il deployment dei workload in Google Cloud e su come eseguire la migrazione dei dati in Google Cloud, consulta Esegui la migrazione a Google Cloud: esegui il deployment dei workload, Esegui la migrazione a Google Cloud: esegui la migrazione dai deployment manuali a quelli containerizzati e automatizzati e Esegui la migrazione a Google Cloud: trasferisci i set di dati di grandi dimensioni.
- Ottimizza. In questa fase, inizi a sfruttare appieno le tecnologie e le funzionalità ottimizzate per il cloud per espandere il potenziale della tua attività in aspetti quali prestazioni, scalabilità, ripristino di emergenza, costi, formazione, oltre ad aprire le porte alle integrazioni di machine learning e intelligenza artificiale per la tua app. Per ulteriori informazioni su come ottimizzare l'ambiente, consulta Esegui la migrazione a Google Cloud: ottimizza l'ambiente. Per ulteriori informazioni sui costi, consulta Esegui la migrazione a Google Cloud: riduci al minimo i costi.
Richiesta di assistenza
Google Cloud offre varie opzioni e risorse per trovare l'aiuto e l'assistenza necessari per sfruttare al meglio i servizi Google Cloud .
Risorse self-service
Se non hai bisogno di assistenza dedicata, puoi utilizzare queste risorse self-service:
- Documentazione di prodotto. Google Cloud fornisce la documentazione per ciascuno dei suoi prodotti e servizi, nonché per le API.
- Documentazione di Architecture Center. La sezione sulla migrazione dell'Architecture Center copre molti scenari di migrazione. Ad esempio, Risorse per la migrazione fornisce indicazioni sul percorso di migrazione a Google Cloud.
- Strumenti. Google Cloud fornisce diversi prodotti e servizi per aiutarti
a eseguire la migrazione. Ad esempio:
- Google Cloud Migration Center è una piattaforma unificata che consente di accelerare il percorso verso il cloud end-to-end dall'ambiente on-premise o cloud attuale aGoogle Cloud.
- Migrate to Virtual Machines è un prodotto per la migrazione di server fisici e macchine virtuali da ambienti on-premise e cloud a Google Cloud. Migrate to VMs consente di eseguire la migrazione di una macchina virtuale inGoogle Cloud in pochi minuti, con la copia dei dati in background, ma con le macchine virtuali completamente operative.
- Storage Transfer Service ti consente di trasferire dati in Cloud Storage da altri cloud provider, risorse online o dati locali.
- Database Migration Service è un prodotto che ti aiuta a eseguire la migrazione dei tuoi database a Google Cloud.
- Transfer Appliance è un'apparecchiatura hardware che puoi utilizzare per eseguire la migrazione di grandi volumi di dati (dalle centinaia di terabyte fino a 1 petabyte) a Google Cloud senza interrompere le operazioni aziendali.
- BigQuery Migration Service è una soluzione completa per la migrazione del tuo data warehouse a BigQuery.
- White paper. Questi documenti includono architetture di riferimento, case study, best practice e tutorial avanzati.
- Contenuti multimediali. Puoi guardare tutti i video sul canale YouTubeGoogle Cloud . Queste risorse trattano un'ampia gamma di argomenti, dalle spiegazioni dei prodotti alle strategie di sviluppo.
- Corsi e lab online. Google Cloud offre diversi corsi su Coursera che includono contenuti video, materiali di lettura e lab. Puoi anche seguire i lab utilizzando Google Cloud Skills Boost o partecipare a corsi online dal vivo.
Partner tecnologici
Google Cloud ha collaborato con diverse aziende per consentirti di utilizzare i loro prodotti. Alcune offerte potrebbero essere senza costi, quindi chiedi all'azienda e al tuo account manager Google Cloud .
Integratori di sistemi
Google Cloud collabora non solo con aziende di prodotti e tecnologie, ma anche con system integrator che possono fornire assistenza pratica. Nell'elenco dei partner, puoi trovare un elenco di system integrator specializzati nelle migrazioni al cloud.
Google Cloud Servizi professionali
Il nostro team di servizi professionali è qui per aiutarti a ottenere il massimo dal tuo investimento in Google Cloud.
Cloud Plan and Foundations: ricevi assistenza per la migrazione
I servizi professionali possono aiutarti a pianificare la migrazione ed eseguire il deployment dei workload in produzione con la nostra offerta Cloud Plan and Foundations. Questi esperti forniscono al tuo team indicazioni in ogni fase della migrazione del workload in produzione, dalla configurazione delle basi di Google Cloudall'ottimizzazione della piattaforma per le esigenze specifiche del workload e al deployment del workload.
Gli obiettivi di Cloud Plan and Foundations sono:
- Configura la base Google Cloud .
- Creare la documentazione di progettazione.
- Pianifica le attività di deployment e migrazione.
- Esegui il deployment dei workload in produzione.
- Monitora i problemi e i rischi.
I servizi professionali guidano il tuo team attraverso le seguenti attività e i seguenti risultati:
- Conduzione di workshop di avvio tecnico.
- Creare un documento di progettazione tecnica.
- Creazione di un piano di migrazione.
- Creazione di uno statuto del programma.
- Fornitura di servizi di project management.
- Fornire competenze tecniche.
Cloud Sprint: accelera la migrazione a Google Cloud
Cloud Sprint è un workshop intensivo che accelera la migrazione delle tue app aGoogle Cloud. In questo workshop, i servizi professionali di Google Cloud guidano uno dei tuoi team attraverso discussioni interattive, sessioni di lavagna e revisione delle app target per la migrazione a Google Cloud. Durante lo sprint sul cloud, i servizi professionali collaborano con i membri del tuo team per aiutarti ad acquisire esperienza diretta con le soluzioni cloud e le attività di deployment richieste, in modo da comprendere i passaggi successivi per le future migrazioni di Google Cloud.
Formazione: sviluppa le competenze del tuo team
I servizi professionali diGoogle Cloud possono fornire formazione in campi in base alle esigenze del tuo team.
Passaggi successivi
- Scopri dove trovare assistenza per le migrazioni.
- Segui il corso di formazione di Google Skills sulla migrazione a Google Cloud.
- Per ulteriori architetture di riferimento, diagrammi e best practice, esplora Cloud Architecture Center.
Collaboratori
Autore: Marco Ferrari | Cloud Solutions Architect