Questo principio del pilastro di ottimizzazione dei costi del framework di architettura di Google Cloud fornisce consigli per aiutarti a pianificare e eseguire il provisioning delle risorse in modo che corrispondano ai requisiti e ai modelli di consumo dei tuoi carichi di lavoro cloud.
Panoramica dei principi
Per ottimizzare il costo delle risorse cloud, devi comprendere a fondo i requisiti delle risorse e i pattern di carico dei tuoi carichi di lavoro. Questa interpretazione è la base per un modello di costo ben definito che ti consenta di prevedere il costo totale della proprietà (TCO) e identificare i fattori di costo lungo il percorso di adozione del cloud. Analizzando e prevedendo in modo proattivo la spesa per il cloud, puoi ottenere informazioni scelte relative al provisioning, all'utilizzo e all'ottimizzazione dei costi delle risorse. Questo approccio consente di controllare la spesa per il cloud, evitare il provisioning eccessivo e garantire che le risorse cloud siano in linea con le esigenze dinamiche dei carichi di lavoro e degli ambienti.
Consigli
Per ottimizzare in modo efficace l'utilizzo delle risorse cloud, considera i seguenti suggerimenti.
Scegliere risorse specifiche per l'ambiente
Ogni ambiente di deployment ha requisiti diversi in termini di disponibilità, l'affidabilità e la scalabilità. Ad esempio, gli sviluppatori potrebbero preferire un ambiente che consente loro di eseguire rapidamente il deployment ed eseguire applicazioni per brevi periodi di tempo, ma non necessitano di alta disponibilità. D'altra parte, un ambiente di produzione in genere richiede un'alta disponibilità. Per massimizzare l'utilizzo delle risorse, definisci requisiti specifici per l'ambiente in base alle esigenze della tua attività. La tabella seguente elenca esempi di requisiti specifici per l'ambiente.
Ambiente | Requisiti |
Produzione |
|
Sviluppo e test |
|
Altri ambienti (ad esempio di gestione temporanea e controllo qualità) |
|
Scegli risorse specifiche per i carichi di lavoro
Ogni carico di lavoro cloud potrebbe avere requisiti diversi in termini di disponibilità, scalabilità, sicurezza e prestazioni. Per ottimizzare i costi, è necessario allineare delle risorse con i requisiti specifici di ciascun carico di lavoro. Ad esempio: un'applicazione stateless potrebbe non richiedere lo stesso livello di disponibilità l'affidabilità come backend stateful. La seguente tabella elenca ulteriori esempi di requisiti specifici per i carichi di lavoro.
Tipo di carico di lavoro | Requisiti del carico di lavoro | Opzioni di risorse |
Mission critical | Disponibilità continua, sicurezza solida e prestazioni elevate | Risorse premium e servizi gestiti come Spanner per un'alta disponibilità e una coerenza globale dei dati. |
Non critica | Infrastruttura economica e con scalabilità automatica | Risorse con funzionalità di base e risorse effimere come le VM spot. |
Basata su eventi | Scalabilità dinamica basata sulla domanda attuale di capacità e prestazioni | Servizi serverless come Cloud Run e funzioni Cloud Run. |
Carichi di lavoro sperimentali | Ambiente flessibile e a basso costo per sviluppo, iterazione, test e innovazione rapidi | Risorse con funzionalità di base, risorse temporanee come VM spot e ambienti sandbox con limiti di spesa definiti. |
Un vantaggio del cloud è l'opportunità di sfruttare e alla potenza di calcolo adeguata per un determinato carico di lavoro. Vengono sviluppati alcuni carichi di lavoro per sfruttare i set di istruzioni del processore e altri potrebbero non essere in questo modo. Confronta e profila i tuoi carichi di lavoro di conseguenza. Classifica i carichi di lavoro e scegli le risorse specifiche per ciascun carico di lavoro (ad esempio, scegli le famiglie di macchine appropriate per le VM Compute Engine). Questa prassi aiuta ottimizzare i costi, favorire l'innovazione, mantenere il livello di disponibilità e le prestazioni necessarie per i tuoi carichi di lavoro.
Di seguito sono riportati alcuni esempi di come implementare questo consiglio:
- Per i carichi di lavoro mission-critical che servono utenti distribuiti a livello globale, valuta la possibilità di utilizzare Spanner. Spanner elimina la necessità di deployment di database complessi assicurando l'affidabilità e la coerenza dei dati in tutte le regioni.
- Per i carichi di lavoro con livelli di carico variabili, utilizza la scalabilità automatica per assicurarti di non sostenere costi quando il carico è basso e, al contempo, di mantenere una capacità sufficiente per soddisfare il carico corrente. Puoi configurare la scalabilità automatica Servizi Google Cloud, inclusi VM Compute Engine, cluster Google Kubernetes Engine (GKE), e Cloud Run. Quando configuri Scalabilità automatica, puoi configurare i limiti massimi di scalabilità per garantire che i costi rimangono entro i budget specificati.
Seleziona le regioni in base ai requisiti di costo
Per i tuoi carichi di lavoro cloud, valuta attentamente le risorse Google Cloud disponibili regioni e scegliere quelle in linea con i tuoi obiettivi di costo. La regione con il costo più basso potrebbe non offrire una latenza ottimale o non soddisfare le tue requisiti di sostenibilità. Prendi decisioni consapevoli su dove implementare i carichi di lavoro per raggiungere il bilanciamento desiderato. Puoi utilizzare lo strumento per la selezione della regione Google Cloud per comprendere i compromessi tra costo, sostenibilità, latenza e altri fattori.
Utilizzare le opzioni di ottimizzazione dei costi integrate
I prodotti Google Cloud offrono funzionalità integrate per aiutarti a ottimizzare l'utilizzo delle risorse e a controllare i costi. La tabella seguente elenca alcuni esempi di costi funzionalità di ottimizzazione utilizzabili in alcuni prodotti Google Cloud:
Prodotto | Funzionalità di ottimizzazione dei costi |
Compute Engine |
|
GKE |
|
Cloud Storage |
|
BigQuery |
|
Google Cloud VMware Engine |
|
Condivisione delle risorse di Optimize
Per massimizzare l'utilizzo delle risorse cloud, puoi eseguire il deployment le applicazioni o i servizi sulla stessa infrastruttura, soddisfacendo al contempo alla sicurezza e ad altri requisiti delle applicazioni. Ad esempio, negli ambienti di sviluppo e di test, puoi utilizzare la stessa infrastruttura cloud per testare tutti i componenti di un'applicazione. Per l'ambiente di produzione, puoi eseguire il deployment ogni componente su un insieme separato di risorse per limitare l'entità dell'impatto il caso di incidenti.
Di seguito sono riportati alcuni esempi di come implementare questo consiglio:
- Utilizza una singola istanza Cloud SQL per più ambienti di produzione.
- Consenti a più team di sviluppo di condividere un cluster GKE utilizzando la funzionalità di gestione del team del parco risorse in GKE Enterprise con i controlli di accesso appropriati.
- Usa GKE Autopilot per sfruttare i vantaggi tecniche di ottimizzazione dei costi come il bin packing e la scalabilità automatica, GKE esegue l'implementazione per impostazione predefinita.
- Per i carichi di lavoro di IA e ML, risparmia sui costi delle GPU utilizzando strategie di condivisione delle GPU come GPU multi-istanza, GPU con condivisione del tempo e NVIDIA MPS.
Sviluppare e gestire le architetture di riferimento
Crea e gestisci un repository di architetture di riferimento personalizzate per soddisfare i requisiti di diversi ambienti di deployment e tipi di carichi di lavoro. Per semplificare la procedura di progettazione e implementazione dei singoli progetti, i blueprint possono essere gestiti centralmente da un team come un Cloud Center of Excellence (CCoE). Team di progetto scegliere progetti adatti in base a criteri ben definiti, per garantire coerenza dell'architettura e adozione di best practice. Per i requisiti che sono specifici di un progetto, il team di progetto e il team di architettura centrale devono collaborare per progettare nuove architetture di riferimento. Puoi condividere le architetture di riferimento all'interno dell'organizzazione per promuovere la condivisione delle conoscenze ed espandere il repository delle soluzioni disponibili. Questo approccio garantisce coerenza, accelera lo sviluppo, semplifica il processo decisionale e promuove un utilizzo efficiente delle risorse.
Esamina le architetture di riferimento fornite da Google per vari casi d'uso e tecnologie. Queste architetture di riferimento incorporano le best practice per la selezione, la definizione delle dimensioni, la configurazione e l'implementazione delle risorse. Utilizzando queste architetture di riferimento, puoi accelerare il processo di sviluppo e ottenere risparmi sui costi fin dall'inizio.
Applica la disciplina dei costi utilizzando i criteri dell'organizzazione
Valuta la possibilità di utilizzare i criteri dell'organizzazione per limitare le località e i prodotti Google Cloud disponibili che team utilizzabili dai membri. Queste norme aiutano a garantire che i team aderiscano a ed eseguire il provisioning di risorse in località in linea con i costi obiettivi di ottimizzazione.
Stima budget realistici e fissa limiti finanziari
Sviluppa budget dettagliati per ogni progetto, carico di lavoro e ambiente di deployment. Assicurati che i budget coprano tutti gli aspetti delle operazioni cloud, tra cui i costi dell'infrastruttura, le licenze software, il personale e la crescita prevista. Per evitare la spesa eccessiva e garantire l'allineamento ai tuoi obiettivi finanziari, stabilisci chiare soglie o limiti di spesa per progetti, servizi o risorse specifiche. Monitora regolarmente la spesa per il cloud in base a questi limiti. Puoi utilizzare gli avvisi proattivi sulle quote per identificare tempestivamente i potenziali superamenti dei costi e intraprendere azioni correttive tempestive.
Oltre a impostare i budget, puoi utilizzare quote e limiti per applicare la disciplina dei costi e per evitare picchi imprevisti di spesa. Puoi esercitare un controllo granulare sul consumo di risorse impostando quote a vari livelli, inclusi progetti, servizi e persino tipi di risorse specifici.
Di seguito sono riportati alcuni esempi di come implementare questo consiglio:
- Quote a livello di progetto: imposta i limiti di spesa o le quote delle risorse a livello di progetto per stabilire dei confini finanziari complessivi e controllare le risorse il consumo effettivo in tutti i servizi all'interno del progetto.
- Quote specifiche per i servizi: configura le quote per Google Cloud specifici come Compute Engine o BigQuery per limitare di istanze, CPU o capacità di archiviazione di cui è possibile eseguire il provisioning.
- Quote specifiche per tipo di risorsa: applica le quote ai singoli tipi di risorse, come VM Compute Engine, bucket Cloud Storage, istanze Cloud Run o nodi GKE, per limitarne l'utilizzo ed evitare superamenti di costi imprevisti.
- Avvisi relativi alle quote: ricevi notifiche quando l'utilizzo della quota (a livello di progetto) raggiunge una percentuale del valore massimo.
Utilizzando quote e limiti insieme a budget e monitoraggio, puoi creare un approccio proattivo e multilivello al controllo dei costi. Questo approccio aiuta a garantire che la spesa per il cloud rimanga entro limiti definiti in linea con i tuoi scopi commerciali. Tieni presente che questi controlli dei costi non sono permanenti o rigidi. Per assicurarti che i controlli dei costi rimangano in linea con gli standard di settore attuali e riflettano le esigenze in evoluzione della tua attività, devi esaminarli regolarmente e modificarli in modo da includere nuove tecnologie e best practice.