Questo documento ti aiuta a pianificare, progettare e implementare la migrazione dei tuoi container a Google Cloud. Se eseguito in modo errato, spostare i carichi di lavoro da un ambiente a un altro può essere un'attività impegnativa, quindi pianifica ed esegui attentamente la migrazione Questo documento fa parte di una serie in più parti sulla migrazione a Google Cloud. Se sei interessato a una panoramica della serie, consulta Migrazione a Google Cloud: scelta del percorso di migrazione Questo documento fa parte di una serie che tratta della migrazione dei container a Google Cloud: - Migrazione dei container in Google Cloud: guida introduttiva (questo documento) - Migrazione dei container su Google Cloud: migrazione di Kubernetes a Google Kubernetes Engine (GKE) - Migrazione dei container a Google Cloud: migrazione a un nuovo ambiente GKE - Migrazione dei container a Google Cloud: migrazione a un ambiente GKE multi-cluster con Multi Cluster Service Discovery e Multi Cluster Ingress - Migrazione dei container su Google Cloud: migrazione da OpenShift ad Anthos Questo documento è utile per un'ampia varietà di scenari, sia che tu stia iniziando con container in esecuzione on-premise, in un ambiente di hosting privato o in un altro provider di servizi cloud, sia che tu stia migrare l'intero carico di lavoro su Google Cloud o mantenere parte del carico di lavoro on-premise o in un ambiente di hosting privato Questo documento è utile anche se stai valutando l'opportunità di migrare e vuoi esplorare come potrebbe essere e quali opzioni hai. Esistono vari ambienti in cui un container può eseguire i carichi di lavoro disponibili su Google Cloud. La scelta di un'opzione rispetto alle altre dipende da diversi fattori e nessuna opzione è intrinsecamente migliore delle altre. Ogni ambiente ha i suoi punti di forza e di debolezza. Per scegliere un ambiente, procedi come segue: - Stabilire una serie di criteri per valutare gli ambienti container per eseguire i carichi di lavoro - Valutare ogni ambiente rispetto ai criteri di valutazione - Scegli l'ambiente più adatto alle tue esigenze Non devi scegliere lo stesso ambiente per tutti i tuoi carichi di lavoro. Se disponi di diversi tipi o classi di carichi di lavoro, puoi scegliere ambienti diversi per ognuno di questi tipi o classi ## Progettazione della migrazione a Google Cloud Per eseguire la migrazione dei tuoi container dal tuo ambiente di origine a Google Cloud, ti consigliamo di seguire il framework descritto nella serie Migration to Google Cloud Il seguente diagramma illustra il percorso del viaggio di migrazione Il quadro illustrato nel diagramma precedente prevede quattro fasi: Valutare. In questa fase, valuti il ​​tuo ambiente di origine, valuti i carichi di lavoro di cui desideri eseguire la migrazione a Google Cloud e stabilisci quale ambiente può supportare ciascun carico di lavoro. Piano. In questa fase, crei l'infrastruttura di base per i tuoi carichi di lavoro, come il provisioning della gerarchia delle risorse e la configurazione dell'accesso alla rete. Distribuisci. In questa fase esegui la migrazione dei container dall'ambiente di origine a Google Cloud. Ottimizzare. In questa fase, inizi a sfruttare le tecnologie e le capacità del cloud ## Stabilire criteri per valutare gli ambienti container per eseguire i carichi di lavoro Per stabilire i criteri per valutare le opzioni per l'ambiente del contenitore per eseguire i carichi di lavoro, considera le funzionalità più importanti di cui hai bisogno in questi ambienti. Per raccogliere informazioni sulle funzionalità di cui hai più bisogno, valuti i tuoi carichi di lavoro. Per ulteriori informazioni sulla valutazione dei carichi di lavoro, consulta Migrazione a Google Cloud: valutazione e individuazione dei carichi di lavoro Questi criteri di valutazione e l'ordine in cui sono elencati ne sono un esempio. Dovresti valutare i tuoi carichi di lavoro per compilare un elenco dei criteri importanti per te e per i tuoi carichi di lavoro e ordinarli in base all'importanza. Ad esempio, dopo aver valutato i carichi di lavoro, potresti prendere in considerazione i seguenti criteri di valutazione, elencati in ordine di importanza: Prestazione. L'ambiente aggiunge un sovraccarico che potrebbe degradare le prestazioni dei tuoi carichi di lavoro? Scalabilità. Quali caratteristiche di scalabilità offre l'ambiente? Sono sufficienti per i requisiti di scalabilità dei tuoi carichi di lavoro, sia in termini di tempi di reazione che di logica di scalabilità? Grado di controllo e flessibilità. Quanto controllo vuoi sull'ambiente? Puoi personalizzare l'ambiente in base alle tue esigenze? Affidabilità. Quali garanzie offre l'ambiente? Sono sufficienti per i tuoi carichi di lavoro? È sufficientemente affidabile per implementare efficaci strategie di alta disponibilità e ripristino di emergenza? Onere gestionale. Quanto sforzo è necessario spendere per gestire l'ambiente? Hai bisogno di formare i tuoi team per acquisire le competenze necessarie o puoi utilizzare le loro conoscenze esistenti? Requisiti per utilizzare il servizio. Esistono requisiti, contratti tecnici o interfacce a cui devono attenersi i carichi di lavoro? Devi impegnarti in modo significativo per rendere il tuo carico di lavoro compatibile con l'ambiente? Persistenza dei dati. L'ambiente del contenitore per l'esecuzione dei carichi di lavoro supporta la persistenza dei dati? Questa persistenza è compatibile con i requisiti dei tuoi carichi di lavoro, incluse prestazioni, affidabilità e normative legali? Modello di prezzo e costi. È possibile utilizzare l'ambiente in modo economicamente vantaggioso? Sei in grado di ottenere un adeguato ritorno sull'investimento passando a un ambiente container per eseguire i carichi di lavoro? A prova di futuro. L'ambiente offre percorsi di aggiornamento che puoi utilizzare per far evolvere i tuoi carichi di lavoro? Integrazione con altri servizi. L'ambiente si integra con altri servizi Google Cloud e con i servizi di altri fornitori di servizi cloud? Bloccare. L'ambiente ti blocca in particolari tecnologie, paradigmi o interfacce? L'ambiente ostacola la portabilità dei carichi di lavoro? Sicurezza. L'ambiente soddisfa i requisiti di sicurezza e privacy? ## Valutazione dell'ambiente del contenitore per eseguire i carichi di lavoro Su Google Cloud, hai diverse opzioni per l'esecuzione dei container. Per scegliere l'opzione migliore per i tuoi carichi di lavoro, devi prima valutarli in base ai criteri di valutazione che hai stabilito in precedenza. Per ogni ambiente, gli assegni un punteggio rispetto a ciascun criterio di valutazione da una scala arbitraria e ordinata. Ad esempio, è possibile assegnare a ciascun ambiente un punteggio da una scala da 1 a 10 rispetto a ciascun criterio di valutazione Per eseguire i container su Google Cloud, consigliamo le seguenti opzioni, presentate in ordine crescente in base al controllo che hai sull'infrastruttura sottostante: - Cloud Run e Cloud Run per Anthos - Cluster Google Kubernetes Engine (GKE) e Anthos - Motore di calcolo Potresti essere in grado di assegnare punteggi rispetto ad alcuni dei criteri leggendo la documentazione del prodotto. Ad esempio, puoi già valutare Cloud Run rispetto a prestazioni, scalabilità, grado di controllo e flessibilità, integrazione con altri servizi. Tuttavia, per assegnare punteggi rispetto ad altri criteri, potrebbe essere necessario progettare ed eseguire simulazioni e benchmark più approfonditi. Ad esempio, potresti dover confrontare le prestazioni di diversi runtime di container per valutare se aggiungono un notevole sovraccarico ai tuoi carichi di lavoro Cloud Run e Cloud Run per Anthos Cloud Run è una piattaforma gestita per l'esecuzione di carichi di lavoro stateless containerizzati basati su Knative. I carichi di lavoro containerizzati gestiti da Cloud Run possono essere eseguiti su quanto segue: - Se scegli Cloud Run, i tuoi carichi di lavoro vengono eseguiti su un'infrastruttura gestita da Google - Se scegli Cloud Run per Anthos, i tuoi carichi di lavoro vengono eseguiti su GKE, che può essere su Google Cloud, on-premise o su altri fornitori di servizi cloud Utilizza il seguente elenco per valutare Cloud Run e Cloud Run per Anthos in base ai criteri stabiliti in precedenza: Prestazione.Cloud Run e Cloud Run per Anthos utilizzano i container Docker, che hanno prestazioni simili ai carichi di lavoro non containerizzati, quindi i container non aggiungono alcun notevole sovraccarico di prestazioni.Scalabilità.Cloud Run ridimensiona automaticamente le istanze dei tuoi carichi di lavoro e ti consente di ridimensionare la tua applicazione fino a zero istanze.Questa funzionalità è utile se i tuoi carichi di lavoro non devono avere istanze sempre in esecuzione.Per ridurre al minimo il tempo di avvio dell'istanza, ottimizza l'inizializzazione dei carichi di lavoro.Grado di controllo e flessibilità.Cloud Run e Cloud Run per Anthos sono adatti per i carichi di lavoro che richiedono il controllo completo dell'ambiente containerizzato in cui vengono eseguiti i carichi di lavoro, ma non è necessario personalizzare tale ambiente.Affidabilità.Cloud Run e Cloud Run per Anthos si integrano con Cloud Monitoring, Cloud Logging, Cloud Audit Logs e Error Reporting in modo da avere copertura sul monitoraggio delle prestazioni e accesso a container, richieste, errori e audit log.Onere gestionale.Cloud Run e Cloud Run per Anthos gestiscono l'ambiente in modo che tu possa concentrarti sui tuoi carichi di lavoro, invece di impegnarti per il provisioning, la configurazione e la manutenzione dell'infrastruttura sottostante.Requisiti per utilizzare il servizio.I tuoi carichi di lavoro devono rispettare un contratto di runtime del container, quindi se non puoi impegnarti ulteriormente per renderli compatibili con Cloud Run, ti consigliamo di scegliere una delle altre opzioni.Per ulteriori informazioni sulle limitazioni di Cloud Run, consulta Problemi noti di Cloud Run.Persistenza dei dati.Cloud Run e Cloud Run per Anthos sono progettati per eseguire container stateless.Se i tuoi carichi di lavoro hanno requisiti di persistenza dei dati, devi eseguire il provisioning e configurare un altro sistema di persistenza dei dati.Se hai bisogno di un ambiente di runtime container per carichi di lavoro stateful, ti consigliamo di scegliere un'opzione diversa.Modello di prezzo e costi.Cloud Run addebita le risorse di elaborazione utilizzate dai tuoi carichi di lavoro.Cloud Run per Anthos è incluso nell'abbonamento Anthos.A prova di futuro.Cloud Run ti consente di eseguire rollback, implementazioni graduali e migrazione del traffico.Puoi utilizzare queste funzionalità per le tue pipeline di distribuzione.Integrazione con altri servizi.Cloud Run può connettersi a una rete VPC (Virtual Private Cloud) che consente l'accesso alle VM di Compute Engine e a qualsiasi altra risorsa con indirizzi IP interni.Blocco.Cloud Run è basato su Knative.Se ti sforzi di rendere i tuoi carichi di lavoro compatibili con Knative, puoi eseguire i tuoi carichi di lavoro containerizzati in Cloud Run, GKE, cluster Anthos su VMware o qualsiasi altro ambiente di runtime compatibile con Knative senza ulteriori modifiche.Sicurezza.I carichi di lavoro in esecuzione su Cloud Run vengono sottoposti a sandbox utilizzando gVisor.Cloud Run per Anthos non utilizza alcuna sandbox del container, ma utilizza le funzionalità di isolamento del container Kubernetes predefinite.Puoi proteggere le tue risorse Cloud Run gestendo l'accesso con Identity and Access Management (IAM) e configurando un'identità del servizioPer ulteriori informazioni, consulta Scelta di una piattaforma Cloud RunCluster GKE e AnthosI cluster GKE e Anthos sono servizi gestiti da Google che forniscono un ambiente container per l'esecuzione dei carichi di lavoro.Entrambi i cluster GKE e Anthos eseguono i tuoi carichi di lavoro containerizzati nei cluster Kubernetes.Con GKE, i cluster vengono eseguiti su Google Cloud e con i cluster Anthos, i cluster possono essere eseguiti su Google Cloud, on-premise o in altri ambienti cloud pubbliciUtilizza il seguente elenco per valutare i cluster GKE e Anthos in base ai criteri stabiliti in precedenza:Performance.I cluster GKE e Anthos utilizzano i container Docker, che hanno prestazioni simili ai carichi di lavoro non containerizzati in modo che i container non aggiungano un notevole sovraccarico di prestazioni.Scalabilità.I cluster GKE e Anthos includono una logica di dimensionamento ottimizzata che puoi adattare alle tue esigenze.Puoi ridimensionare i tuoi carichi di lavoro e i tuoi cluster GKE e Anthos sia verticalmente che orizzontalmente.Se non hai bisogno di una logica di scalabilità complessa, ti consigliamo di scegliere un'opzione diversa perché altrimenti potresti dover dedicare sforzi significativi per configurare meccanismi di scalabilità efficaci.Grado di controllo e flessibilità.Puoi eseguire il provisioning e configurare cluster GKE e Anthos in base alle tue esigenze.Puoi personalizzare ogni aspetto dei nodi del cluster, inclusi storage, networking e sicurezza.Google gestisce il piano di controllo per te, quindi se hai bisogno di personalizzare la configurazione del piano di controllo, ti consigliamo di scegliere un'opzione diversa.Affidabilità.I cluster GKE e Anthos si integrano con Cloud Monitoring e Cloud Logging in modo da avere una copertura completa sul monitoraggio delle prestazioni e l'accesso a log di container, richieste, errori e audit.Puoi aumentare l'affidabilità del tuo ambiente con le opzioni di alta disponibilità dei cluster regionali GKE e dei cluster Anthos.Onere gestionale.Con GKE, non devi gestire il piano di controllo dei tuoi cluster e i cluster Anthos ti consentono di gestire tutti i cluster Kubernetes con la stessa toolchain e gli stessi processi.Questa funzionalità riduce notevolmente lo sforzo necessario per gestire l'ambiente, ma è necessario gestire parte dell'infrastruttura sottostante.Ad esempio, con GKE puoi gestire i nodi del cluster.La maggior parte delle operazioni di gestione può essere automatizzata, ma è comunque qualcosa che devi considerare quando pianifichi lo sforzo necessario per mantenere l'ambiente.Se hai bisogno di un ambiente container completamente gestito per eseguire i carichi di lavoro, ti consigliamo di scegliere un'opzione diversa.Requisiti per utilizzare il servizio.Per distribuire i tuoi carichi di lavoro su cluster GKE o Anthos, devi containerizzarli.Persistenza dei dati.GKE e Anthos possono eseguire applicazioni con stato e storage su disco persistente.Modello di prezzo e costi.GKE addebita una tariffa di gestione del cluster e per le risorse utilizzate dai nodi del cluster.I cluster Anthos sono inclusi nell'abbonamento Anthos.A prova di futuro.I cluster GKE e Anthos hanno entrambi le funzionalità per gestire processi di distribuzione complessi.Integrazione con altri servizi.Ai carichi di lavoro distribuiti sui cluster GKE e Anthos può essere concesso l'accesso ad altri servizi Google Cloud, se configuri i sistemi di connettività, autenticazione e autorizzazione necessari.Blocco.Dopo aver containerizzato i tuoi carichi di lavoro per eseguirli su cluster GKE o Anthos, puoi portarli in altri ambienti con piccoli aggiustamenti.Kubernetes è una piattaforma portatile e non ti blocca in un ambiente di fornitori.Sicurezza.GKE offre molti modi per proteggere i tuoi nodi, il piano di controllo e i carichi di lavoro:Per ulteriori informazioni, consulta Panoramica sulla sicurezza di GKEPer ulteriori informazioni sulla migrazione a GKE e Anthos, consulta Migrazione dei container a Google Cloud: Migrazione di Kubernetes a GKE e Migrazione dei container a Google Cloud: Migrazione da OpenShift ad AnthosCompute EngineCompute Engine ti consente di creare e esegui VM sull'infrastruttura GoogleSebbene sia possibile eseguire container su VM di Compute Engine, ti consigliamo di scegliere uno degli altri ambienti container per eseguire i carichi di lavoro descritti in questo documento.Lo sforzo necessario per gestire un ambiente autogestito in esecuzione su Compute Engine supera di gran lunga i vantaggi che potresti ottenere in cambioTuttavia, se scegli di eseguire i container su VM di Compute Engine, utilizza il seguente elenco per valutare Compute Engine in base ai criteri stabiliti in precedenza: Prestazione. Le VM di Compute Engine non hanno alcun runtime di container preinstallato, quindi scegli quello che meglio soddisfa i tuoi requisiti. Scalabilità. Compute Engine utilizza i gruppi di istanze gestite per ridimensionare automaticamente le istanze VM. Quando configuri i meccanismi di scalabilità automatica di un gruppo di istanze gestite, definisci i segnali di scalabilità automatica che Compute Engine utilizza per aumentare o diminuire la scalabilità del gruppo di istanze gestite. Grado di controllo e flessibilità. Puoi personalizzare ogni aspetto del provisioning e della configurazione di ogni VM di Compute Engine, purché rispetti le quote delle risorse di Compute Engine. Affidabilità. Puoi monitorare le VM di Compute Engine con Cloud Monitoring, Cloud Logging e Cloud Audit Logs in modo da avere una copertura completa sul monitoraggio delle prestazioni e sui log. Compute Engine utilizza anche i gruppi di istanze gestite, il controllo dello stato dell'istanza e la riparazione automatica. Onere gestionale. Le VM di calcolo sono autogestite, quindi pianifica uno sforzo operativo considerevole per gestire efficacemente l'ambiente. Requisiti per utilizzare il servizio. Finché i tuoi carichi di lavoro vengono eseguiti su uno dei sistemi operativi supportati, puoi eseguirli sulle VM di Compute Engine. Per ulteriori informazioni sulle limitazioni di Compute Engine, consulta Problemi noti di Compute Engine. Persistenza dei dati. Compute Engine offre diverse opzioni per la persistenza dei dati, come dischi permanenti di zona, dischi permanenti regionali e unità a stato solido locali. Modello di prezzo e costi. Compute Engine addebita le risorse necessarie ai tuoi carichi di lavoro. A prova di futuro. Puoi installare qualsiasi strumento di integrazione, distribuzione, provisioning o gestione della configurazione sulle VM di Compute Engine per i tuoi processi di distribuzione. Integrazione con altri servizi. Ai carichi di lavoro distribuiti su Compute Engine può essere concesso l'accesso ad altri servizi Google Cloud, se configuri i necessari sistemi di connettività, autenticazione e autorizzazione. Bloccare. Utilizzando Compute Engine, non sei vincolato a nessun prodotto o servizio proprietario. Puoi creare le tue immagini del sistema operativo in modo che i tuoi processi di provisioning e configurazione siano automatizzati e portabili. Sicurezza. Compute Engine aiuta a migliorare la sicurezza del tuo ambiente: - Meccanismi di controllo degli accessi - VM schermate per verificare l'integrità delle tue VM - Nodi single-tenant per avere accesso esclusivo ai nodi fisici Per ulteriori informazioni, consulta Protezione di Google Cloud ## Scelta dell'opzione corretta per l'ambiente di destinazione Nelle sezioni precedenti, hai assegnato un valore a ogni criterio per ogni prodotto. Per calcolare il punteggio totale di ogni ambiente contenitore per l'esecuzione dei carichi di lavoro, devi aggiungere tutte le classificazioni per quell'ambiente in base ai criteri. Ad esempio, se un ambiente ha ottenuto un punteggio di 10 rispetto al criterio delle prestazioni e 6 rispetto al criterio di scalabilità, il punteggio totale di tale ambiente è 16 Puoi anche assegnare pesi diversi al punteggio rispetto a ciascun criterio in modo da poter rappresentare l'importanza che ciascun criterio ha per la tua valutazione. Ad esempio, se le prestazioni sono più importanti della scalabilità nella tua valutazione, potresti definire dei moltiplicatori per riflettere ciò: un moltiplicatore 1,0 per le prestazioni e un moltiplicatore 0,7 per la scalabilità. Quindi utilizzi questi moltiplicatori per calcolare il punteggio totale di un'opzione Dopo aver calcolato il punteggio totale di ogni ambiente che hai valutato, organizzi gli ambienti in base al punteggio totale, in ordine decrescente. Quindi, scegli l'opzione con il punteggio più alto come ambiente preferito Esistono diversi modi per rappresentare questi dati, ad esempio puoi visualizzare i risultati con un grafico adatto a rappresentare dati multivariati, come un grafico a radar ## Qual è il prossimo - Migrazione a Google Cloud: come iniziare - Migrazione dei container su Google Cloud: migrazione da Kubernetes a GKE - Migrazione dei container su Google Cloud: migrazione da OpenShift ad Anthos - Esplora architetture di riferimento, diagrammi, tutorial e best practice su Google Cloud. Dai un'occhiata al nostro Cloud Architecture Center.