Esegui la migrazione a Google Cloud: inizia

Last reviewed 2023-10-09 UTC

Questo documento ti aiuta a pianificare, progettare e implementare il processo di migrazione dei carichi di lavoro a Google Cloud. Spostare le app da un ambiente all'altro è un'attività impegnativa, anche per i team esperti, quindi è necessario pianificare ed eseguire con attenzione la migrazione.

Questo documento fa parte della seguente serie in più parti sulla migrazione a Google Cloud:

Questo documento è utile se stai pianificando una migrazione da un ambiente on-premise, da un ambiente di hosting privato, da un altro cloud provider a Google Cloud, oppure se stai valutando l'opportunità di eseguire la migrazione e vuoi esplorarne l'aspetto.

Inizio del viaggio

Quando pianifichi la migrazione a Google Cloud, inizi 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 in cui hai proprietà e responsabilità totali. 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 la relativa gestione a una parte esterna. Questa infrastruttura è generalmente condivisa tra i clienti. In un ambiente di hosting privato, non è necessario gestire i servizi di sicurezza fisica e di protezione. Alcuni ambienti di hosting consentono di gestire parte dell'hardware fisico, ad esempio server, rack e dispositivi di rete, mentre altri lo gestiscono automaticamente. In genere, l'alimentazione e il cablaggio di rete sono forniti come servizio, quindi non è necessario gestirli. Mantieni il pieno controllo sugli hypervisor che virtualizzano le risorse fisiche, sull'infrastruttura virtualizzata di cui esegui il provisioning e sui carichi di lavoro eseguiti su quell'infrastruttura.

Un ambiente cloud pubblico ha il vantaggio di non dover gestire autonomamente l'intero stack di risorse. Puoi concentrarti sull'aspetto dello stack più importante per te. Come in un ambiente di hosting privato, non è necessario gestire l'infrastruttura fisica sottostante. Inoltre, non devi gestire l'hypervisor di virtualizzazione delle risorse. Puoi creare un'infrastruttura virtualizzata e eseguire il deployment dei carichi di lavoro in questa nuova infrastruttura. Puoi anche acquistare servizi completamente gestiti, per cui ti interessano solo i tuoi carichi di lavoro, liberando il carico operativo della gestione degli ambienti di runtime.

Per ogni ambiente, questo documento valuta i seguenti aspetti e chi deve fornire e gestire i servizi pertinenti:

Risorse Ambiente on-premise Ambiente di hosting privato Ambiente cloud pubblico
Sicurezza fisica e protezione Tu Fornitore di servizi Fornitore di servizi
Cavi di alimentazione e rete Tu Fornitore di servizi Fornitore di servizi
Hardware (inclusa manutenzione) Tu Dipende dal fornitore di servizi Fornitore di servizi
Piattaforma di virtualizzazione Tu Tu Fornitore di servizi
Risorse dell'app Tu Tu Tu (alla fine sfrutti i servizi completamente gestiti)

In questo documento, l'ambiente di destinazione è Google Cloud.

Dopo aver definito gli ambienti di avvio e di destinazione, definisci i tipi di carichi di lavoro e i relativi processi operativi nell'ambito della migrazione. Questo documento prende in considerazione due tipi di carichi di lavoro e operazioni: legacy e ottimizzati per il cloud.

Le operazioni e i carichi di lavoro legacy vengono sviluppati senza alcuna considerazione per gli ambienti cloud. Questi carichi di lavoro e operazioni possono essere difficili da modificare e costosi da eseguire e gestire perché di solito non supportano alcun tipo di scalabilità.

