New See exactly what you're overpaying AWS in under 60 seconds. Try the Calculator for free →

GCP cost optimization best practices: What works and what scales

A practical guide to reducing waste, choosing the right Google Cloud discounts, and building a cost optimization program that keeps working as your environment scales.
Picture of Priyanka
Content Strategist

Priyanka

Content Strategist
October 14, 2026

·

18 min read
GCP Cost Optimization Best Practices & Why They Don’t Scale
In this article
Key takeaways
1
Establish ownership before optimizing. Clear ownership makes cost issues easier to find and fix.
2
Start with the biggest cost drivers. Prioritize the services contributing most to your GCP bill.
3
Remove waste before buying commitments. Rightsize and clean up first so you do not commit to unnecessary spend.
4
Flex CUD rates vary by SKU. Discounts depend on service, machine family, and commitment term.
5
Measure continuously. Track coverage, utilization, and cost changes as workloads evolve.
GCP cost optimization best practices start with rightsizing, idle-resource cleanup, scheduling, storage lifecycle rules, budgets, and the right discount model. But those actions alone do not create a scalable FinOps program. Mature teams also need clear cost ownership, service-level prioritization, and repeatable measurement of commitment coverage and utilization.

Measure before you optimize

Before changing infrastructure, make sure you can explain where the bill comes from and who owns it. Google Cloud Billing Reports can break spend down by project, service, region, SKU, and labels, while resource labels can support cost allocation.

Start with four controls:

Map billing accounts, folders, and projects to business owners.

Use labels such as cost center, service, team, and environment where supported.

Give shared-platform costs an explicit allocation rule.

Define who approves exceptions for intentionally expensive workloads.

Then rank the top five services by monthly spend and month-over-month change. A Compute Engine-heavy bill needs a different playbook from one dominated by BigQuery, GKE, Cloud Storage, databases, or networking.

If BigQuery dominates, start with query behavior and pricing model. For GKE, examine workload requests, node utilization, autoscaling, and cluster mode. See our deeper guides on BigQuery cost optimization and GKE cost optimization for those paths.

Seven GCP cost optimization best practices

1. Rightsize compute resources

GCP rightsizing means matching provisioned CPU and memory to observed demand. Compute Engine machine type recommendations use recent utilization to suggest smaller or larger VM configurations. Google currently bases these recommendations on the last eight days of CPU and memory data.

Validate latency, memory pressure, peaks, and failover needs before changing production resources.

2. Remove idle resources

Idle cleanup eliminates resources that still bill without useful work. Google provides idle VM recommendations and separate idle-resource recommendations for Persistent Disk volumes, IP addresses, and custom disk images.

Review stale test environments, unattached disks, unused static IPs, old images, and resources left after migrations. Give temporary infrastructure an owner and expiration date.

3. Schedule non-production capacity

Development, test, and sandbox environments rarely need the same runtime schedule as production. Where requirements allow, stop or scale them down outside working hours.

4. Optimize Cloud Storage lifecycle

Object Lifecycle Management can move eligible data to colder classes or delete objects when defined conditions are met.

Nearline, Coldline, and Archive have minimum storage durations of 30, 90, and 365 days. Model retrieval fees, early deletion charges, operations, and Autoclass management costs before setting lifecycle rules. Google Cloud Storage pricing documents the current conditions and fees.

5. Use budgets as guardrails

Cloud Billing budgets track actual and forecasted spend and can trigger notifications or Pub/Sub workflows.

An alerts-only budget does not cap usage or billing. Spend cap budgets are available in preview for supported services, but they are a separate control.

6. Use SUDs where eligible

Sustained Use Discounts apply automatically to eligible Compute Engine resources used for more than 25% of a billing month. Depending on machine type, the maximum monthly SUD is 20% or 30%.

SUDs require no commitment and do not stack with CUDs on the same usage. Our GCP savings setup guide explains where SUDs, CUDs, and Spot VMs fit.

7. Cover durable usage with CUDs

Committed Use Discounts exchange a one-year or three-year commitment for lower rates on eligible usage.

Resource-based CUDs suit predictable Compute Engine resources tied to a machine series and region. Compute flexible CUDs commit to eligible hourly spend and can apply across supported Compute Engine, GKE, and Cloud Run usage.

For current mechanics and rates, see our GCP CUD guide.

Prioritize by service and cost driver

Generic optimization lists become less useful as GCP environments diversify. Use the service generating spend to choose the next action.
Cost driver First questions to ask
Compute Engine Are VMs oversized, idle, on the wrong family, or suitable for SUDs, CUDs, or Spot?
GKE Are Pod requests inflated, node pools underutilized, and autoscalers tuned?
BigQuery Which queries, projects, or reservations drive bytes processed or slot spend?
Cloud Storage Does access frequency match storage class and retention?
Networking Which regions, egress paths, or designs drive transfer charges?
For GKE, use cost and utilization insights to identify overprovisioned workloads, then review workload requests and autoscaling before changing capacity.

For Cloud Run, compare request-based with instance-based billing. Request-based billing can fit sporadic traffic, while instance-based billing can fit steadier workloads or background processing.

Compare GCP discount options

