Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Last reviewed 2024-09-25 UTC
Questo principio del pilastro di ottimizzazione dei costi del Google Cloud Well-Architected Framework
fornisce consigli per aiutarti a ottimizzare il costo dei tuoi deployment cloud
in base a obiettivi commerciali in continua evoluzione.
Man mano che la tua attività cresce ed evolve, i tuoi carichi di lavoro cloud devono adattarsi alle variazioni
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 al contempo a supportare gli obiettivi commerciali. Ciò richiede un approccio proattivo e adattabile 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 necessarie per soddisfare i requisiti attuali.
Concentra le tue attività di monitoraggio sugli indicatori chiave di prestazione (KPI) che influiscono direttamente sull'esperienza degli utenti finali, sono in linea con i tuoi obiettivi commerciali e forniscono informazioni per il 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 commerciali 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 di ottimizzazione e miglioramento dei processi appropriate.
Consigli
Per monitorare efficacemente il tuo Google Cloud ambiente e ottimizzare continuamente i costi, considera i seguenti consigli.
Concentrati sulle metriche pertinenti per l'attività
Un monitoraggio efficace inizia con l'identificazione delle metriche più importanti per la tua attività e i tuoi clienti. Queste metriche includono:
Metriche sull'esperienza utente: le metriche relative a latenza, percentuali di errore, throughput e soddisfazione del cliente sono utili per comprendere l'esperienza degli utenti finali quando utilizzano le tue applicazioni.
Metriche relative ai risultati aziendali: le entrate, la crescita dei clienti e il coinvolgimento possono essere correlate all'utilizzo delle risorse per identificare opportunità di ottimizzazione dei costi.
Metriche di DevOps Research & Assessment (DORA): metriche come frequenza di deployment, tempo di risposta per le modifiche, tasso di errore delle modifiche e tempo per il ripristino forniscono informazioni sull'efficienza e sull'affidabilità del processo di distribuzione del software. Migliorando queste metriche, puoi aumentare la produttività, ridurre i tempi di inattività e ottimizzare i costi.
Metriche 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 di errore consentono ai team di innovare e implementare le modifiche con maggiore sicurezza, conoscendo il loro margine di sicurezza. Questo approccio proattivo promuove un equilibrio tra innovazione
e stabilità, contribuendo a evitare costi operativi eccessivi associati a
interruzioni gravi o tempi di riposo prolungati.
Utilizzare l'osservabilità per l'ottimizzazione delle risorse
Di seguito sono riportati alcuni consigli 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 della CPU e della memoria per identificare le risorse VM inattive.
Per Google Kubernetes Engine (GKE), puoi visualizzare una disaggregazione dettagliata dei costi
e le metriche di ottimizzazione relative ai costi.
Per Google Cloud VMware Engine, esamina l'utilizzo delle risorse
per ottimizzare le CUD, il consumo di spazio di archiviazione e il dimensionamento corretto di ESXi.
Utilizza i consigli per il cloud: Active Assist
è un portafoglio di strumenti intelligenti che ti aiutano a ottimizzare le operazioni cloud. Questi strumenti forniscono suggerimenti utili per ridurre i costi,
aumentare le prestazioni, migliorare la sicurezza e persino prendere decisioni
incentrate sulla sostenibilità. Ad esempio, le informazioni sul dimensionamento ottimale delle VM
possono aiutarti a ottimizzare l'allocazione delle risorse ed evitare spese non necessarie.
Correla l'utilizzo delle risorse con le prestazioni: analizza la relazione tra l'utilizzo delle risorse e le prestazioni dell'applicazione per determinare se puoi eseguire il downgrade a risorse meno costose senza influire sull'esperienza utente.
Trova il giusto equilibrio tra le esigenze di risoluzione dei problemi e i costi
I dati di osservabilità dettagliati possono essere utili per 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 non necessari. 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 verificano. 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 consente di raccogliere dati rappresentativi senza costi di archiviazione eccessivi.
Comprendi i modelli di prezzo degli strumenti e dei 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 effettui la selezione, 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.
Personalizza la raccolta dei dati in base ai ruoli e imposta criteri di conservazione specifici per ruolo
Tieni conto delle esigenze specifiche dei dati dei diversi ruoli. Ad esempio, gli sviluppatori potrebbero avere 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 sopraffare gli utenti con informazioni irrilevanti.
Inoltre, puoi definire criteri di conservazione in base alle esigenze di ciascun 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 richiedono 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 vigenti. 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 i requisiti di 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 avvisi intelligenti
Gli avvisi consentono di rilevare e risolvere i problemi in modo tempestivo. Tuttavia, è necessario trovare un equilibrio tra un approccio che ti tiene al corrente 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 problemi che influiscono direttamente sull'esperienza dei clienti, come interruzioni del sito web, tempi di risposta lenti o errori di transazione.
Ottimizzazione per problemi temporanei: utilizza soglie e meccanismi di ritardo appropriati per evitare avvisi non necessari per problemi temporanei o di autoguarigione del sistema che non interessano i clienti.
Personalizza la gravità dell'avviso: assicurati che i problemi più urgenti ricevano immediata attenzione distinguendo tra avvisi critici e non critici.
Utilizza i canali di notifica con saggezza: scegli i canali appropriati per le notifiche di avviso (email, SMS o paging) in base alla gravità e all'urgenza degli avvisi.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2024-09-25 UTC."],[[["\u003cp\u003eContinuously monitoring and analyzing your cloud environment is essential for optimizing costs and adapting to changing business needs, which includes focusing on key performance indicators that impact end-users and align with business goals.\u003c/p\u003e\n"],["\u003cp\u003eObservability tools are critical for identifying underutilized resources and bottlenecks, utilizing resources like Active Assist to receive actionable recommendations for reducing costs, improving performance, and increasing sustainability.\u003c/p\u003e\n"],["\u003cp\u003eBalancing detailed data collection for troubleshooting with cost considerations requires using sampling and aggregation techniques, and regularly reviewing monitoring configurations to avoid excessive data storage.\u003c/p\u003e\n"],["\u003cp\u003eTailoring data collection to specific roles, such as developers and IT administrators, and defining role-specific data retention policies can reduce unnecessary storage costs and improve data relevance.\u003c/p\u003e\n"],["\u003cp\u003eImplementing smart alerting that prioritizes issues affecting customers, tunes for temporary problems, and uses notification channels effectively helps to ensure timely issue resolution without overwhelming teams.\u003c/p\u003e\n"]]],[],null,["# Optimize continuously\n\nThis principle in the cost optimization pillar of the [Google Cloud Well-Architected Framework](/architecture/framework)\nprovides recommendations to help you optimize the cost of your cloud deployments\nbased on constantly changing and evolving business goals.\n\nAs your business grows and evolves, your cloud workloads need to adapt to changes\nin resource requirements and usage patterns. To derive maximum value from your\ncloud spending, you must maintain cost-efficiency while continuing to support\nbusiness objectives. This requires a proactive and adaptive approach that focuses\non continuous improvement and optimization.\n\nPrinciple overview\n------------------\n\nTo optimize cost continuously, you must proactively monitor and analyze your\ncloud environment and make suitable adjustments to meet current requirements.\nFocus your monitoring efforts on key performance indicators (KPIs) that directly\naffect your end users' experience, align with your business goals, and provide\ninsights for continuous improvement. This approach lets you identify and address\ninefficiencies, adapt to changing needs, and continuously align cloud spending\nwith strategic business goals. To balance comprehensive observability with cost\neffectiveness, understand the costs and benefits of monitoring resource usage\nand use appropriate process-improvement and optimization strategies.\n\nRecommendations\n---------------\n\nTo effectively monitor your Google Cloud environment and optimize cost\ncontinuously, consider the following recommendations.\n\n### Focus on business-relevant metrics\n\nEffective monitoring starts with identifying the metrics that are most important\nfor your business and customers. These metrics include the following:\n\n- **User experience metrics**: Latency, error rates, throughput, and customer satisfaction metrics are useful for understanding your end users' experience when using your applications.\n- **Business outcome metrics**: Revenue, customer growth, and engagement can be correlated with resource usage to identify opportunities for cost optimization.\n- **[DevOps Research \\& Assessment (DORA)](https://dora.dev) metrics**: Metrics like deployment frequency, lead time for changes, change failure rate, and time to restore provide insights into the efficiency and reliability of your software delivery process. By improving these metrics, you can increase productivity, reduce downtime, and optimize cost.\n- **[Site Reliability Engineering (SRE)](https://sre.google) metrics**: Error budgets help teams to quantify and manage the acceptable level of service disruption. By establishing clear expectations for reliability, error budgets empower teams to innovate and deploy changes more confidently, knowing their safety margin. This proactive approach promotes a balance between innovation and stability, helping prevent excessive operational costs associated with major outages or prolonged downtime.\n\n### Use observability for resource optimization\n\nThe following are recommendations to use observability to identify resource\nbottlenecks and underutilized resources in your cloud deployments:\n\n- **Monitor resource utilization** : Use resource utilization metrics to identify Google Cloud resources that are underutilized. For example, use metrics like CPU and memory utilization to identify [idle VM resources](/monitoring/agent/process-metrics#view_performance_metrics_for_top_resource-consuming_vms). For Google Kubernetes Engine (GKE), you can view a detailed [breakdown of costs](/kubernetes-engine/docs/how-to/cost-allocations) and [cost-related optimization metrics](/kubernetes-engine/docs/how-to/cost-optimization-metrics). For Google Cloud VMware Engine, [review resource utilization](https://cloud.google.com/blog/topics/cost-management/cost-optimization-of-google-cloud-vmware-engine-deployments) to optimize CUDs, storage consumption, and ESXi right-sizing.\n- **Use cloud recommendations** : [Active Assist](/solutions/active-assist) is a portfolio of intelligent tools that help you optimize your cloud operations. These tools provide actionable recommendations to reduce costs, increase performance, improve security and even make sustainability-focused decisions. For example, [VM rightsizing insights](/compute/docs/instance-groups/apply-machine-type-recommendations-managed-instance-groups) can help to optimize resource allocation and avoid unnecessary spending.\n- **Correlate resource utilization with performance**: Analyze the relationship between resource utilization and application performance to determine whether you can downgrade to less expensive resources without affecting the user experience.\n\n### Balance troubleshooting needs with cost\n\nDetailed observability data can help with diagnosing and troubleshooting issues.\nHowever, storing excessive amounts of observability data or exporting unnecessary\ndata to external monitoring tools can lead to unnecessary costs. For efficient\ntroubleshooting, consider the following recommendations:\n\n- **Collect sufficient data for troubleshooting**: Ensure that your monitoring solution captures enough data to efficiently diagnose and resolve issues when they arise. This data might include logs, traces, and metrics at various levels of granularity.\n- **Use sampling and aggregation**: Balance the need for detailed data with cost considerations by using sampling and aggregation techniques. This approach lets you collect representative data without incurring excessive storage costs.\n- **Understand the pricing models of your monitoring tools and services**: Evaluate different monitoring solutions and choose options that align with your project's specific needs, budget, and usage patterns. Consider factors like data volume, retention requirements, and the required features when making your selection.\n- **Regularly review your monitoring configuration**: Avoid collecting excessive data by removing unnecessary metrics or logs.\n\n### Tailor data collection to roles and set role-specific retention policies\n\nConsider the specific data needs of different roles. For example, developers\nmight primarily need access to traces and application-level logs, whereas IT\nadministrators might focus on system logs and infrastructure metrics. By tailoring\ndata collection, you can reduce unnecessary storage costs and avoid overwhelming\nusers with irrelevant information.\n\nAdditionally, you can define retention policies based on the needs of each role\nand any regulatory requirements. For example, developers might need access to\ndetailed logs for a shorter period, while financial analysts might require\nlonger-term data.\n\n### Consider regulatory and compliance requirements\n\nIn certain industries, regulatory requirements mandate data retention. To avoid\nlegal and financial risks, you need to ensure that your monitoring and data\nretention practices help you adhere to relevant regulations. At the same time,\nyou need to maintain cost efficiency. Consider the following recommendations:\n\n- Determine the specific data retention requirements for your industry or region, and ensure that your monitoring strategy meets the requirements of those requirements.\n- Implement appropriate data archival and retrieval mechanisms to meet audit and compliance needs while minimizing storage costs.\n\n### Implement smart alerting\n\nAlerting helps to detect and resolve issues in a timely manner. However, a\nbalance is necessary between an approach that keeps you informed, and one that\noverwhelms you with notifications. By designing intelligent alerting systems,\nyou can prioritize critical issues that have higher business impact. Consider\nthe following recommendations:\n\n- **Prioritize issues that affect customers**: Design alerts that trigger rapidly for issues that directly affect the customer experience, like website outages, slow response times, or transaction failures.\n- **Tune for temporary problems**: Use appropriate thresholds and delay mechanisms to avoid unnecessary alerts for temporary problems or self-healing system issues that don't affect customers.\n- **Customize alert severity**: Ensure that the most urgent issues receive immediate attention by differentiating between critical and noncritical alerts.\n- **Use notification channels wisely**: Choose appropriate channels for alert notifications (email, SMS, or paging) based on the severity and urgency of the alerts."]]