Le operazioni e i carichi di lavoro ottimizzati per il cloud sono scalabili in modo nativo, portabili, disponibili e sicuri. I carichi di lavoro e le operazioni possono contribuire ad aumentare la produttività e l'agilità degli sviluppatori, poiché possono concentrarsi sui carichi di lavoro effettivi, piuttosto che spendere impegno per gestire gli ambienti di sviluppo e runtime o gestire processi di deployment manuali e ingombranti. Google Cloud ha anche un modello di responsabilità condivisa per la sicurezza. Google Cloud è responsabile della sicurezza fisica e dell'infrastruttura, mentre tu sei responsabile della sicurezza dei carichi di lavoro di cui esegui il deployment nell'infrastruttura.

Considerando questi tipi di ambiente e carichi di lavoro, la situazione iniziale è una delle seguenti:

  • Ambiente di hosting on-premise o privato con carichi di lavoro e operazioni legacy.
  • Ambiente di hosting on-premise o privato con carichi di lavoro e operazioni ottimizzati per il cloud.
  • Ambiente di hosting cloud pubblico o privato con carichi di lavoro e operazioni legacy.
  • Ambiente di hosting cloud pubblico o privato con carichi di lavoro e operazioni ottimizzati per il cloud.

Il processo di migrazione dipende dal punto di partenza.

La migrazione di un carico di lavoro da un ambiente on-premise legacy o da un ambiente di hosting privato a un ambiente ottimizzato per il cloud, ad esempio un cloud pubblico, può essere difficile e rischiosa. Le migrazioni riuscite riducono il più possibile il carico di lavoro durante le operazioni di migrazione. Il trasferimento delle app on-premise legacy nel cloud richiede spesso 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
  • Ricostruisci: rimuovi e sostituisci, a volte chiamato rip e sostituisci
  • Riacquisto

Nelle sezioni seguenti, ogni tipo di migrazione è definito con esempi di quando utilizzare ciascun tipo.

Rehosting: esegui la migrazione lift and shift

In una migrazione di rehosting, sposti i carichi di lavoro da un ambiente di origine a un ambiente di destinazione con modifiche o refactoring di minore entità o nessuna. Le modifiche che applichi ai carichi di lavoro di cui eseguire la migrazione sono solo le modifiche minime che devi apportare per far sì che i carichi di lavoro funzionino nell'ambiente di destinazione.

Una migrazione di rehosting è ideale quando un carico di lavoro può funzionare così com'è nell'ambiente di destinazione o quando le modifiche aziendali sono minime o nulle. Questa migrazione è il tipo che richiede il tempo minimo perché la quantità di refactoring è mantenuta al minimo.

Potrebbero essersi verificati problemi tecnici che forzano una migrazione di nuovo host. Se non puoi eseguire il refactoring di un carico di lavoro per la migrazione e non puoi dismetterlo, devi utilizzare una migrazione di nuovo host. Ad esempio, può essere difficile o impossibile modificare il codice sorgente del carico di lavoro oppure il processo di compilazione non è semplice, per cui la produzione di nuovi artefatti dopo il refactoring del codice sorgente potrebbe non essere possibile.

Le migrazioni di nuovo host 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 carichi di lavoro esistenti con un refactoring minimo, le migrazioni di rehosting tendono a essere le più rapide rispetto alle migrazioni di refactoring o rigenerazione.

Tuttavia, dopo una migrazione di rehosting, i carichi di lavoro in esecuzione nell'ambiente di destinazione non sono ottimizzati per il cloud. Questi carichi di lavoro non sfruttano appieno le funzionalità della piattaforma cloud, come la scalabilità orizzontale, prezzi granulari e servizi altamente gestiti.

Replatforming: trasferisci e ottimizza

Con una migrazione a più piattaforme, sollevi i carichi di lavoro esistenti e poi li ottimizza per il nuovo ambiente cloud.

Una migrazione replatforming è ideale per le organizzazioni che vogliono sfruttare tutte le competenze fondamentali del cloud. Queste competenze includono calcolo elastico, ridondanza, prestazioni migliorate e sicurezza.

