Scelta e gestione delle risorse di computing

Last reviewed 2023-10-03 UTC

Questo documento nel Framework dell'architettura Google Cloud fornisce le best practice per eseguire il deployment del sistema in base ai requisiti di calcolo. Tu scopri come scegliere una piattaforma di computing e un approccio alla migrazione, progettare e scalare carichi di lavoro e gestire operazioni e migrazioni delle VM.

Il calcolo è al centro di molti carichi di lavoro, indipendentemente dal fatto che si tratti l'esecuzione di una logica di business personalizzata o l'applicazione di modelli degli algoritmi rispetto ai set di dati. La maggior parte delle soluzioni utilizza le risorse di calcolo in qualche modo, ed è fondamentale selezionare le risorse di computing giuste per il tuo le esigenze dell'applicazione.

Google Cloud offre diverse opzioni per l'utilizzo del tempo su una CPU. Opzioni si basano sui tipi di CPU, sulle prestazioni e sulla pianificazione dell'esecuzione del codice. inclusa la fatturazione per l'utilizzo.

Le opzioni di calcolo di Google Cloud includono quanto segue:

  • Macchine virtuali (VM) con vantaggi specifici per il cloud come la migrazione live.
  • "Bin packing" dei container su macchine cluster che possono condividere CPU.
  • Funzioni e approcci serverless, in cui è possibile utilizzare il tempo di CPU calcolato in base al lavoro svolto durante una singola richiesta HTTP.

Scelta del computing

Questa sezione fornisce le best practice per scegliere ed eseguire la migrazione a un cluster di computing completamente gestita.

Scegli una piattaforma di computing

Quando scegli una piattaforma di computing per il tuo carico di lavoro, considera le requisiti del carico di lavoro, processi di automazione del ciclo di vita, regionalizzazione, e sicurezza.

Valuta la natura dell'utilizzo della CPU da parte della tua app e dell'intero sistema di supporto. incluse le modalità di pacchettizzazione e deployment del codice, distribuito e richiamato. Anche se alcuni scenari potrebbero essere compatibili con più opzioni di piattaforma, una portabile di carico di lavoro deve essere in grado di funzionare su una gamma le opzioni di CPU e memoria disponibili.

La tabella seguente fornisce una panoramica dei servizi Google Cloud consigliati di computing per vari casi d'uso:

Piattaforma di computing Casi d'uso Prodotti consigliati
Serverless
  • Esegui il deployment della tua prima app.
  • Concentrati sulla logica dei dati e di elaborazione e sullo sviluppo delle app, anziché nella manutenzione dell'infrastruttura.
  • Cloud Run: inserisci la tua azienda la logica nei container utilizzando questa opzione serverless completamente gestita. Cloud Run è progettato per carichi di lavoro ad alta intensità di calcolo, ma non sempre. Scalabilità economicamente vantaggiosa da 0 (nessun traffico) e definisci la CPU e la RAM per le tue attività e i tuoi servizi. Esegui il deployment con un singolo comando e Google esegue automaticamente il provisioning della giusta quantità di risorse.
  • Cloud Functions: separa il codice in pezzi flessibili di logica di business senza preoccuparsi dell'infrastruttura di bilanciamento del carico, aggiornamenti, autenticazione o scalabilità.
Kubernetes Creare architetture di microservizi complesse che richiedono servizi aggiuntivi come Istio per gestire il controllo del mesh di servizi.
  • Google Kubernetes Engine: uno strumento open source di orchestrazione dei container che automatizza il deployment, la scalabilità per la gestione delle app containerizzate.
Macchine virtuali (VM) Esegui carichi di lavoro per uso generico e specializzati su VM.

Per ulteriori informazioni, vedi Hosting di applicazioni su Google Cloud.

Scegli un approccio alla migrazione del computing

Se stai eseguendo la migrazione delle applicazioni esistenti da un altro cloud da on-premise, utilizza uno dei seguenti prodotti Google Cloud per per ottimizzare prestazioni, scalabilità, costi e sicurezza.

