Questo documento confronta le opzioni di calcolo principali in Google Cloud per aiutarti a selezionare la soluzione o lo strumento migliore per l'architettura, la scalabilità e altri requisiti della tua applicazione.
Per eseguire il deployment dei workload su Google Cloud, puoi scegliere tra una serie di soluzioni o strumenti che bilanciano il controllo sull'infrastruttura con la gestione automatizzata da parte di Google. L'opzione di calcolo selezionata può influire in modo significativo su prestazioni, costi e impegno di manutenzione giornaliera. Per comprendere meglio queste opzioni prima di sceglierne una, consulta la panoramica sul calcolo di Google.
Scegliere un'opzione di calcolo
La soluzione o lo strumento di calcolo migliore per il tuo workload potrebbe dipendere da diversi fattori. Ad esempio, se vuoi eseguire la migrazione del tuo ambiente VMware a Google Cloud, allora utilizza VMware Engine.
Per aiutarti a valutare i compromessi tra gestione dell'infrastruttura, container e istanze Compute Engine, utilizza il seguente diagramma di flusso. Se vuoi confrontare rapidamente le funzionalità delle opzioni di calcolo, consulta la tabella di confronto in questo documento.
Le domande nel diagramma di flusso precedente sono le seguenti:
Vuoi che Google gestisca tutta l'infrastruttura?
Sì: utilizza Cloud Run.
No: vai alla domanda 2.
Vuoi l'orchestrazione dei cluster per i tuoi workload (ad esempio Kubernetes o Slurm)?
Sì: vai alla domanda 4.
No: vai alla domanda 3.
Vuoi gestire tu stesso le VM o le istanze bare metal?
No: utilizza Batch.
Vuoi eseguire applicazioni containerizzate standard (come microservizi o API)?
Sì: utilizza GKE.
No: vai alla domanda 5.
Vuoi che Google gestisca il ciclo di vita del cluster?
Utilizzare Batch
Scegli Batch per workload come l'analisi asincrona dei dati, le attività di conversione video o le simulazioni scientifiche. Con Batch, Google gestisce l'infrastruttura in modo che tu possa pianificare, mettere in coda ed eseguire job di calcolo batch su Google Cloud. Non devi eseguire il deployment o gestire i server autonomamente, ma devi inviare script eseguibili o workload containerizzati a una coda di job.
Batch offre le seguenti funzionalità:
Supporto degli acceleratori: Batch supporta le GPU NVIDIA fino a RTX PRO 6000 per i workload di calcolo batch e ad alte prestazioni (HPC) che richiedono un'elevata velocità effettiva. Batch non supporta le TPU Google.
Controllo del sistema operativo e del kernel: Google gestisce il sistema operativo e l'ambiente di esecuzione per i tuoi job.
Orchestrazione: la coda di job pianifica le attività e le riprova in caso di errore. Per scalare la capacità, il servizio esegue il provisioning e avvia le VM in base al numero di job in coda e le arresta al termine dei job.
Per saperne di più, consulta la guida introduttiva a Batch.
Utilizzare Cloud Run
Scegli Cloud Run per eseguire il deployment di applicazioni web o job containerizzati senza amministrazione del server. Cloud Run è una piattaforma serverless che ti consente di eseguire applicazioni containerizzate senza gestione di server o cluster. Google gestisce tutta l'infrastruttura, inclusi il sistema operativo, il kernel, la configurazione di rete e la gestione della capacità.
Cloud Run offre le seguenti funzionalità:
Supporto degli acceleratori: Cloud Run supporta le GPU NVIDIA RTX PRO 6000 Blackwell e L4. Cloud Run non supporta altri modelli di GPU o TPU Google.
Controllo del sistema operativo e del kernel: puoi creare pacchetti dei workload come container ed eseguire li come servizi web, attività asincrone o job batch.
Orchestrazione: in quanto piattaforma serverless, Google avvia, esegue e scala le istanze container senza intervento manuale. Per i servizi web, Cloud Run aggiunge o rimuove istanze container in base alle richieste in entrata o al consumo di CPU.
Per saperne di più, consulta la pagina Che cos'è Cloud Run.
Utilizzare Cluster Director
Scegli Cluster Director se vuoi addestrare modelli di AI o eseguire job di simulazione pianificati da Slurm senza attività di configurazione del sistema operativo del cluster o della rete. Cluster Director è un servizio gestito che automatizza il deployment e la gestione del ciclo di vita per i cluster AI, ML e HPC.
Cluster Director offre le seguenti funzionalità:
Supporto degli acceleratori: Cluster Director supporta le GPU NVIDIA, inclusi i superchip GB300 Ultra, i superchip GB200, B200, H200, e H100, per i workload di AI, ML e HPC. Cluster Director non supporta le TPU Google.
Controllo del sistema operativo e del kernel: Google gestisce il ciclo di vita del cluster e configura un sistema operativo Ubuntu personalizzato progettato per ML. Il servizio fornisce un ambiente pronto all'uso, completo di nodi di accesso, nodi di calcolo e modelli di deployment creati per i workload di AI.
Orchestrazione: per scalare la capacità, Slurm crea nodi quando il consumo di CPU aumenta ed elimina i nodi quando rimangono inattivi per un periodo di tempo per evitare addebiti non necessari.
Per saperne di più, consulta la panoramica di Cluster Director.
Utilizzare Cluster Toolkit
Scegli Cluster Toolkit se vuoi utilizzare modelli di deployment automatizzati mantenendo il controllo amministrativo sul sistema operativo e sullo stack software. Cluster Toolkit è uno strumento open source utilizzato per il provisioning e la configurazione di cluster AI, ML e HPC su Google Cloud.
Cluster Toolkit offre le seguenti funzionalità:
Supporto degli acceleratori: Cluster Toolkit supporta le GPU NVIDIA e le TPU Google, di cui esegui il provisioning e la configurazione con modelli di deployment chiamati blueprint. Con questi file di configurazione automatizzati, puoi eseguire il deployment di un'infrastruttura di cluster standardizzata e ripetibile basata sui principi di Infrastructure as Code (IaC).
Controllo del sistema operativo e del kernel: Cluster Toolkit esegue il deployment di istanze di calcolo o risorse GKE all'interno del tuo Google Cloud progetto. Dopo aver eseguito il deployment di queste risorse, mantieni il controllo amministrativo sul sistema operativo, sulle impostazioni software e sul ciclo di vita del cluster.
Orchestrazione: per scalare la capacità, configura i gruppi di istanze gestite (MIG) o gli strumenti GKE per aggiungere o rimuovere nodi in base alle impostazioni del modello.
Per saperne di più, consulta la panoramica di Cluster Toolkit.
Utilizzare Compute Engine
Scegli Compute Engine se le tue applicazioni richiedono configurazioni architetturali personalizzate, impostazioni del kernel specializzate o controllo amministrativo sui server virtuali. Compute Engine è la piattaforma IaaS (Infrastructure as a Service) principale di Google Cloud, che ti consente di creare ed eseguire istanze VM e bare metal sull'hardware fisico di Google.
Compute Engine offre le seguenti funzionalità:
Supporto degli acceleratori: Compute Engine supporta le GPU NVIDIA e le TPU Google, che puoi collegare alle istanze di calcolo.
Controllo del sistema operativo e del kernel: mantieni il controllo completo sul sistema operativo, sulle impostazioni del kernel e sui file di avvio e selezioni i processori CPU, le configurazioni di memoria , i tipi di archiviazione e il sistema operativo guest.
Orchestrazione: poiché l'orchestrazione è manuale, devi configurare e gestire le tue istanze di calcolo, le regole di rete, le route del traffico e i sistemi di backup per garantire l'affidabilità. Per scalare la capacità, aggiungi o rimuovi le istanze di calcolo in base alle esigenze, utilizza strumenti personalizzati o configura i MIG per regolare la capacità del cluster.
Per saperne di più, consulta la panoramica di Compute Engine.
Utilizzare GKE
Scegli Google Kubernetes Engine (GKE) quando hai bisogno di una piattaforma di orchestrazione basata su container robusta per applicazioni distribuite o microservizi per uso generico. GKE è una piattaforma Kubernetes gestita standard del settore per eseguire il deployment, scalare e orchestrare applicazioni containerizzate. Google gestisce il piano di controllo Kubernetes per la sicurezza e la disponibilità del sistema.
GKE offre le seguenti funzionalità:
Supporto degli acceleratori: GKE supporta le GPU NVIDIA e le TPU Google per i workload containerizzati.
Controllo del sistema operativo e del kernel: Google gestisce il sistema operativo sia in modalità Autopilot che Standard. In modalità Autopilot, Google gestisce i nodi del cluster e le modifiche della capacità senza intervento manuale. In modalità Standard, gestisci i pool di nodi del cluster.
Orchestrazione: per regolare la capacità in base alle variazioni della domanda, GKE aggiunge o rimuove i container con Horizontal Pod Autoscaler (HPA e VPA) e aggiunge o rimuove i nodi con il gestore della scalabilità automatica del cluster. GKE orchestra anche i job batch tramite Kueue.
Per saperne di più, consulta la panoramica di GKE.
Utilizzare VMware Engine
Scegli VMware Engine per eseguire la migrazione dei tuoi workload VMware on-premise all' Google Cloud infrastruttura con modifiche operative minime. VMware Engine è un servizio gestito che ti consente di eseguire macchine virtuali VMware sull'hardware Google senza modifiche alle applicazioni.
VMware Engine offre le seguenti funzionalità:
Supporto degli acceleratori: VMware Engine non supporta GPU o TPU.
Controllo del sistema operativo e del kernel: puoi eseguire le applicazioni VMware su Google Cloud come le esegui nella configurazione esistente. Google gestisce l'hardware fisico, l'infrastruttura di rete e la piattaforma software VMware, come vSphere, vCenter, vSAN e NSX-T. Mantieni il controllo amministrativo sulle VM, sul sistema operativo guest e sugli strumenti di gestione VMware.
Orchestrazione: per regolare le dimensioni del cloud privato, aggiungi o rimuovi nodi ESXi dedicati.
Per saperne di più, consulta la panoramica di Google Cloud VMware Engine.
Confrontare le opzioni di calcolo
Per identificare la soluzione o lo strumento di calcolo adatto al tuo workload, confronta le funzionalità tecniche delle opzioni di calcolo nella tabella seguente:
| Opzione di calcolo | GPU | TPU | Controllo del sistema operativo e del kernel | Orchestrazione | Scalabilità |
|---|---|---|---|---|---|
| Batch | Fino a NVIDIA RTX PRO 6000 | No | Gestita da Google | Coda di job | Automatica in base ai job in coda |
| Cloud Run | NVIDIA RTX PRO 6000 Blackwell e L4 | No | Gestita da Google | Serverless | Automatica in base alle richieste o al consumo di CPU |
| Cluster Director | NVIDIA GB300 Ultra Superchip, GB200 Superchip, B200, H200 e H100 | No | Gestita da Google (Ubuntu personalizzato) | Slurm | Automatica in base al consumo di CPU |
| Cluster Toolkit | Tutte le GPU NVIDIA disponibili | Tutte le TPU Google disponibili | Autogestita | File di configurazione automatizzati (IaC) | Personalizzabile utilizzando i MIG o gli strumenti GKE |
| Compute Engine | Tutte le GPU NVIDIA disponibili | Tutte le TPU Google disponibili | Autogestita | Manuale | Manuale o automatica utilizzando i MIG |
| Google Kubernetes Engine (GKE) | Tutte le GPU NVIDIA disponibili | Tutte le TPU Google disponibili | Gestita da Google (Autopilot) o semi-gestita (Standard) | Kubernetes | Scalabilità automatica di pod e nodi |
| VMware Engine | No | No | Gestita da Google | Piattaforma VMware | Manuale utilizzando i nodi ESXi |
Esplorare le funzionalità di AI Hypercomputer per AI e ML
AI Hypercomputer è un'architettura integrata che combina hardware appositamente progettato, software open source e modelli di consumo flessibili. Questa architettura è progettata specificamente per aumentare la produttività di ML e massimizzare il goodput, ovvero la velocità di trasferimento dei dati utili, per i workload di AI impegnativi.
AI Hypercomputer offre le seguenti funzionalità:
Supporto degli acceleratori: AI Hypercomputer supporta tutte le GPU NVIDIA e le TPU Google. Gli acceleratori si connettono tramite una rete a larghezza di banda elevata per ottimizzare la velocità effettiva dei modelli di AI su migliaia di istanze di calcolo.
Controllo del sistema operativo e del kernel: il controllo sul sistema operativo e sul kernel dipende dallo strumento di deployment scelto:
Ambienti gestiti da Google: se scegli Cluster Director, Google gestisce l'ambiente del cluster e il ciclo di vita. Se scegli GKE in modalità Autopilot, Google gestisce l'ambiente container.
Ambienti autogestiti: se scegli Cluster Toolkit, Compute Engine o GKE in modalità Standard, gestisci le risorse del cluster e il sistema operativo.
Orchestrazione: puoi utilizzare Slurm, GKE o orchestratori personalizzati per aggiungere o rimuovere istanze di calcolo, pod o container nel cluster quando la domanda di calcolo cambia.
Per saperne di più, consulta la panoramica di AI Hypercomputer.