Ad esempio, potresti eseguire il replatforming di un carico di lavoro al cloud per sfruttare un'architettura di microservizi basata su cloud o dei container in Google Kubernetes Engine. Questi carichi di lavoro avranno quindi prestazioni più elevate e una maggiore efficienza in esecuzione nel cloud.

Tuttavia, le migrazioni replatform richiedono più lavoro rispetto al rehosting delle migrazioni. La nuova piattaforma cloud avrà un codebase sottostante diverso, che richiede diversi cicli di test per assicurarsi che tutto funzioni al livello ottimale.

Refactoring: sposta e migliora

In una migrazione di refactoring, si modificano i carichi di lavoro per sfruttare le funzionalità cloud e non solo modificare i carichi di lavoro per farli funzionare nel nuovo ambiente. Puoi migliorare ogni carico di lavoro per prestazioni, funzionalità, costi ed esperienza utente.

Puoi modificare i carichi di lavoro durante la migrazione al cloud o anche prima. Ad esempio, se non hai esperienza con le migrazioni al cloud, potresti preferire modificare i carichi di lavoro durante la migrazione. Tuttavia, se hai esperienza di migrazione al cloud, potresti già avere un'idea delle modifiche necessarie ai carichi di lavoro per sfruttare appieno le funzionalità cloud.

Se l'architettura o l'infrastruttura attuale di un'app non è supportata nell'ambiente di destinazione così com'è, è necessaria una certa quantità di refactoring per superare questi limiti.

Un altro motivo per scegliere l'approccio di refactoring è quando è necessario un aggiornamento importante al carico di lavoro oltre agli aggiornamenti necessari per la migrazione.

Le migrazioni di refactoring consentono alla tua app di sfruttare le funzionalità di una piattaforma cloud, come la scalabilità e l'alta disponibilità. Puoi anche progettare il miglioramento per aumentare la portabilità dell'app.

Tuttavia, le migrazioni di refactoring richiedono più tempo rispetto a quelle di rehosting perché è necessario eseguire il refactoring dei carichi di lavoro per consentire la migrazione dell'app.

La migrazione di refactoring richiede anche l'acquisizione di nuove competenze.

Riprogettazione dell'architettura: continua a modernizzare

Le migrazioni di riprogettazione sono simili a quelle del refactoring. Tuttavia, invece di ristrutturare il funzionamento del codice dei carichi di lavoro, la riprogettazione delle migrazioni cambia il funzionamento del codice. Queste modifiche al codice ottimizzano il carico di lavoro e sfruttano proprietà ottimizzate per il cloud come scalabilità, sicurezza e agilità. Ad esempio, una nuova migrazione dell'architettura può richiedere un carico di lavoro monolitico di grandi dimensioni e trasformarlo in diversi microservizi indipendenti di cui esegui il deployment su Google Cloud.

Una migrazione "re-architect" è più complessa di una migrazione di refactoring, quindi richiede più tempo e impegno. Una nuova migrazione dell'architettura può anche introdurre bug o problemi di sicurezza nei nuovi carichi di lavoro. Pertanto, una nuova migrazione dell'architettura richiede diversi cicli di test per assicurarsi che tutto funzioni al livello ottimale.

Ricrea: rimuovi e sostituisci

Con la ricreazione della migrazione, dismetti un'app esistente, riprogettala e riscrivila 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 citati in precedenza o non è supportata su Google Cloud, puoi eseguire una nuova migrazione.

Ricrea le migrazioni consentono alla tua app di sfruttare appieno le funzionalità di Google Cloud, come la scalabilità orizzontale, i servizi altamente gestiti e l'alta disponibilità. Poiché stai riscrivendo l'app da zero, rimuovi anche il debito tecnico della versione legacy esistente.

Tuttavia, la ricreazione delle migrazioni può richiedere più tempo rispetto al rehosting o al refactoring delle migrazioni. Inoltre, questo tipo di migrazione non è adatto alle app già pronte perché richiede la riscrittura dell'app. Devi valutare il tempo e gli sforzi aggiuntivi necessari per riprogettare e riscrivere l'app come parte del suo ciclo di vita.

