Questo documento ti aiuta a pianificare, progettare e implementare il processo di migrazione dei carichi di lavoro a Google Cloud. Lo spostamento di app da un ambiente a un altro è un'attività impegnativa, anche per team esperti, quindi devi pianificare ed eseguire la migrazione con attenzione.
Questo documento fa parte della seguente serie in più parti sulla migrazione a Google Cloud:
- Migrazione a Google Cloud: guida introduttiva (questo documento)
- Migrazione a Google Cloud: valutazione e individuazione dei carichi di lavoro
- Esegui la migrazione a Google Cloud: pianifica e getta le basi
- Migrazione a Google Cloud: trasferimento dei tuoi set di dati di grandi dimensioni
- Esegui la migrazione a Google Cloud: esegui il deployment dei tuoi carichi di lavoro
- Esegui la migrazione a Google Cloud: esegui la migrazione dai deployment manuali a quelli automatizzati e containerizzati
- Esegui la migrazione a Google Cloud: ottimizza il tuo 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, da un altro cloud provider aGoogle Cloudo se stai valutando l'opportunità di eseguire la migrazione e vuoi capire come potrebbe essere.
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 la piena proprietà e responsabilità. Mantieni il controllo completo di ogni aspetto dell'ambiente, come raffreddamento, sicurezza fisica e manutenzione dell'hardware.
In un ambiente di hosting privato, ad esempio una struttura di colocation, esternalizzi parte dell'infrastruttura fisica e della sua gestione a una terza parte. Questa infrastruttura viene in genere condivisa tra i clienti. In un ambiente di hosting privato, non devi gestire i servizi di sicurezza fisica e sicurezza. 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 tuo conto. In genere, i cavi di alimentazione e di rete vengono forniti come servizio, quindi non devi gestirli. Mantieni il controllo completo degli hypervisor che virtualizzano le risorse fisiche, dell'infrastruttura virtualizzata che esegui il provisioning e dei carichi di lavoro che esegui su questa infrastruttura.
Un ambiente cloud pubblico ha il vantaggio di non dover gestire l'intero stack di risorse in autonomia. Puoi concentrarti sull'aspetto dello stack più prezioso 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 e deployare i tuoi carichi di lavoro in questa nuova infrastruttura. Puoi anche acquistare servizi completamente gestiti, in cui ti occupi solo dei tuoi carichi di lavoro, delegando l'onere 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 | Tu | Fornitore di servizi | Fornitore di servizi |
Cavi di alimentazione e di rete | Tu | Fornitore di servizi | Fornitore di servizi |
Hardware (manutenzione inclusa) | Tu | Dipende dal fornitore di servizi | Fornitore di servizi |
Piattaforma di virtualizzazione | Tu | Tu | Fornitore di servizi |
Risorse app | Tu | Tu | Tu (sfruttando alla fine i 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 processi operativi correlati inclusi nell'ambito della migrazione. Questo documento prende in esame due tipi di carichi di lavoro e operazioni: legacy e ottimizzati per il cloud.
I carichi di lavoro e le operazioni legacy vengono sviluppati senza alcuna considerazione per gli ambienti cloud. Questi workload e queste operazioni possono essere difficili da modificare e costosi da eseguire e gestire perché in genere non supportano alcun tipo di scalabilità.
I workload e le operazioni ottimizzati per il cloud sono scalabili, portabili, disponibili e sicuri in modo nativo. I carichi di lavoro e le operazioni possono contribuire ad aumentare la produttività e l'agilità degli sviluppatori, perché questi possono concentrarsi sui carichi di lavoro effettivi, anziché impegnarsi a gestire lo sviluppo e gli ambienti di runtime o occuparsi di processi di deployment manuali e complessi. Google Cloud Dispone anche di 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 carichi di lavoro che esegui il deployment nell'infrastruttura.
Considerando questi tipi di ambiente e di workload, la tua 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 pubblico o privato con carichi di lavoro e operazioni legacy.
- Ambiente di hosting 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 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 trasferimento di 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 rimozione e sostituzione
- 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 minimi o nulli. Le modifiche che applichi ai workload da migrare sono solo quelle minime necessarie per consentire ai workload di operare nell'ambiente di destinazione.
Una migrazione di rehosting è ideale quando un carico di lavoro può operare così com'è nell'ambiente di destinazione o quando non c'è alcuna necessità aziendale di cambiamento. Questa migrazione è il tipo che richiede meno tempo perché la quantità di refactoring è ridotta al minimo.
Potrebbero verificarsi problemi tecnici che forzano una migrazione di rehosting. Se non puoi eseguire il refactoring di un carico di lavoro per 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 ilprocesso di compilazioned non è semplice, quindi 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 prima. Queste migrazioni supportano anche software già pronti. 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 ricompilazione.
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, i prezzi granulari e i servizi altamente gestiti.
Replatforming: trasferisci e ottimizza
In una migrazione di replatforming, trasferisci i carichi di lavoro esistenti e poi li ottimizzi per il nuovo ambiente cloud.
Una migrazione con piattaforme aggiuntive è ideale per le organizzazioni che vogliono sfruttare tutte le competenze principali del cloud. Queste competenze includono l'elasticità del computing, la ridondanza, prestazioni migliorate e sicurezza.
Ad esempio, potresti effettuare il replatforming di un carico di lavoro nel cloud per sfruttare un'architettura di microservizi basata su cloud o container in Google Kubernetes Engine. Questi carichi di lavoro avranno quindi prestazioni più elevate e maggiore efficienza quando verranno eseguiti nel cloud.
Tuttavia, le migrazioni con cambio di piattaforma richiedono più lavoro rispetto alle migrazioni di rehosting. 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 refactoring, modifichi i workload per sfruttare le funzionalità del cloud e non solo per farli funzionare nel nuovo ambiente. Puoi migliorare ogni carico di lavoro in termini di 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 molta esperienza con le migrazioni al cloud, potresti preferire modificare i workload durante la migrazione. Tuttavia, se hai esperienza di migrazione al cloud, potresti già avere un'idea delle modifiche che i carichi di lavoro devono apportare 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'è, è necessario un certo refactoring per superare questi limiti.
Un altro motivo per scegliere l'approccio di refactoring è quando è necessario un aggiornamento principale del carico di lavoro oltre agli aggiornamenti da apportare per la migrazione.
Le migrazioni di refactoring consentono alla tua app di sfruttare le funzionalità di una piattaforma cloud, come scalabilità e alta disponibilità. Puoi anche progettare il miglioramento per aumentare la portabilità dell'app.
Tuttavia, le migrazioni di refactoring richiedono più tempo rispetto alle migrazioni di rehosting perché i carichi di lavoro devono essere sottoposti a refactoring affinché l'app possa essere migrata.
Una migrazione di refactoring richiede anche l'apprendimento di nuove competenze.
Riprogettazione dell'architettura: continua a modernizzare
Le migrazioni di riprogettazione sono simili alle migrazioni di 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 carico di lavoro e sfruttano le proprietà ottimizzate per il cloud, come scalabilità, sicurezza e agilità. Ad esempio, una migrazione con riprogettazione dell'architettura può prendere un carico di lavoro monolitico di grandi dimensioni e trasformarlo in diversi microservizi indipendenti che puoi eseguire il deployment su Google Cloud.
Una migrazione con riprogettazione dell'architettura è più complessa di una migrazione con refactoring, quindi richiede più tempo e impegno. Una migrazione con riprogettazione dell'architettura può anche potenzialmente introdurre bug o problemi di sicurezza nei nuovi carichi di lavoro. Pertanto, una migrazione con riprogettazione richiede diversi round di test per assicurarsi che tutto funzioni al livello ottimale.
Ricostruisci: rimuovi e sostituisci
In una migrazione basata sulla ricreazione, ritiri 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, la migrazione è troppo costosa utilizzando uno degli approcci menzionati in precedenza o non è supportata su Google Cloud, puoi eseguire una migrazione con ricompilazione.
Le migrazioni di ricompilazione consentono alla tua app di sfruttare appieno le funzionalità diGoogle Cloud , come scalabilità orizzontale, servizi altamente gestiti e alta disponibilità. Poiché stai riscrivendo l'app da zero, rimuovi anche il debito tecnico della versione legacy esistente.
Tuttavia, le migrazioni di ricompilazione possono richiedere più tempo rispetto alle migrazioni di rehosting o refactoring. Inoltre, questo tipo di migrazione non è adatto alle app pronte all'uso 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 ricompilazione richiede anche nuove competenze. Devi utilizzare nuove toolchain per eseguire il provisioning e configurare il nuovo ambiente e per eseguire il deployment dell'app in quell'ambiente.
Riacquisto
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 con riacquisto potrebbe essere molto più semplice rispetto al refactoring, alla ricreazione o alla riprogettazione dell'architettura. Tuttavia, una migrazione con riacquisto potrebbe essere molto più costosa e potresti non ottenere le funzionalità granulari di controllo dei tuoi ambienti cloud.
Google Cloud Framework per l'adozione
Prima di iniziare la migrazione, devi valutare il livello di maturità della tua organizzazione nell'adozione delle tecnologie cloud. Il Google Cloud framework per l'adozione funge sia da mappa per determinare dove si trovano ora le capacità della tua tecnologia informatica aziendale, sia da guida per raggiungere i tuoi obiettivi.
Puoi utilizzare questo framework per valutare la preparazione della tua organizzazione per Google Cloud e cosa devi fare per colmare le lacune e sviluppare nuove competenze, come illustrato nel seguente diagramma.
Il framework valuta quattro temi:
- Scopri di più. 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 eseguire la migrazione a Google Cloud.
- Scala. La misura in cui utilizzi i servizi ottimizzati per il cloud e il livello di automazione operativa in atto.
- Sicuro. La possibilità di proteggere l'ambiente attuale da accessi non autorizzati e inappropriati.
Per ogni tema, devi trovarti in una delle tre fasi seguenti, in base al framework:
- Tattico. Non esistono piani coerenti che coprano tutti i singoli carichi di lavoro che hai implementato. Ti interessa principalmente un rapido ritorno sugli investimenti e un'interruzione minima della tua organizzazione IT.
- Strategico. È in atto un piano per sviluppare singoli carichi di lavoro in funzione 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.
- Trasformativo. Le operazioni cloud funzionano senza problemi e utilizzi i dati raccolti 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 base alle 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 a un utilizzo più strategico in tutta l'organizzazione, il che significa naturalmente una formazione più approfondita, completa e coerente per i tuoi team.
Percorso di migrazione
È importante ricordare che una migrazione è un percorso. Ti trovi nel 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 viaggio.
La migrazione prevede quattro fasi:
- Valuta. In questa fase, esegui una valutazione e un'analisi approfondite dell'ambiente esistente per comprendere l'inventario di app e ambienti, 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 saperne di più sulla fase di valutazione, consulta Eseguire la migrazione a Google Cloud: valutazione e individuazione dei carichi di lavoro, Eseguire la migrazione a Google Cloud: best practice e Migration Center: avviare l'individuazione degli asset.
- Piano. In questa fase, crei l'infrastruttura cloud di base in cui risiedono i tuoi carichi di lavoro e pianifichi come spostare le app. Questa pianificazione include la gestione delle identità, la struttura dell'organizzazione e del progetto, 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 delle basi, consulta la pagina Eseguire la migrazione a Google Cloud: pianificare e creare le basi.
- Esegui il deployment. In questa fase, progetti, implementi ed esegui un processo di deployment per spostare i carichi di lavoro in Google Cloud. Potresti anche dover perfezionare la tua infrastruttura cloud per soddisfare nuove esigenze. Per ulteriori informazioni su come eseguire il deployment dei carichi di lavoro su Google Cloud e su come eseguire la migrazione dei dati a Google Cloud, consulta Eseguire la migrazione a Google Cloud: esegui il deployment dei carichi di lavoro, Eseguire la migrazione a Google Cloud: esegui la migrazione dai deployment manuali a quelli automatizzati e containerizzati e Eseguire 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 termini di prestazioni, scalabilità, ripristino di emergenza, costi, formazione, nonché per aprire le porte alle integrazioni di machine learning e intelligenza artificiale per la tua app. Per ulteriori informazioni su come ottimizzare l'ambiente, consulta Eseguire la migrazione a Google Cloud: ottimizzare l'ambiente. Per maggiori informazioni sui costi, consulta la pagina Eseguire la migrazione a Google Cloud: ridurre al minimo i costi.
Trovare assistenza
Google Cloud offre varie opzioni e risorse per aiutarti a trovare l'assistenza 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 la documentazione per ciascuno dei suoi prodotti e servizi, nonché per le API.
- Documentazione del Centro architetture. La sezione Migrazione dell'Architecture Center copre molti scenari di migrazione. Ad esempio, le risorse per la migrazione forniscono indicazioni sul percorso di migrazione a Google Cloud.
- Strumenti. Google Cloud fornisce diversi prodotti e servizi per aiutarti
nella migrazione. Ad esempio:
- Il Centro di migrazione di Google Cloud è 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 a Google Cloud in pochi minuti, durante i quali i dati vengono copiati in background, ma le macchine virtuali sono completamente operative.
- Storage Transfer Service ti consente di trasferire dati a Cloud Storage da altri provider cloud, risorse online o dati locali.
- Database Migration Service è un prodotto che consente di eseguire la migrazione dei 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 data warehouse a BigQuery.
- White paper. Questi documenti includono architetture di riferimento, case study, best practice e tutorial avanzati.
- Contenuti multimediali. Puoi ascoltare il Google Cloud podcast o guardare uno dei video sul Google Cloud canale YouTube. 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 live.
Partner tecnologici
Google Cloud ha collaborato con diverse aziende per consentirti di utilizzare i loro prodotti. Alcune offerte potrebbero essere gratuite, quindi chiedi all'azienda e al tuo Google Cloud account manager.
Integratori di sistemi
Google Cloud collabora non solo con aziende di prodotti e tecnologie, ma anche con integratori di sistemi che possono fornire assistenza pratica. Nell'elenco dei partner, puoi trovare un elenco di integratori di sistemi specializzati in migrazioni al cloud.
Google Cloud Servizi professionali
Il nostro team di servizi professionali è a tua disposizione 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 e a eseguire il deployment dei carichi di lavoro in produzione con la nostra offerta Cloud Plan and Foundations. Questi esperti forniscono al tuo team indicazioni per ogni fase della migrazione del carico di lavoro in produzione, dalla configurazione delle basi all'ottimizzazione della piattaforma per le esigenze specifiche del carico di lavoro e al deployment del carico di lavoro. Google Cloud
Gli obiettivi di Cloud Plan and Foundations sono:
- Configura la base Google Cloud .
- Crea la documentazione di progettazione.
- Pianifica le attività di implementazione e migrazione.
- Esegui il deployment dei carichi di lavoro in produzione.
- Monitora problemi e rischi.
I servizi professionali guidano il tuo team attraverso le seguenti attività e risultati:
- Organizzazione di workshop tecnici di avvio.
- Creazione di un documento di progettazione tecnica.
- Creazione di un piano di migrazione.
- Creazione di una carta del programma.
- Fornire la gestione dei progetti.
- Fornire competenze tecniche.
Cloud Sprint: accelera la migrazione a Google Cloud
Cloud Sprint è un workshop intensivo che accelera la migrazione delle app aGoogle Cloud. In questo workshop, Google Cloud Professional Services guida uno dei tuoi team attraverso discussioni interattive, sessioni di whiteboarding e revisione delle app di destinazione da migrare Google Cloud. Durante lo sprint cloud, i servizi professionali collaborano con i membri del tuo team per aiutarti ad acquisire esperienza diretta con le soluzioni cloud con le attività di deployment richieste per aiutarti a comprendere i passaggi successivi per le future migrazioni. Google Cloud
Formazione: sviluppa le competenze del tuo team
Google Cloud Professional Services può fornire formazione in vari campi in base alle esigenze del tuo team.
Passaggi successivi
- Scopri quando trovare assistenza per le migrazioni.
- Per ulteriori architetture di riferimento, diagrammi e best practice, esplora il Cloud Architecture Center.
Collaboratori
Autore: Marco Ferrari | Cloud Solutions Architect