Option Commitment Current discount Best fit
SUD None Up to 20% or 30% on eligible resources Steady eligible Compute Engine usage
Resource-based CUD 1 year Up to 37% Stable regional Compute Engine resources
Resource-based CUD 3 years Up to 55% for most machine types, up to 70% for some memory-optimized resources Very stable resources
Compute flexible CUD 1 year SKU-specific, commonly 28% for many Compute Engine families and GKE Portable eligible compute spend
Compute flexible CUD 3 years SKU-specific, commonly 46%, with some higher rates Longer-lived eligible compute spend
Important: validate SKU, machine family, billing model, region, existing discounts, and term before using any percentage. Current Compute flexible CUD rates include 63% for three-year M1–M4 eligible spend, with no one-year Flex discount for those series. Cloud Run rates also vary by billing model.
Google migrated billing accounts with active affected spend-based CUDs to the updated model on January 21, 2026; other affected accounts moved earlier, beginning July 15, 2025. Under the new model, eligible usage is priced directly at the applicable discounted rate rather than represented primarily through the legacy credit presentation, and the updated model expanded Compute flexible CUD coverage.

Update billing dashboards, BigQuery exports, and KPI logic that depend on the prior data model. Google’s migration timeline explains the account-specific migration paths, while its updated spend-based CUD documentation explains the new consumption model.

Decision rule: stable regional configuration generally points to resource-based CUDs; portable eligible spend may fit Compute flexible CUDs; interruptible workloads may warrant Spot evaluation.

Why traditional optimization stalls

Rightsizing, cleanup, scheduling, lifecycle rules, and budgets mainly reduce consumption. Once production workloads are reasonably efficient, the next question is what rate you pay for usage expected to remain.

CUDs make that decision financially meaningful because commitments cannot simply be canceled after purchase. If demand falls or architecture changes, unused commitment can turn a nominal discount into a poor outcome.

Use this three-step commitment check:
1

Confirm the hourly or service-level baseline that repeats in billing data.

2

Exclude planned migrations, rightsizing, shutdowns, and known demand reductions.

3

Model conservative, expected, and downside demand before selecting coverage.

Google’s CUD recommendation workflow supports scenario modeling across terms, coverage thresholds, history windows, and atypical-usage exclusions.
Practical callout: If existing commitment utilization is weak, fix that before buying more. High utilization plus a persistent uncovered baseline is a stronger signal than coverage percentage alone.
Illustrative example: if $50,000 of eligible monthly compute contains a durable $40,000 baseline, that baseline may be a commitment candidate. Actual savings depend on eligibility, SKU mix, term, and utilization.

Build a scalable operating cadence

Scalable GCP cost optimization is a recurring review, not a quarterly cleanup.

Track these metrics monthly:

Spend by service, project, team, and major SKU.

Month-over-month variance and anomalies.

Rightsizing and idle-resource backlog.

CUD coverage and utilization.

On-demand-equivalent durable baseline.

Upcoming migrations and commitment expirations.

Google’s CUD recommendations analyze historical and recent usage and support scenario modeling. Pair that data with business context. Google’s CUD Analysis report exposes coverage and utilization separately for commitment-health reviews.

For the planning gap, see our guide to why cloud cost forecasting breaks. For the broader operating model, see why cloud cost management fails.

How we manage commitment risk

We focus on the commitment layer rather than replacing provider-native optimization.With  Flex Insured Commitment Program teams can get the 30–50% savings of a 1- or 3-year commitment with none of the commitment risk.

For eligible Flex Commitments, our pricing is based on realized savings. We also provide cashback protection when a covered Flex Commitment costs more than equivalent on-demand usage, subject to current eligibility and terms. Cashback losses are calculated monthly and paid 90 days after accrual.

For eligible GCP Compute flexible CUD opportunities, we can help teams evaluate and manage coverage before they commit. Our cashback protection can help cover the difference when an eligible Flex Commitment costs more than equivalent on-demand usage, subject to current program eligibility and terms.

Conclusion

GCP cost optimization best practices work best in sequence. Establish allocation and ownership, identify the services driving spend, remove waste, optimize workload behavior, then evaluate the rate paid for durable production usage.

If you can name your durable baseline, planned demand changes, current commitment coverage, and utilization, you are ready to evaluate additional CUD coverage. If you cannot, improve measurement first.
GCP commitment optimization
See what your GCP baseline supports.

Review coverage, utilization, and eligible commitment opportunities before adding another long-term position.

Frequently asked questions

What are the main GCP cost optimization best practices?

They include cost allocation, rightsizing, idle cleanup, non-production scheduling, storage lifecycle management, budget guardrails, service-specific optimization, and appropriate use of SUDs, CUDs, or Spot capacity.

What is the difference between rightsizing and idle cleanup?

Rightsizing keeps a workload but changes its resource allocation. Idle cleanup removes resources that no longer provide useful work.

How do SUDs and CUDs differ?

SUDs apply automatically to eligible usage without a long-term commitment. CUDs require a one-year or three-year commitment and can provide deeper discounts. The same eligible usage does not receive both simultaneously.

How should teams choose between resource-based and Compute flexible CUDs?

Resource-based CUDs fit predictable regional Compute Engine configurations. Compute flexible CUDs fit eligible spend that benefits from portability across supported resources and services. Validate current SKU eligibility and rates before purchasing.

What should a mature GCP optimization program measure?

Measure spend allocation, service and SKU trends, waste backlog, CUD coverage, CUD utilization, durable baseline, anomalies, planned demand changes, and commitment expirations.

Share
Facebook
X
LinkedIn
Reddit
See cloud commitment management in action.
More from Usage.ai
Latest from our blogs