Anche una nuova migrazione richiede nuove competenze. Devi utilizzare nuove toolchain per eseguire il provisioning e la configurazione del nuovo ambiente e per eseguire il deployment dell'app in tale ambiente.

Riacquisto

Per riacquisto si intende il passaggio da un carico di lavoro on-premise acquistato a un equivalente Software as a Service (SaaS) ospitato nel cloud. Ad esempio, puoi passare da software di collaborazione on-premise e archiviazione locale a Google Workspace.

Dal punto di vista delle risorse, una nuova migrazione potrebbe essere molto più semplice rispetto al refactoring, alla ricostruzione o alla riprogettazione dell'architettura. Tuttavia, una migrazione di nuovo acquisto potrebbe essere molto più costosa e potresti non ottenere le funzionalità granulari del controllo dei tuoi ambienti cloud.

Framework per l'adozione di Google Cloud

Prima di iniziare la migrazione, valuta la maturità della tua organizzazione nell'adozione di tecnologie cloud. Il framework per l'adozione di Google Cloud funge sia da mappa per determinare dove si trovano attualmente le capacità della tua tecnologia informatica aziendale, sia da guida per i tuoi obiettivi.

Puoi utilizzare questo framework per valutare l'idoneità della tua organizzazione a Google Cloud e cosa devi fare per colmare le lacune e sviluppare nuove competenze, come illustrato nel diagramma seguente.

Architettura del framework per l'adozione di Google Cloud con quattro temi e tre fasi.

Il framework valuta quattro temi:

  • Impara. La qualità e la portata dei tuoi programmi di apprendimento.
  • Lead. Fino a che punto i reparti IT sono supportati da un mandato della dirigenza di eseguire la migrazione a Google Cloud.
  • Scala. Fino a che punto utilizzi i servizi ottimizzati per il cloud e quanta automazione operativa hai implementato.
  • Sicuro. La capacità di proteggere l'ambiente attuale da accessi non autorizzati e inappropriati.

Per ogni tema, dovresti partecipare a una delle seguenti tre fasi, in base al framework:

  • Tattico. Non esiste un piano coerente che copra tutti i singoli carichi di lavoro che hai in atto. Ti interessa soprattutto un rapido ritorno sugli investimenti e una piccola interruzione per la tua organizzazione IT.
  • Strategica. È in atto un piano per sviluppare singoli carichi di lavoro con un occhio alle esigenze di scalabilità future. Ti interessa l'obiettivo a medio termine di semplificare le operazioni per aumentare l'efficienza.
  • Trasformazionale. Le operazioni cloud funzionano senza problemi e si utilizzano i dati raccolti da queste operazioni per migliorare l'attività IT. Ti interessa l'obiettivo a lungo termine di rendere il reparto IT uno dei motori dell'innovazione nella tua organizzazione.

Valutando i quattro argomenti in termini di tre fasi, ottieni la scala di maturità Cloud. In ogni tema puoi vedere cosa accade quando passi dall'adozione di nuove tecnologie quando necessario a una collaborazione più strategica in tutta l'organizzazione, il che significa naturalmente una formazione più profonda, più completa e più coerente per i tuoi team.

Il percorso di migrazione

È importante ricordare che la migrazione è un percorso. Ti trovi al punto A con la tua infrastruttura e i tuoi 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.

Percorso di migrazione con quattro fasi.

La migrazione prevede quattro fasi:

Ricerca di assistenza