Obiettivo della migrazione Caso d'uso Prodotto consigliato
lift and shift Esegui la migrazione o estendi i tuoi carichi di lavoro VMware in Google Cloud in minuti. Google Cloud VMware Engine
lift and shift Sposta le tue applicazioni basate su VM in Compute Engine. Eseguire la migrazione alle macchine virtuali
Upgrade ai container Modernizzare le applicazioni in container integrati Google Kubernetes Engine. Eseguire la migrazione ai container

Per scoprire come eseguire la migrazione dei carichi di lavoro allineando al contempo i team interni, consulta Ciclo di vita della migrazione delle VM e Creazione di un programma di migrazione su larga scala con Google Cloud.

Progettazione di carichi di lavoro

Questa sezione fornisce le best practice per la progettazione di carichi di lavoro in grado di supportare di un sistema operativo completo.

Valuta le opzioni serverless per una logica semplice

La logica semplice è un tipo di calcolo che non richiede hardware specializzato. o tipi di macchina, come le macchine ottimizzate per la CPU. Prima di investire in Google Kubernetes Engine (GKE) o Compute Engine implementazioni per astrarre l'overhead operativo e ottimizzare costi e del rendimento, valutare opzioni serverless per una logica leggera.

Disaccoppia le applicazioni per renderle stateless

Se possibile, disaccoppia le applicazioni in modo che siano stateless in modo da massimizzare l'uso serverless computing le opzioni di CPU e memoria disponibili. Questo approccio ti consente di utilizzare offerte di computing gestito, applicazioni basate sulla domanda, nonché ottimizzare costi e prestazioni. Per maggiori informazioni informazioni sul disaccoppiamento dell'applicazione per la progettazione su larga scala la disponibilità, consulta Progetta per la scalabilità e la disponibilità elevata.

Utilizza la logica di memorizzazione nella cache quando disaccoppia le architetture

Se l'applicazione è progettata per essere stateful, utilizza la logica di memorizzazione nella cache per disaccoppiare e rendere scalabile il carico di lavoro. Per ulteriori informazioni, vedi Best practice per i database.

Utilizzare le migrazioni live per facilitare gli upgrade

Per facilitare gli upgrade di manutenzione di Google, usa la migrazione live impostando criteri di disponibilità delle istanze. Per ulteriori informazioni, vedi Imposta il criterio di manutenzione dell'host della VM

Scalabilità dei carichi di lavoro

Questa sezione fornisce le best practice per scalare i carichi di lavoro in modo da supportare di un sistema operativo completo.

Usa gli script di avvio e arresto

Per le applicazioni stateful, usa avvio e arresto ove possibile, per avviare e arrestare lo stato dell'applicazione in modo controllato. R L'avvio rapido è quando un computer viene acceso da una funzione software e il sistema operativo può eseguire le sue attività di avvio processi e l'apertura di connessioni.

Avvio e chiusura efficienti sono importanti perché le applicazioni stateful dipendono dalla disponibilità immediata dei dati vicini al computing, di solito su dischi locali o permanenti o nella RAM. per evitare di eseguire l'applicazione i dati dall'inizio per ogni avvio, utilizza uno script di avvio per ricaricare gli ultimi dati salvati ed eseguire il processo dal punto in cui si è interrotto arrestato. Salvare lo stato della memoria dell'applicazione per evitare di perdere i progressi fatti usare uno script di chiusura. Ad esempio, utilizza uno script di chiusura quando una VM viene di cui è stata pianificata l'interruzione a causa dello scale down o di eventi di manutenzione di Google.

Usa i gruppi di istanze gestite per supportare la gestione delle macchine virtuali

Quando utilizzi VM di Compute Engine, gruppi di istanze gestite i gruppi di istanze gestite supportano funzionalità come riparazione automatica, bilanciamento del carico, scalabilità automatica, aggiornamento carichi di lavoro stateful. Puoi creare impostazioni a livello di zona MIG a livello di regione in base ai tuoi obiettivi di disponibilità. Puoi usare i gruppi di istanze gestite per la pubblicazione stateless carichi di lavoro in batch e per le applicazioni stateful che devono conservare stato univoco.

