Il pilastro dell'ottimizzazione dei costi nel Google Cloud Well-Architected Framework descrive i principi e i suggerimenti per ottimizzare i costi dei carichi di lavoro in Google Cloud.
Il pubblico di destinazione include:
- CTO, CIO, CFO e altri dirigenti responsabili della gestione strategica dei costi.
- Architetti, sviluppatori, amministratori e operatori che prendono decisioni che influiscono sui costi in tutte le fasi del percorso cloud di un'organizzazione.
I modelli di costo per i carichi di lavoro on-premise e cloud differiscono in modo significativo. I costi IT on-premise includono le spese in conto capitale (CapEx) e le spese operative (OpEx). Le risorse hardware e software on-premise vengono acquisite e i costi di acquisizione vengono ammortizzati durante la vita operativa delle risorse. Nel cloud, i costi della maggior parte delle risorse cloud sono trattati come OpEx, ovvero i costi vengono sostenuti quando le risorse cloud vengono utilizzate. Questa differenza fondamentale sottolinea l'importanza dei seguenti principi fondamentali di ottimizzazione dei costi.
Per principi e consigli di ottimizzazione dei costi specifici per i carichi di lavoro di AI e ML, consulta Prospettiva AI e ML: ottimizzazione dei costi nel framework Well-Architected.
Principi fondamentali
I consigli del pilastro dell'ottimizzazione dei costi del framework Well-Architected sono mappati ai seguenti principi fondamentali:
- Allinea la spesa cloud al valore aziendale: assicurati che le tue risorse cloud offrano un valore aziendale misurabile allineando la spesa IT agli obiettivi aziendali.
- Promuovi una cultura della consapevolezza dei costi: assicurati che le persone della tua organizzazione tengano conto dell'impatto sui costi delle loro decisioni e attività e che abbiano accesso alle informazioni sui costi necessarie per prendere decisioni informate.
- Ottimizza l'utilizzo delle risorse: esegui il provisioning solo delle risorse che ti servono e paga solo per quelle che utilizzi.
- Ottimizza continuamente: monitora continuamente l'utilizzo e i costi delle risorse cloud e apporta in modo proattivo le modifiche necessarie per ottimizzare la spesa. Questo approccio prevede l'identificazione e la risoluzione di potenziali inefficienze dei costi prima che diventino problemi significativi.
Questi principi sono strettamente allineati ai principi fondamentali di cloud FinOps. FinOps è pertinente per qualsiasi organizzazione, indipendentemente dalle dimensioni o dalla maturità nel cloud. Adottando questi principi e seguendo i consigli correlati, puoi controllare e ottimizzare i costi durante il tuo percorso nel cloud.
Collaboratori
Autore: Nicolas Pintaux | Customer Engineer, specialista della modernizzazione delle applicazioni
Altri collaboratori:
- Anuradha Bajpai | Solutions Architect
- Daniel Lees | Cloud Security Architect
- Eric Lam | Head of Google Cloud FinOps
- Fernando Rubbo | Cloud Solutions Architect
- Filipe Gracio, PhD | Customer Engineer
- Gary Harmson | Principal Architect
- Jose Andrade | Customer Engineer per l'infrastruttura aziendale
- Kent Hua | Solutions Manager
- Kumar Dhanagopal | Sviluppatore di soluzioni cross-product
- Marwan Al Shawi | Partner Customer Engineer
- Radhika Kanakam | Senior Program Manager, Cloud GTM
- Samantha He | Technical Writer
- Steve McGhee | Reliability Advocate
- Sergei Lilichenko | Solutions Architect
- Wade Holmes | Global Solutions Director
- Zach Seils | Specialista di networking
Allineare la spesa per il cloud al valore aziendale
Questo principio del pilastro dell'ottimizzazione dei costi del Google Cloud Well-Architected Framework fornisce consigli per allineare l'utilizzo delle risorse Google Cloud agli obiettivi aziendali della tua organizzazione.
Panoramica del principio
Per gestire in modo efficace i costi del cloud, devi massimizzare il valore aziendale fornito dalle risorse cloud e ridurre al minimo il costo totale di proprietà (TCO). Quando valuti le opzioni di risorse per i tuoi carichi di lavoro cloud, considera non solo il costo del provisioning e dell'utilizzo delle risorse, ma anche il costo della loro gestione. Ad esempio, le macchine virtuali (VM) su Compute Engine potrebbero essere un'opzione conveniente per l'hosting di applicazioni. Tuttavia, se consideri l'overhead per la manutenzione, l'applicazione di patch e lo scaling delle VM, il TCO può aumentare. D'altra parte, i servizi serverless come Cloud Run possono offrire un valore aziendale maggiore. I costi operativi inferiori consentono al tuo team di concentrarsi sulle attività principali e contribuiscono ad aumentare l'agilità.
Per assicurarti che le tue risorse cloud offrano un valore ottimale, valuta i seguenti fattori:
- Costi di provisioning e utilizzo: le spese sostenute quando acquisti, esegui il provisioning o utilizzi le risorse.
- Costi di gestione: le spese ricorrenti per il funzionamento e la manutenzione delle risorse, incluse attività come l'applicazione di patch, il monitoraggio e lo scaling.
- Costi indiretti: i costi che potresti sostenere per gestire problemi come tempi di inattività, perdita di dati o violazioni della sicurezza.
- Impatto sull'attività: i potenziali vantaggi delle risorse, come aumento delle entrate, miglioramento della soddisfazione dei clienti e time to market più rapido.
Allineando la spesa cloud al valore aziendale, ottieni i seguenti vantaggi:
- Decisioni basate sul valore: i tuoi team sono incoraggiati a dare la priorità alle soluzioni che offrono il massimo valore aziendale e a considerare le implicazioni sui costi a breve e lungo termine.
- Scelta informata delle risorse: i tuoi team dispongono delle informazioni e delle conoscenze necessarie per valutare il valore aziendale e il TCO delle varie opzioni di deployment, in modo da scegliere risorse economiche.
- Allineamento tra team: la collaborazione interfunzionale tra i team aziendali, finanziari e tecnici garantisce che le decisioni sul cloud siano in linea con gli obiettivi generali dell'organizzazione.
Consigli
Per allineare la spesa per il cloud agli obiettivi aziendali, prendi in considerazione i seguenti consigli.
Dai la priorità ai servizi gestiti e ai prodotti serverless
Quando possibile, scegli servizi gestiti e prodotti serverless per ridurre l'overhead operativo e i costi di manutenzione. Questa scelta consente ai tuoi team di concentrarsi sulle attività aziendali principali. Possono accelerare la distribuzione di nuove funzionalità e contribuire a promuovere l'innovazione e il valore.
Di seguito sono riportati alcuni esempi di come implementare questo consiglio:
- Per eseguire database server PostgreSQL, MySQL o Microsoft SQL Server, utilizza Cloud SQL anziché eseguire il deployment di questi database sulle VM.
- Per eseguire e gestire i cluster Kubernetes, utilizza Google Kubernetes Engine (GKE) Autopilot anziché eseguire il deployment dei container sulle VM.
- Per le tue esigenze di elaborazione Apache Hadoop o Apache Spark, utilizza Dataproc e Dataproc Serverless. La fatturazione al secondo può contribuire a ottenere un TCO notevolmente inferiore rispetto ai data lake on-premise.
Bilanciare l'efficienza dei costi con l'agilità aziendale
Il controllo dei costi e l'ottimizzazione dell'utilizzo delle risorse sono obiettivi importanti. Tuttavia, devi bilanciare questi obiettivi con la necessità di un'infrastruttura flessibile che ti consenta di innovare rapidamente, rispondere velocemente ai cambiamenti e fornire valore più rapidamente. Di seguito sono riportati alcuni esempi di come puoi raggiungere questo equilibrio:
- Adotta le metriche DORA per le prestazioni di distribuzione del software. Metriche come il tasso di errore delle modifiche (CFR), il tempo di rilevamento (TTD) e il tempo di ripristino (TTR) possono aiutarti a identificare e correggere i colli di bottiglia nei processi di sviluppo e deployment. Riducendo i tempi di inattività e accelerando la distribuzione, puoi ottenere sia efficienza operativa che agilità aziendale.
- Segui le pratiche di Site Reliability Engineering (SRE) per migliorare l'affidabilità operativa. L'attenzione di SRE all'automazione, all'osservabilità e alla risposta agli incidenti può portare a una riduzione dei tempi di inattività, a tempi di ripristino più brevi e a una maggiore soddisfazione dei clienti. Riducendo al minimo i tempi di inattività e migliorando l'affidabilità operativa, puoi evitare la perdita di entrate ed evitare la necessità di eseguire il provisioning eccessivo delle risorse come rete di sicurezza per gestire le interruzioni.
Attivare l'ottimizzazione self-service
Incoraggia una cultura di sperimentazione ed esplorazione fornendo ai tuoi team strumenti di ottimizzazione dei costi self-service, strumenti di osservabilità e piattaforme di gestione delle risorse. Consenti loro di eseguire il provisioning, gestire e ottimizzare le risorse cloud in modo autonomo. Questo approccio contribuisce a promuovere un senso di proprietà, accelera l'innovazione e garantisce che i team possano rispondere rapidamente alle esigenze in evoluzione tenendo conto dell'efficienza dei costi.
Adozione e implementazione di FinOps
Adotta FinOps per creare un ambiente collaborativo in cui tutti sono autorizzati a prendere decisioni consapevoli che bilanciano costi e valore. FinOps promuove la responsabilità finanziaria e l'ottimizzazione efficace dei costi nel cloud.
Promuovere una mentalità orientata al valore e al TCO
Incoraggia i membri del tuo team ad adottare un approccio olistico alla spesa per il cloud, con un'enfasi sul TCO e non solo sui costi iniziali. Utilizza tecniche come la mappatura del flusso di valore per visualizzare e analizzare il flusso di valore nel processo di distribuzione del software e per identificare le aree di miglioramento. Implementa il costo unitario per le tue applicazioni e i tuoi servizi per ottenere una comprensione granulare dei fattori di costo e scoprire opportunità di ottimizzazione dei costi. Per ulteriori informazioni, consulta Massimizza il valore aziendale con Cloud FinOps.
Promuovere una cultura della consapevolezza dei costi
Questo principio del pilastro dell'ottimizzazione dei costi del Google Cloud Well-Architected Framework fornisce consigli per promuovere la consapevolezza dei costi in tutta l'organizzazione e garantire che i membri del team dispongano delle informazioni sui costi necessarie per prendere decisioni consapevoli.
In genere, la responsabilità della gestione dei costi potrebbe essere centralizzata su alcuni stakeholder selezionati e concentrarsi principalmente sulle decisioni iniziali sull'architettura del progetto. Tuttavia, i membri del team con tutti i ruoli utente cloud (analista, architetto, sviluppatore o amministratore) possono contribuire a ridurre il costo delle risorse in Google Cloud. Condividendo i dati sui costi in modo appropriato, puoi consentire ai membri del team di prendere decisioni economiche durante i processi di sviluppo e implementazione.
Panoramica del principio
Gli stakeholder con vari ruoli (proprietari di prodotto, sviluppatori, ingegneri di implementazione, amministratori e analisti finanziari) hanno bisogno di visibilità sui dati di costo pertinenti e sulla loro relazione con il valore aziendale. Durante il provisioning e la gestione delle risorse cloud, sono necessari i seguenti dati:
- Costi delle risorse previsti: stime dei costi al momento della progettazione e dell'implementazione.
- Costi di utilizzo delle risorse in tempo reale: dati di costo aggiornati che possono essere utilizzati per il monitoraggio continuo e la convalida del budget.
- Costi mappati in base alle metriche aziendali: approfondimenti su come la spesa cloud influisce sugli indicatori di prestazione chiave (KPI), per consentire ai team di identificare strategie economiche.
Non tutti potrebbero aver bisogno di accedere ai dati di costo non elaborati. Tuttavia, promuovere la consapevolezza dei costi in tutti i ruoli è fondamentale perché le decisioni individuali possono influire sui costi.
Promuovendo la visibilità dei costi e garantendo una chiara proprietà delle pratiche di gestione dei costi, ti assicuri che tutti siano consapevoli delle implicazioni finanziarie delle loro scelte e che tutti contribuiscano attivamente agli obiettivi di ottimizzazione dei costi dell'organizzazione. Che si tratti di un team FinOps centralizzato o di un modello distribuito, stabilire la responsabilità è fondamentale per un'efficace ottimizzazione dei costi.
Consigli
Per promuovere la consapevolezza dei costi e garantire che i membri del tuo team dispongano delle informazioni sui costi necessarie per prendere decisioni consapevoli, prendi in considerazione i seguenti consigli.
Fornire visibilità dei costi a livello di organizzazione
Per ottenere la visibilità dei costi a livello di organizzazione, i team responsabili della gestione dei costi possono intraprendere le seguenti azioni:
- Standardizza il calcolo dei costi e la definizione del budget: utilizza un metodo coerente per determinare i costi totali delle risorse cloud, dopo aver considerato sconti e costi condivisi. Definisci procedure di definizione del budget chiare e standardizzate che siano in linea con gli obiettivi della tua organizzazione e consentano una gestione proattiva dei costi.
- Utilizza strumenti standardizzati di gestione e visibilità dei costi: utilizza strumenti appropriati che forniscono informazioni in tempo reale sulla spesa cloud e generano snapshot regolari (ad esempio settimanali) dell'andamento dei costi. Questi strumenti consentono la pianificazione, la previsione e l'identificazione proattive delle opportunità di ottimizzazione del budget. Gli strumenti potrebbero essere quelli del cloud provider (come la dashboard di fatturazione di Google Cloud), soluzioni di terze parti o soluzioni open source come la soluzione di attribuzione dei costi.
- Implementa un sistema di allocazione dei costi: assegna una parte del budget cloud complessivo a ogni team o progetto. Questa allocazione offre ai team un senso di proprietà della spesa cloud e li incoraggia a prendere decisioni economiche all'interno del budget allocato.
- Promuovi la trasparenza: incoraggia i team a discutere le implicazioni dei costi durante i processi di progettazione e decisionali. Crea un ambiente sicuro e di supporto per la condivisione di idee e dubbi relativi all'ottimizzazione dei costi. Alcune organizzazioni utilizzano meccanismi di rinforzo positivo come classifiche o programmi di riconoscimento. Se la tua organizzazione ha limitazioni alla condivisione dei dati sui costi non elaborati a causa di problemi aziendali, esplora approcci alternativi per condividere informazioni e approfondimenti sui costi. Ad esempio, valuta la possibilità di condividere metriche aggregate (come il costo totale per un ambiente o una funzionalità) o metriche relative (come il costo medio per transazione o utente).
Comprendere come vengono fatturate le risorse cloud
I prezzi delle risorse Google Cloud possono variare in base alle regioni. Alcune risorse vengono fatturate mensilmente a un prezzo fisso, mentre altre potrebbero essere fatturate in base all'utilizzo. Per capire come vengono fatturate le risorse Google Cloud , utilizza il Google Cloud calcolatore dei prezzi e le informazioni sui prezzi specifiche del prodotto (ad esempio, prezzi di Google Kubernetes Engine (GKE)).
Informazioni sulle opzioni di ottimizzazione dei costi basate sulle risorse
Per ogni tipo di risorsa cloud che prevedi di utilizzare, esplora le strategie per ottimizzare l'utilizzo e l'efficienza. Le strategie includono il dimensionamento corretto, la scalabilità automatica e l'adozione di tecnologie serverless, ove opportuno. Di seguito sono riportati alcuni esempi di opzioni di ottimizzazione dei costi per alcuni prodotti Google Cloud :
- Cloud Run consente di configurare CPU sempre allocate per gestire carichi di traffico prevedibili a una frazione del prezzo del metodo di allocazione predefinito (ovvero CPU allocate solo durante l'elaborazione delle richieste).
- Puoi acquistare impegni per gli slot BigQuery per risparmiare sull'analisi dei dati.
- GKE fornisce metriche dettagliate per aiutarti a comprendere le opzioni di ottimizzazione dei costi.
- Scopri come i prezzi di rete possono influire sul costo dei trasferimenti di dati e come puoi ottimizzare i costi per servizi di rete specifici. Ad esempio, puoi ridurre i costi di trasferimento dei dati per i bilanciatori del carico delle applicazioni esterni utilizzando Cloud CDN o Google Cloud Armor. Per saperne di più, consulta Modi per ridurre i costi del bilanciatore del carico delle applicazioni esterno.
Comprendere le opzioni di ottimizzazione dei costi basate sugli sconti
Acquisisci familiarità con i programmi di sconto offerti da Google Cloud , ad esempio:
- Sconti per impegno di utilizzo (CUD): I CUD sono adatti alle risorse con un utilizzo prevedibile e costante. I CUD ti consentono di ottenere riduzioni significative del prezzo in cambio dell'impegno a un utilizzo specifico delle risorse per un periodo di tempo (in genere da uno a tre anni). Puoi anche utilizzare il rinnovo automatico dei CUD per evitare di dover riacquistare manualmente gli impegni quando scadono.
- Sconti per utilizzo sostenuto: Per determinati prodotti Google Cloud come Compute Engine e GKE, puoi ottenere crediti di sconto automatici dopo l'utilizzo continuo delle risorse oltre soglie di durata specifiche.
- VM spot: Per i carichi di lavoro flessibili e a tolleranza di errore, le VM spot possono contribuire a ridurre i costi di Compute Engine. Il costo delle VM spot è notevolmente inferiore rispetto alle VM normali. Tuttavia, Compute Engine potrebbe arrestare o eliminare in modo preventivo le VM spot per recuperare capacità. Le VM spot sono adatte per i job batch che possono tollerare il prerilascio e non hanno requisiti di alta disponibilità.
- Sconti per opzioni di prodotto specifiche: alcuni servizi gestiti come BigQuery offrono sconti quando acquisti capacità di elaborazione delle query dedicata o con scalabilità automatica.
Valuta e scegli le opzioni di sconto più adatte alle caratteristiche e ai pattern di utilizzo del tuo workload.
Incorporare le stime dei costi nei progetti di architettura
Incoraggia i team a sviluppare progetti di architettura che includano stime dei costi per diverse opzioni e configurazioni di deployment. Questa pratica consente ai team di confrontare i costi in modo proattivo e prendere decisioni informate in linea con gli obiettivi tecnici e finanziari.
Utilizza un insieme coerente e standard di etichette per tutte le risorse
Puoi utilizzare le etichette per monitorare i costi e per identificare e classificare le risorse. In particolare, puoi utilizzare le etichette per allocare i costi a diversi progetti, reparti o centri di costo. Definire una normativa di etichettatura formale in linea con le esigenze dei principali stakeholder della tua organizzazione contribuisce a rendere i costi più visibili. Puoi anche utilizzare le etichette per filtrare i dati di costi e utilizzo delle risorse in base al pubblico di destinazione.
Utilizza strumenti di automazione come Terraform per applicare l'etichettatura a ogni risorsa creata. Per migliorare ulteriormente la visibilità e l'attribuzione dei costi, puoi utilizzare gli strumenti forniti dalla soluzione di attribuzione dei costi open source.
Condividere i report sui costi con i membri del team
Condividendo i report sui costi con i membri del team, consenti loro di assumersi la responsabilità della spesa per il cloud. Questa pratica consente di prendere decisioni convenienti, ottimizzare continuamente i costi e apportare miglioramenti sistematici al modello di allocazione dei costi.
I report sui costi possono essere di diversi tipi, tra cui:
- Report periodici sui costi: i report regolari informano i team sulle loro attuali spese per il cloud. In genere, questi report potrebbero essere esportazioni di fogli di lavoro. I metodi più efficaci includono email automatizzate e dashboard specializzati. Per garantire che i report sui costi forniscano informazioni pertinenti e utili senza sommergere i destinatari con dettagli non necessari, i report devono essere personalizzati in base ai segmenti di pubblico di destinazione. La configurazione di report personalizzati è un passo fondamentale verso una visibilità e una gestione dei costi più interattive e in tempo reale.
- Notifiche automatiche: puoi configurare i report sui costi in modo da notificare in modo proattivo alle parti interessate pertinenti (ad esempio tramite email o chat) anomalie dei costi, soglie di budget o opportunità di ottimizzazione dei costi. Fornendo informazioni tempestive direttamente a chi può agire, gli avvisi automatici incoraggiano un'azione rapida e promuovono un approccio proattivo all'ottimizzazione dei costi.
- Google Cloud Dashboard: puoi utilizzare le dashboard di fatturazione integrate in Google Cloud per ottenere approfondimenti sui dettagli dei costi e identificare opportunità di ottimizzazione dei costi. Google Cloud fornisce anche l'hub FinOps per aiutarti a monitorare i risparmi e ricevere consigli per l'ottimizzazione dei costi. Un motore AI alimenta l'hub FinOps per consigliare opportunità di ottimizzazione dei costi per tutte le risorse attualmente implementate. Per controllare l'accesso a questi consigli, puoi implementare ilcontrollo dell'accessoo basato sui ruoli (RBAC).
- Dashboard personalizzate: puoi creare dashboard personalizzate esportando i dati di costo in un database di analisi, come BigQuery. Utilizza uno strumento di visualizzazione come Looker Studio per connetterti al database di analisi per creare report interattivi e attivare il controllo dell'accesso granulare tramite autorizzazioni basate sui ruoli.
- Report sui costi multicloud: per i deployment multicloud, è necessaria una visualizzazione unificata dei costi in tutti i provider cloud per garantire un'analisi, un budget e un'ottimizzazione completi. Utilizza strumenti come BigQuery per centralizzare e analizzare i dati di costo di più fornitori di servizi cloud e utilizza Looker Studio per creare report interattivi specifici per il team.
Ottimizzare l'utilizzo delle risorse
Questo principio del pilastro dell'ottimizzazione dei costi del Google Cloud framework Well-Architected fornisce consigli per aiutarti a pianificare e eseguire il provisioning delle risorse in modo che corrispondano ai requisiti e ai pattern di consumo dei tuoi carichi di lavoro cloud.
Panoramica del principio
Per ottimizzare il costo delle risorse cloud, devi comprendere a fondo i requisiti delle risorse e i pattern di carico dei tuoi workload. Questa comprensione è la base per un modello di costi ben definito che ti consente di prevedere il costo totale di proprietà (TCO) e identificare i fattori di costo durante il percorso di adozione del cloud. Analizzando e prevedendo in modo proattivo la spesa per il cloud, puoi fare scelte informate in merito al provisioning, all'utilizzo e all'ottimizzazione dei costi delle risorse. Questo approccio ti consente di controllare la spesa per il cloud, evitare il provisioning eccessivo e garantire che le risorse cloud siano allineate alle esigenze dinamiche dei tuoi carichi di lavoro e ambienti.
Consigli
Per ottimizzare in modo efficace l'utilizzo delle risorse cloud, prendi in considerazione i seguenti suggerimenti.
Scegliere risorse specifiche per l'ambiente
Ogni ambiente di deployment ha requisiti diversi per disponibilità, affidabilità e scalabilità. Ad esempio, gli sviluppatori potrebbero preferire un ambiente che consenta loro di eseguire il deployment e l'esecuzione rapida di applicazioni per brevi periodi, ma potrebbero non aver bisogno di alta disponibilità. D'altra parte, un ambiente di produzione in genere richiede un'elevata disponibilità. Per massimizzare l'utilizzo delle risorse, definisci requisiti specifici per l'ambiente in base alle esigenze aziendali. La tabella seguente elenca alcuni esempi di requisiti specifici per l'ambiente.
Ambiente | Requisiti |
Produzione |
|
Sviluppo e test |
|
Altri ambienti (come gestione temporanea e controllo qualità) |
|
Scegliere risorse specifiche per il workload
Ciascuno dei tuoi carichi di lavoro cloud potrebbe avere requisiti diversi per disponibilità, scalabilità, sicurezza e prestazioni. Per ottimizzare i costi, devi allineare le scelte delle risorse ai requisiti specifici di ogni workload. Ad esempio, un'applicazione stateless potrebbe non richiedere lo stesso livello di disponibilità o affidabilità di un backend stateful. La tabella seguente elenca altri esempi di requisiti specifici per i carichi di lavoro.
Tipo di workload | Requisiti del workload | Opzioni delle risorse |
Mission critical | Disponibilità continua, sicurezza robusta e prestazioni elevate | Risorse premium e servizi gestiti come Spanner per l'alta disponibilità e la coerenza globale dei dati. |
Non critica | Infrastruttura conveniente e con scalabilità automatica | Risorse con funzionalità di base e risorse effimere come le VM spot. |
Basata su eventi | Scalabilità dinamica in base alla domanda attuale di capacità e prestazioni | Servizi serverless come Cloud Run e Cloud Run Functions. |
Workload sperimentali | Ambiente flessibile ed economico per sviluppo, iterazione, test e innovazione rapidi | Risorse con funzionalità di base, risorse effimere come le VM spot e ambienti sandbox con limiti di spesa definiti. |
Uno dei vantaggi del cloud è la possibilità di sfruttare la potenza di calcolo più appropriata per un determinato carico di lavoro. Alcuni workload sono sviluppati per sfruttare i set di istruzioni del processore, mentre altri potrebbero non essere progettati in questo modo. Esegui il benchmark e il profilo dei tuoi carichi di lavoro di conseguenza. Categorizza i tuoi workload e fai scelte di risorse specifiche per il workload (ad esempio, scegli famiglie di macchine appropriate per le VM di Compute Engine). Questa pratica aiuta a ottimizzare i costi, favorire l'innovazione e mantenere il livello di disponibilità e rendimento necessario 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 garantendo l'affidabilità e la coerenza dei dati in tutte le regioni.
- Per i workload con livelli di carico variabili, utilizza la scalabilità automatica per assicurarti di non sostenere costi quando il carico è basso e di mantenere una capacità sufficiente a soddisfare il carico attuale. Puoi configurare la scalabilità automatica per molti serviziGoogle Cloud , tra cui VM Compute Engine, cluster Google Kubernetes Engine (GKE) e Cloud Run. Quando configuri la scalabilità automatica, puoi impostare limiti di scalabilità massimi per assicurarti che i costi rimangano entro i budget specificati.
Seleziona le regioni in base ai requisiti di costo
Per i tuoi workload cloud, valuta attentamente le regioni Google Cloud disponibili e scegli 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 i tuoi requisiti di sostenibilità. Prendi decisioni informate su dove eseguire il deployment dei tuoi carichi di lavoro per ottenere il bilanciamento desiderato. Puoi utilizzare lo Google Cloud strumento per la selezione della regione per comprendere i compromessi tra costi, sostenibilità, latenza e altri fattori.
Utilizzare le opzioni di ottimizzazione dei costi integrate
I prodottiGoogle Cloud offrono funzionalità integrate per aiutarti a ottimizzare l'utilizzo delle risorse e controllare i costi. La seguente tabella elenca esempi di funzionalità di ottimizzazione dei costi che puoi utilizzare in alcuni prodotti Google Cloud :
Prodotto | Funzionalità di ottimizzazione dei costi |
Compute Engine |
|
GKE |
|
Cloud Storage |
|
BigQuery |
|
Google Cloud VMware Engine |
|
Ottimizzare la condivisione delle risorse
Per massimizzare l'utilizzo delle risorse cloud, puoi eseguire il deployment di più applicazioni o servizi sulla stessa infrastruttura, soddisfacendo comunque i requisiti di sicurezza e di altro tipo delle applicazioni. Ad esempio, negli ambienti di sviluppo e test, puoi utilizzare la stessa infrastruttura cloud per testare tutti i componenti di un'applicazione. Per l'ambiente di produzione, puoi eseguire il deployment di ogni componente su un set separato di risorse per limitare l'entità dell'impatto in caso di incidenti.
Di seguito sono riportati alcuni esempi di come implementare questo consiglio:
- Utilizza una singola istanza Cloud SQL per più ambienti non di produzione.
- Consenti a più team di sviluppo di condividere un cluster GKE utilizzando la funzionalità di gestione dei team del parco risorse in GKE Enterprise con controlli dell'accesso appropriati.
- Utilizza GKE Autopilot per sfruttare le tecniche di ottimizzazione dei costi come il bin packing e la scalabilità automatica che GKE implementa per impostazione predefinita.
- Per i carichi di lavoro di AI e ML, risparmia sui costi della GPU utilizzando strategie di condivisione della GPU come GPU multi-istanza, GPU time-sharing e NVIDIA MPS.
Sviluppare e gestire 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 progettazione e l'implementazione di singoli progetti, i blueprint possono essere gestiti centralmente da un team come un Cloud Center of Excellence (CCoE). I team di progetto possono scegliere i blueprint adatti in base a criteri chiaramente definiti, per garantire la coerenza dell'architettura e l'adozione delle best practice. Per i requisiti 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 in tutta l'organizzazione per promuovere la condivisione delle conoscenze ed espandere il repository di 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, il dimensionamento, la configurazione e il deployment 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 i membri del team possono utilizzare. Questi criteri aiutano a garantire che i team rispettino soluzioni economiche e che le risorse vengano sottoposte a provisioning in località in linea con i tuoi obiettivi di ottimizzazione dei costi.
Stimare budget realistici e impostare 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, inclusi costi dell'infrastruttura, licenze software, personale e crescita prevista. Per evitare spese eccessive e garantire l'allineamento con i tuoi obiettivi finanziari, stabilisci limiti o soglie di spesa chiari per progetti, servizi o risorse specifiche. Monitora regolarmente la spesa per il cloud rispetto a questi limiti. Puoi utilizzare gli avvisi proattivi relativi alla quota per identificare in anticipo i potenziali superamenti dei costi e intraprendere azioni correttive tempestive.
Oltre a impostare i budget, puoi utilizzare quote e limiti per contribuire a imporre una disciplina dei costi e prevenire picchi imprevisti di spesa. Puoi esercitare un controllo granulare sul consumo delle risorse impostando quote a vari livelli, tra cui 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 limiti di spesa o quote delle risorse a livello di progetto per stabilire limiti finanziari complessivi e controllare il consumo di risorse in tutti i servizi all'interno del progetto.
- Quote specifiche per servizio: configura le quote per servizi Google Cloudspecifici come Compute Engine o BigQuery per limitare il numero di istanze, CPU o capacità di archiviazione che possono essere sottoposte a provisioning.
- Quote specifiche per tipo di risorsa: applica quote a singoli tipi di risorse come VM Compute Engine, bucket Cloud Storage, istanze Cloud Run o nodi GKE per limitarne l'utilizzo ed evitare superamenti imprevisti dei costi.
- Avvisi relativi alla quota: 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 contribuisce a garantire che la spesa per il cloud rimanga entro i limiti definiti e sia in linea con i tuoi obiettivi commerciali. Ricorda che questi controlli dei costi non sono permanenti o rigidi. Per garantire che i controlli dei costi rimangano in linea con gli standard di settore attuali e riflettano le esigenze aziendali in evoluzione, devi esaminare i controlli regolarmente e modificarli per includere nuove tecnologie e best practice.
Ottimizza continuamente
Questo principio del pilastro dell'ottimizzazione dei costi del Google Cloud Well-Architected Framework fornisce consigli per aiutarti a ottimizzare i costi dei tuoi deployment cloud in base a obiettivi aziendali in continua evoluzione.
Man mano che la tua attività cresce ed evolve, i tuoi carichi di lavoro cloud devono adattarsi ai cambiamenti nei requisiti delle risorse e nei pattern di utilizzo. Per ottenere il massimo valore dalla spesa per il cloud, devi mantenere l'efficienza in termini di costi continuando a supportare gli obiettivi aziendali. Ciò richiede un approccio proattivo e adattivo incentrato sul miglioramento e sull'ottimizzazione continui.
Panoramica del principio
Per ottimizzare continuamente i costi, devi monitorare e analizzare in modo proattivo il tuo ambiente cloud e apportare le modifiche appropriate per soddisfare i requisiti attuali. Concentra i tuoi sforzi di monitoraggio sugli indicatori chiave di prestazione (KPI) che influiscono direttamente sull'esperienza degli utenti finali, sono in linea con i tuoi obiettivi aziendali e forniscono informazioni per un miglioramento continuo. Questo approccio ti consente di identificare e risolvere le inefficienze, adattarti alle esigenze in evoluzione e allineare continuamente la spesa per il cloud agli obiettivi aziendali strategici. Per bilanciare l'osservabilità completa con l'efficacia in termini di costi, comprendi i costi e i vantaggi del monitoraggio dell'utilizzo delle risorse e utilizza strategie appropriate di miglioramento e ottimizzazione dei processi.
Consigli
Per monitorare in modo efficace il tuo ambiente Google Cloud e ottimizzare continuamente i costi, prendi in considerazione i seguenti consigli.
Concentrati sulle metriche pertinenti all'attività
Un monitoraggio efficace inizia con l'identificazione delle metriche più importanti per la tua attività e i tuoi clienti. Queste metriche includono:
- Metriche dell'esperienza utente: le metriche relative a latenza, tassi di errore, velocità effettiva e soddisfazione dei clienti sono utili per comprendere l'esperienza degli utenti finali quando utilizzano le tue applicazioni.
- Metriche dei risultati aziendali: entrate, crescita dei clienti e coinvolgimento possono essere correlati all'utilizzo delle risorse per identificare opportunità di ottimizzazione dei costi.
- Metriche DevOps Research & Assessment (DORA): metriche come la frequenza di deployment, il tempo di risposta per le modifiche, il tasso di errore delle modifiche e il tempo per ripristinare forniscono informazioni sull'efficienza e l'affidabilità del processo di distribuzione del software. Migliorando queste metriche, puoi aumentare la produttività, ridurre i tempi di inattività e ottimizzare i costi.
- Metriche di Site Reliability Engineering (SRE): i budget di errore aiutano i team a quantificare e gestire il livello accettabile di interruzione del servizio. Stabilendo aspettative chiare in termini di affidabilità, i budget per gli errori consentono ai team di innovare e implementare le modifiche con maggiore sicurezza, conoscendo il proprio margine di sicurezza. Questo approccio proattivo promuove un equilibrio tra innovazione e stabilità, contribuendo a prevenire costi operativi eccessivi associati a interruzioni importanti o tempi di inattività prolungati.
Utilizzare l'osservabilità per l'ottimizzazione delle risorse
Di seguito sono riportati alcuni suggerimenti per utilizzare l'osservabilità per identificare i colli di bottiglia delle risorse e le risorse sottoutilizzate nei deployment cloud:
- Monitora l'utilizzo delle risorse: utilizza le metriche di utilizzo delle risorse per identificare le risorseGoogle Cloud sottoutilizzate. Ad esempio, utilizza metriche come l'utilizzo di CPU e memoria per identificare le risorse VM inattive. Per Google Kubernetes Engine (GKE), puoi visualizzare una suddivisione dettagliata dei costi e le metriche di ottimizzazione relative ai costi. Per Google Cloud VMware Engine, esamina l'utilizzo delle risorse per ottimizzare i CUD, il consumo di spazio di archiviazione e il dimensionamento corretto di ESXi.
- Utilizza i suggerimenti per il cloud: Active Assist è un portafoglio di strumenti intelligenti che ti aiutano a ottimizzare le operazioni cloud. Questi strumenti forniscono suggerimenti pratici per ridurre i costi, aumentare le prestazioni, migliorare la sicurezza e persino prendere decisioni incentrate sulla sostenibilità. Ad esempio, gli approfondimenti sul dimensionamento corretto delle VM possono aiutarti a ottimizzare l'allocazione delle risorse ed evitare spese non necessarie.
- Correlare l'utilizzo delle risorse con il rendimento: analizza la relazione tra l'utilizzo delle risorse e il rendimento dell'applicazione per determinare se puoi eseguire il downgrade a risorse meno costose senza influire sull'esperienza utente.
Risoluzione dei problemi relativi al saldo con i costi
Dati di osservabilità dettagliati possono aiutarti a diagnosticare e risolvere i problemi. Tuttavia, l'archiviazione di quantità eccessive di dati di osservabilità o l'esportazione di dati non necessari in strumenti di monitoraggio esterni può comportare costi inutili. Per una risoluzione dei problemi efficiente, tieni presenti i seguenti consigli:
- Raccogli dati sufficienti per la risoluzione dei problemi: assicurati che la tua soluzione di monitoraggio acquisisca dati sufficienti per diagnosticare e risolvere in modo efficiente i problemi quando si presentano. Questi dati potrebbero includere log, tracce e metriche a vari livelli di granularità.
- Utilizza il campionamento e l'aggregazione: bilancia la necessità di dati dettagliati con le considerazioni sui costi utilizzando tecniche di campionamento e aggregazione. Questo approccio ti consente di raccogliere dati rappresentativi senza incorrere in costi di archiviazione eccessivi.
- Comprendi i modelli di prezzo dei tuoi strumenti e servizi di monitoraggio: valuta diverse soluzioni di monitoraggio e scegli le opzioni in linea con le esigenze specifiche, il budget e i pattern di utilizzo del tuo progetto. Quando fai la tua scelta, tieni conto di fattori come il volume di dati, i requisiti di conservazione e le funzionalità richieste.
- Rivedi regolarmente la configurazione del monitoraggio: evita di raccogliere dati eccessivi rimuovendo metriche o log non necessari.
Personalizzare la raccolta dei dati in base ai ruoli e impostare criteri di conservazione specifici per i ruoli
Considera le esigenze specifiche di dati dei diversi ruoli. Ad esempio, gli sviluppatori potrebbero aver bisogno principalmente di accedere alle tracce e ai log a livello di applicazione, mentre gli amministratori IT potrebbero concentrarsi sui log di sistema e sulle metriche dell'infrastruttura. Personalizzando la raccolta dei dati, puoi ridurre i costi di archiviazione non necessari ed evitare di sovraccaricare gli utenti con informazioni irrilevanti.
Inoltre, puoi definire criteri di conservazione in base alle esigenze di ogni ruolo e a eventuali requisiti normativi. Ad esempio, gli sviluppatori potrebbero aver bisogno di accedere a log dettagliati per un periodo più breve, mentre gli analisti finanziari potrebbero richiedere dati a lungo termine.
Considera i requisiti normativi e di conformità
In alcuni settori, i requisiti normativi impongono la conservazione dei dati. Per evitare rischi legali e finanziari, devi assicurarti che le tue pratiche di monitoraggio e conservazione dei dati ti aiutino a rispettare le normative pertinenti. Allo stesso tempo, devi mantenere l'efficienza in termini di costi. Prendi in considerazione i seguenti consigli:
- Determina i requisiti specifici di conservazione dei dati per il tuo settore o la tua regione e assicurati che la tua strategia di monitoraggio soddisfi questi requisiti.
- Implementa meccanismi di archiviazione e recupero dei dati appropriati per soddisfare le esigenze di audit e conformità, riducendo al minimo i costi di archiviazione.
Implementare gli avvisi intelligenti
Gli avvisi aiutano a rilevare e risolvere i problemi in modo tempestivo. Tuttavia, è necessario trovare un equilibrio tra un approccio che ti tiene informato e uno che ti sommerge di notifiche. Progettando sistemi di avviso intelligenti, puoi dare la priorità ai problemi critici che hanno un impatto maggiore sull'attività. Prendi in considerazione i seguenti consigli:
- Dai la priorità ai problemi che interessano i clienti: progetta avvisi che si attivano rapidamente per i problemi che influiscono direttamente sull'esperienza dei clienti, come interruzioni del sito web, tempi di risposta lenti o errori di transazione.
- Ottimizza per problemi temporanei: utilizza soglie e meccanismi di ritardo appropriati per evitare avvisi non necessari per problemi temporanei o problemi di sistema di auto-ripristino che non influiscono sui clienti.
- Personalizza la gravità degli avvisi: assicurati che i problemi più urgenti ricevano attenzione immediata distinguendo tra avvisi critici e non critici.
- Utilizza i canali di notifica in modo saggio: scegli i canali appropriati per le notifiche di avviso (email, SMS o paging) in base alla gravità e all'urgenza degli avvisi.