Google Cloud offre varie opzioni e risorse per trovare l'aiuto e il supporto 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 del prodotto. Google Cloud fornisce documentazione per ciascuno dei suoi prodotti e servizi, nonché per le API.
  • Documentazione del Centro architetture. La sezione relativa alla migrazione del Centro architetture tratta molti scenari di migrazione. Ad esempio, le risorse di migrazione forniscono indicazioni sul percorso di migrazione a Google Cloud.
  • Strumenti. Google Cloud offre diversi prodotti e servizi per aiutarti a eseguire la migrazione. Ad esempio:
    • Il Centro di migrazione di Google Cloud è una piattaforma unificata che ti aiuta ad accelerare il tuo percorso verso il cloud end-to-end dai tuoi attuali ambienti on-premise o cloud a Google 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 in pochi minuti la migrazione di una macchina virtuale a Google Cloud, dove i dati vengono copiati in background ma le macchine virtuali sono completamente operative.
    • Storage Transfer Service consente di trasferire dati in Cloud Storage da altri cloud provider, risorse online o dati locali.
    • Database Migration Service è un prodotto che consente di eseguire la migrazione dei database a Google Cloud.
    • Transfer Appliance è un'appliance 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 data warehouse a BigQuery.
  • White paper. Questi articoli includono architetture di riferimento, case study, best practice e tutorial avanzati.
  • Contenuti multimediali. Puoi ascoltare il podcast di Google Cloud o guardare uno qualsiasi dei video sul canale YouTube di Google 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 più aziende per consentirti di utilizzare i loro prodotti. Alcune offerte potrebbero essere usate gratuitamente, perciò chiedi all'azienda e al tuo account manager Google Cloud.

Integratori di sistemi

Google Cloud collabora non solo con le aziende di prodotti e tecnologie, ma anche con integratori di sistemi che possono fornire assistenza pratica relativa alle tastiere. Nell'elenco dei partner puoi trovare un elenco di integratori di sistemi specializzati nelle migrazioni al cloud.

Servizi professionali di Google Cloud

Il nostro team di servizi professionali è a tua disposizione per aiutarti a ottenere il massimo dal tuo investimento in Google Cloud.

Piano e nozioni di base di Cloud: ricevi assistenza per la migrazione

I servizi professionali possono aiutarti a pianificare la migrazione ed eseguire il deployment dei carichi di lavoro in produzione con la nostra offerta Cloud Plan e Nozioni di base. Questi esperti forniscono al tuo team indicazioni in ogni fase della migrazione del carico di lavoro in produzione, dalla configurazione delle basi di Google Cloud all'ottimizzazione della piattaforma per le esigenze specifiche dei carichi di lavoro, fino al deployment del carico di lavoro.

Gli obiettivi del piano Cloud e delle nozioni di base sono:

  • Configura gli elementi di base di Google Cloud.
  • Crea la documentazione di progettazione.
  • Pianifica le attività di deployment e migrazione.
  • Esegui il deployment dei carichi di lavoro in produzione.
  • Monitora i problemi e i rischi.

I servizi professionali guidano il tuo team attraverso le seguenti attività e il materiale da consegnare:

  1. Organizzazione di workshop tecnici preliminari.
  2. Creazione di un documento di progettazione tecnica.
  3. Creazione di un piano di migrazione in corso...
  4. Creazione di una carta del programma.
  5. Fornire la gestione dei progetti.
  6. Fornire competenze tecniche.

Cloud Sprint: accelera la migrazione a Google Cloud

Cloud Sprint è un workshop intensivo che accelera la migrazione delle app a Google Cloud. In questo workshop, i servizi professionali di Google Cloud guidano uno dei tuoi team attraverso discussioni interattive, sessioni di lavagna e la revisione delle app di destinazione di cui eseguire la migrazione a Google Cloud. Durante Cloud Sprint, i servizi professionali collaborano con i membri del tuo team per aiutarti a fare un'esperienza diretta con le soluzioni cloud con attività di deployment richieste per aiutarti a comprendere i passaggi successivi per le future migrazioni di Google Cloud.

Formazione: sviluppare le competenze del team

I servizi professionali di Google Cloud possono fornire formazione su campi in base alle esigenze del tuo team.

Passaggi successivi