Usa i gestori della scalabilità automatica dei pod per scalare i carichi di lavoro GKE

Utilizza le funzionalità di orizzontale e Horizontal Pod Autoscaler per scalare i carichi di lavoro e provisioning automatico dei nodi per scalare le risorse di computing sottostanti.

Distribuisci il traffico dell'applicazione

Per scalare le tue applicazioni a livello globale, usa Cloud Load Balancing per distribuire le istanze delle applicazioni in più di una regione o zona. I bilanciatori del carico ottimizzano il routing dei pacchetti da Google Cloud reti perimetrali alla zona più vicina, aumentando l'efficienza del traffico e minimizza i costi di distribuzione. Per ottimizzare per la latenza dell'utente finale, utilizza Cloud CDN memorizzare nella cache contenuti statici, ove possibile.

Automatizza la creazione e la gestione del calcolo

Riduci al minimo gli errori indotti dall'uomo nel tuo ambiente di produzione automatizzando per la creazione e la gestione del computing.

Gestione delle operazioni

Questa sezione fornisce le best practice per gestire le operazioni a supporto di un sistema operativo completo.

Usa le immagini pubbliche fornite da Google

Usa immagini pubbliche fornite da Google Cloud. Il servizio pubblico di Google Cloud vengono aggiornate regolarmente. Per ulteriori informazioni, vedi Elenco di immagini pubbliche disponibili su Compute Engine.

Puoi anche creare immagini personalizzate con configurazioni e impostazioni specifiche. Ove possibile, automatizza centralizzare la creazione di immagini in un progetto separato che puoi condividere di utenti autorizzati all'interno dell'organizzazione. Creazione e selezione di un'immagine personalizzata in un progetto separato ti consente di aggiornare, applicare patch e creare una VM configurazioni. Puoi quindi condividere l'immagine VM selezionata con i progetti pertinenti.

Usa gli snapshot per i backup del disco

Gli snapshot ti consentono di creare backup dei dischi. Gli snapshot sono particolarmente utile per le applicazioni stateful, che non sono abbastanza flessibili per mantenere o salvare i progressi quando si verificano arresti bruschi. Se utilizzi spesso per creare nuove istanze, puoi ottimizzare il processo di backup creando un'immagine di base da quello snapshot.

Usa un'immagine della macchina per abilitare la creazione di istanze VM

Sebbene uno snapshot acquisisca solo un'immagine dei dati all'interno di una macchina, l'immagine macchina acquisisce le configurazioni e le impostazioni della macchina, e i dati di Google Cloud. Utilizza un immagine macchina per archiviare tutte le configurazioni, i metadati, le autorizzazioni e i dati da uno o necessari per creare un'istanza VM.

Quando crei una macchina da uno snapshot, devi configurare le impostazioni dell'istanza sulle nuove istanze VM, il che richiede molto lavoro. L'uso delle immagini macchina consente copio queste impostazioni note su nuove macchine, riducendo l'overhead. Per maggiori informazioni le informazioni, vedi Quando utilizzare un'immagine macchina.

Capacità, prenotazioni e isolamento

Questa sezione fornisce le best practice per gestire capacità, prenotazioni per supportare il tuo sistema.

Usa gli sconti per impegno di utilizzo per ridurre i costi

Puoi ridurre i costi delle spese operative (OPEX) per i carichi di lavoro sempre attiva utilizzando sconti per impegno di utilizzo. Per ulteriori informazioni, consulta la sezione Costi categoria di ottimizzazione.

Scegli i tipi di macchine per supportare costi e prestazioni

Google Cloud offre tipi di macchine che ti consentono di scegliere il computing in base a i parametri di costo e prestazioni. Puoi scegliere un'offerta a basso rendimento ottimizzare i costi o scegliere un'opzione di computing ad alte prestazioni e a un costo superiore. Per ulteriori informazioni, consulta la sezione Costi categoria di ottimizzazione.

Utilizza i nodi single-tenant per supportare le esigenze di conformità

