Questo documento presenta i servizi di computing disponibili in Google Cloud. Comprendendo lo spettro di astrazione del controllo e della gestione dell'infrastruttura, puoi acquisire le conoscenze di base necessarie per scegliere il servizio di computing giusto per i tuoi workload.
Il termine computing si Google Cloud riferisce alle risorse di computing virtualizzate, come la potenza di elaborazione e la memoria, necessarie per eseguire le applicazioni. Queste risorse vanno dalle istanze di macchine virtuali (VM) non elaborate alle piattaforme completamente gestite. Con le istanze VM, puoi personalizzare completamente il sistema operativo (OS), il networking e lo stack software. Per le piattaforme gestite, Google gestisce la maggior parte dell'infrastruttura sottostante.
Aree di servizio di alto livello
La categoria di computing su Google Cloud comprende le seguenti aree di servizio chiavi:
Istanze VM e istanze bare metal: Compute Engine fornisce istanze VM e bare metal configurabili in cui puoi installare e gestire il tuo sistema operativo e le tue applicazioni. Questa configurazione include anche l'aggiunta di unità di elaborazione grafica (GPU) o unità di elaborazione tensoriale (TPU) a un'istanza VM o bare metal personalizzata.
Container: servizi come Google Kubernetes Engine (GKE) consentono di eseguire il deployment e la gestione di applicazioni containerizzate.
Elaborazione batch: servizi come Batch ti aiutano a eseguire job asincroni su larga scala.
Infrastruttura AI: include servizi e hardware specializzati come Cluster Director e Cluster Toolkit. Questi servizi sono progettati per eseguire workload di addestramento e inferenza complessi e orchestrati per l'intelligenza artificiale (AI) o il machine learning (ML) su larga scala.
Infrastruttura HPC: include servizi e hardware specializzati per eseguire workload di computing ad alte prestazioni (HPC), come simulazioni fisiche strettamente accoppiate, modelli meteorologici o dinamiche molecolari.
Controllo e astrazione nell'infrastruttura
Google Cloud offre servizi di computing su uno spettro di controllo e astrazione. Le due categorie principali sono le seguenti:
Infrastructure as a Service
Infrastructure as a Service (IaaS) è il modello che offre il massimo controllo. Gestisci il sistema operativo, il middleware e le applicazioni. Google gestisce invece la virtualizzazione, i server, lo spazio di archiviazione e il networking sottostanti. Le soluzioni IaaS disponibili in Google Cloud includono le seguenti:
Compute Engine: questo servizio consente di creare ed eseguire istanze VM e bare metal sull'infrastruttura di Google. Compute Engine offre la flessibilità necessaria per eseguire un'ampia gamma di workload, consentendoti di scegliere tra varie serie di macchine, servizi di archiviazione, acceleratori e sistemi operativi guest.
Google Cloud VMware Engine: un servizio che consente di eseguire la migrazione ed eseguire i workload VMware in modo nativo su Google Cloud. Google gestisce l'hardware sottostante e la piattaforma VMware. Mantieni il controllo completo delle VM, dei sistemi operativi guest e delle applicazioni. Questo approccio ti aiuta a passare al cloud senza riprogettare gli ambienti VMware esistenti.
IaaS è spesso preferito da architetti dell'infrastruttura, ingegneri dell'infrastruttura ML e ingegneri di piattaforma che devono progettare e gestire ambienti personalizzati da zero.
Piattaforme e servizi gestiti
Le piattaforme e i servizi gestiti offrono un equilibrio tra controllo e facilità d'uso. Google gestisce l'infrastruttura sottostante, il sistema operativo e gli ambienti di runtime in modo che tu possa concentrarti sull'esecuzione dei tuoi workload. Le soluzioni gestite che sono disponibili in Google Cloud includono le seguenti:
Batch: un servizio gestito che consente di pianificare, inserire in coda, ed eseguire job di computing batch su larga scala. Batch esegue il provisioning delle risorse di Compute Engine per eseguire i job e gestisce il loro ciclo di vita, quindi non è necessario gestire direttamente le istanze VM o bare metal sottostanti.
Cloud Run: una piattaforma completamente gestita che consente di sviluppare ed eseguire il deployment di applicazioni containerizzate a scalabilità elevata su un'infrastruttura serverless. Cloud Run esternalizza tutta la gestione dell'infrastruttura. Questa astrazione consente di eseguire container che rispondono a richieste web o eventi senza dover gestire server o cluster.
Cluster Director: un servizio gestito che automatizza la configurazione complessa dei cluster AI, ML o di computing ad alte prestazioni (HPC). Google gestisce l'infrastruttura del cluster, consentendoti di concentrarti sull'esecuzione dei workload con un overhead operativo minimo.
Cluster Toolkit: un toolkit open source che consente di eseguire il provisioning di cluster AI, ML o HPC su Google Cloud utilizzando blueprint predefiniti. Gestisci l'infrastruttura del cluster risultante, ma il toolkit astrae il processo di deployment e ti consente di personalizzare i deployment e lo stack software.
GKE: un ambiente gestito per l'esecuzione di applicazioni containerizzate su Kubernetes. Google gestisce il piano di controllo Kubernetes, mentre tu esegui il deployment e la gestione dei workload containerizzati. A seconda della modalità di deployment (Autopilot o Standard), puoi scegliere il livello di controllo che vuoi avere sull'infrastruttura sottostante.
Le piattaforme e i servizi gestiti sono spesso preferiti da data scientist, ricercatori di AI e ingegneri ML che vogliono eseguire rapidamente il provisioning delle risorse ed eseguire il deployment dei workload senza una gestione approfondita dell'infrastruttura.