I nodi single-tenant sono server Compute Engine fisici e dedicato all'hosting solo delle VM del tuo progetto. I nodi single-tenant possono aiutarti per soddisfare i requisiti di conformità per l'isolamento fisico, tra cui:

  • Mantieni le VM fisicamente separate dalle VM in altri progetti.
  • Raggruppa le tue VM sullo stesso hardware host.
  • Isolare i carichi di lavoro di elaborazione dei pagamenti.

Per ulteriori informazioni, vedi Nodi single-tenant.

Utilizza le prenotazioni per garantire la disponibilità delle risorse

Google Cloud ti consente di definire prenotazioni per i tuoi carichi di lavoro, in modo che queste risorse siano sempre disponibili. Non sono presenti comporta un costo aggiuntivo per la creazione di prenotazioni, ma paghi per le risorse prenotate anche se non le usi. Per ulteriori informazioni, vedi Utilizzo e gestione delle prenotazioni.

Migrazione delle VM

Questa sezione fornisce le best practice per la migrazione delle VM per supportare il tuo sistema.

Valuta gli strumenti di migrazione integrati

Valuta gli strumenti di migrazione integrati per spostare i carichi di lavoro da un altro cloud o da on-premise. Per ulteriori informazioni, vedi Migrazione a Google Cloud. Google Cloud offre strumenti e servizi per aiutarti a eseguire la migrazione dei tuoi carichi di lavoro e ottimizzare costi e prestazioni. Per ricevere un costo di migrazione gratuito in base al tuo panorama IT attuale, consulta Valutazione rapida di Google Cloud e di migrazione.

Usa l'importazione del disco virtuale per sistemi operativi personalizzati

Per eseguire un'importazione personalizzata sistemi operativi supportati, vedi Importazione di dischi virtuali. I nodi single-tenant possono aiutarti a rispettare la tua licenza Bring Your Own License per l'hardware i requisiti per le licenze per core o per processore. Per ulteriori informazioni, vedi Bring Your Own License.

Consigli

Per applicare le linee guida del framework dell'architettura al tuo ambiente, ti consigliamo di procedere come segue:

  • Rivedi Google Cloud Marketplace per valutare se la tua applicazione è elencata in un elenco supportato di terze parti. Google Cloud supporta l'esecuzione di vari sistemi open source e vari software di terze parti.

  • Prendi in considerazione Eseguire la migrazione ai container e a GKE per estrarre e pacchettizzare la tua applicazione basata su VM come in esecuzione su GKE.

  • Utilizza le funzionalità di Compute Engine per eseguire le tue applicazioni su Google Cloud. Se disponi di versioni precedenti di dipendenze in esecuzione in un'applicazione basata su VM, verifica se soddisfano i requisiti del tuo fornitore.

  • Valuta utilizzando un bilanciatore del carico di rete passthrough interno di Google Cloud per scalare disaccoppiata. Per ulteriori informazioni, vedi Panoramica del bilanciatore del carico di rete passthrough interno.

  • Valuta le tue opzioni per il passaggio dall'utilizzo convenzionale on-premise come l'utilizzo del proxy ad alta disponibilità. Per ulteriori informazioni, vedi best practice per gli indirizzi IP mobili.

  • Utilizza le funzionalità di Gestore VM per gestire i sistemi operativi per grandi gruppi di VM che eseguono finestre Linux su Compute Engine e applicare criteri di configurazione coerenti.

  • Valuta l'uso GKE Autopilot e consenti a Google SRE di gestire completamente i tuoi cluster.

  • Utilizza Policy Controller e Config Sync per la gestione di criteri e configurazioni in tutti i tuoi cluster GKE.

  • Garantisci la disponibilità e la scalabilità delle macchine in regioni e diverse. Google Cloud può scalare per supportare le tue esigenze di calcolo. Tuttavia, se hai bisogno di molti tipi di macchine specifici in una specifica regione o zona, collabora con i team dedicati agli account per verificarne la disponibilità. Per ulteriori informazioni, vedi Prenotazioni per Compute Engine.

Passaggi successivi

Scopri i principi di progettazione del networking, tra cui:

Esplora altre categorie nella Framework dell'architettura come affidabilità, eccellenza operativa e sicurezza, privacy e conformità.