GCP Cost Optimisation. Committed Use Discounts, Spot VMs, and FinOps Strategies for Growing Organisations.

Jerzy Kopaczewski 22 July 2026 15 min read
Contents

GCP Cost Optimisation - Committed Use Discounts, Spot VMs, and FinOps Strategies

Google Cloud Platform bills differently from AWS. There are no Reserved Instances in the traditional sense, no Savings Plans. Instead, GCP offers Committed Use Discounts (CUD), automatic Sustained Use Discounts (SUD), Spot VMs, and Active Assist tooling to identify waste. This article shows how to combine these mechanisms into a coherent FinOps strategy that realistically cuts your bills by 30-60%.

UK organisations are increasingly adopting Google Cloud - particularly in fintech, data analytics, and AI/ML. Edinburgh’s growing AI ecosystem, London’s financial services sector, and Manchester’s tech corridor are all seeing accelerating GCP adoption. At the same time, many teams bring AWS or Azure cost habits to GCP, which leads to misunderstandings. GCP has its own pricing logic and its own savings mechanisms. Understanding them is the first step to controlling your budget.

This article covers every available cost optimisation lever on GCP - from automatic discounts through commitments to architectural strategies. All with concrete numbers and examples from our projects.

 

GCP Pricing Model - How It Differs from AWS

Before diving into optimisation, it is worth understanding the fundamental differences:

AspectGCPAWS
Billing granularityPer-second billing (min. 1 minute)Per-second (EC2), per-hour (some services)
Automatic discountsSustained Use Discounts (up to 30%)None automatic
CommitmentsCommitted Use Discounts (1 or 3 years)Reserved Instances / Savings Plans
Spot/PreemptibleSpot VMs (up to 91% discount)Spot Instances (up to 90%)
Free tierAlways Free (e2-micro, 5GB storage, BigQuery 1TB/month)Free Tier (12 months + always free)
Egress pricingTiered (Premium vs Standard network tier)Flat per-GB (varies by region)

The key difference: GCP automatically rewards sustained usage. You do not need to buy or reserve anything - if a virtual machine runs for the entire month, you pay less. This means some optimisation happens without your intervention.

 

Sustained Use Discounts (SUD) - Automatic Savings

Sustained Use Discounts are unique to GCP. They apply automatically to Compute Engine VMs (except E2 and A2/A3 families):

  • 0-25% of the month: full price
  • 25-50%: 20% discount on incremental hours
  • 50-75%: 40% discount
  • 75-100%: 60% discount

Effective discount at 100% usage: approximately 30% compared to on-demand pricing.

SUD operates at project and region level - GCP aggregates usage of all instances of the same type within a region. If you replace one machine with another of the same type (e.g. n2-standard-4 to another n2-standard-4), the discount does not reset.

What this means in practice: If you run a workload 24/7 on N1 or N2 machines, you receive a 30% discount with no commitment, no reservation, no activation. You simply pay less at the end of the month.

Limitations:

  • Does not apply to E2 machines (cheapest) - but these qualify for GCP Flex CUD
  • Does not apply to A2/A3 machines (GPU)
  • Does not stack with Committed Use Discounts (CUD replaces SUD)
  • Does not apply to Spot VMs

 

Committed Use Discounts (CUD) - Commitment for Savings

Committed Use Discounts are GCP’s equivalent of AWS Reserved Instances, but with an important difference: you commit to a minimum level of resource usage (vCPU + memory), not to a specific instance type.

How CUD Works

You purchase a commitment for 1 or 3 years:

  • 1 year: 20-28% discount (depending on machine type)
  • 3 years: 46-55% discount

The commitment is for a quantity of vCPU and GB of RAM in a given region. You are not locked to a specific instance type - you can change from n2-standard-4 to n2-standard-8 without losing the discount.

Resource-based vs Spend-based CUD

CUD typeCommitmentFlexibilityDiscount (3 years)
Resource-basedSpecific quantity of vCPU + RAM in a regionAny machine type within the same family46-55%
Spend-based (Flex CUD)Minimum spend $/hourAny machine type, any regionSmaller (typically 20-25%)

Spend-based (Flex CUD) is a newer model, available since 2024. It works like AWS Compute Savings Plans - you commit to a spend level, not to specific resources. It works across regions and machine families. Smaller discount, but greater flexibility.

Example Calculation

A fintech scaleup in London runs 3 n2-standard-8 instances (8 vCPU, 32 GB RAM each) 24/7 in europe-west2 (London region):

Without CUD (SUD only):

  • On-demand price n2-standard-8: ~$0.3876/hour
  • SUD 30%: effective price ~$0.2713/hour
  • 3 machines x 730h: ~$594/month

With 3-year CUD (resource-based):

  • Commitment: 24 vCPU + 96 GB RAM in europe-west2
  • Discount: ~52%
  • Effective price: ~$0.1860/hour
  • 3 machines x 730h: ~$407/month

Saving: ~$187/month = ~$2,244/year = ~$6,732 over 3 years

For larger infrastructure (20-50 machines), savings reach tens of thousands of pounds annually.

When to Buy CUD

  • Baseline load: workload running 24/7 for at least 3 months
  • Stable size: you do not plan to significantly reduce infrastructure
  • Region settled: you do not plan to migrate to another GCP region

When NOT to buy:

  • Workload growing rapidly (doubling resources monthly) - buy smaller CUD and add more later
  • You plan to migrate away from GCP
  • Workload is seasonal (use Spot VMs + on-demand instead)

 

Spot VMs - Up to 91% Discount for Flexibility

Spot VMs (formerly Preemptible VMs) are virtual machines available at 60-91% discounts that GCP can terminate at any moment (with 30-second notice).

Differences Between Spot VM and Preemptible VM

Since 2022, GCP officially replaced Preemptible VMs with Spot VMs:

  • Preemptible: max 24h lifetime, then automatic termination
  • Spot: no lifetime limit (but GCP can terminate at any time)

In practice, Spot VMs are the improved version - use them instead of Preemptible.

Where to Use Spot VMs

WorkloadSuitable for Spot?Notes
CI/CD pipelinesYesRunners on GKE with Spot node pool. Preemption = job restart.
Batch processing / ETLYesDataflow, Dataproc with Spot workers. Built-in checkpointing.
ML trainingYes (with checkpoints)Vertex AI Training with Spot. Save checkpoints every N iterations.
Dev/test environmentsYesIf preemption does not block developers
GKE workloads (stateless)YesDeployment with min. 2 replicas, one on Spot, one on on-demand
Databases (production)NoData loss / unavailability not acceptable
Critical single-instance workloadNoNo redundancy = unavailability risk

Spot on GKE - Node Pool Configuration

In GKE you can mix node pools - some on Spot, some on on-demand:

# GKE node pool - Spot VMs
apiVersion: container.google.com/v1
kind: NodePool
spec:
  config:
    spot: true
    machineType: n2-standard-4
  autoscaling:
    enabled: true
    minNodeCount: 0
    maxNodeCount: 10
  management:
    autoRepair: true
    autoUpgrade: true

Key point: set PodDisruptionBudget for workload on the Spot node pool so Kubernetes knows how many replicas can be unavailable simultaneously.

 

Active Assist - GCP’s Built-in Optimisation Recommendations

Active Assist is a set of ML-powered tools built into the GCP Console that analyse your usage and suggest savings:

Recommender

Three key recommenders for cost:

  1. VM Rightsizing Recommender - analyses CPU and RAM usage over 8 days and suggests a smaller machine type if resources are underutilised

  2. Idle Resource Recommender - identifies resources that are not being used:
    • Persistent disks without an attached instance
    • Static IP addresses without assignment
    • VMs with <1% CPU usage over the past week
    • Unused snapshots older than 90 days
  3. Committed Use Discount Recommender - analyses the stability of your usage and suggests optimal CUD size

Billing Export to BigQuery

For deeper cost analysis, enable billing data export to BigQuery. This gives you:

  • Costs per-project, per-service, per-SKU
  • Daily/weekly/monthly trends
  • Ability to build dashboards in Looker Studio
  • Automatic anomaly alerts (Cloud Monitoring)
-- Top 10 most expensive services in the past month
SELECT
  service.description AS service,
  ROUND(SUM(cost), 2) AS total_cost
FROM `project.billing_dataset.gcp_billing_export_v1_*`
WHERE DATE(_PARTITIONTIME) >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)
GROUP BY service.description
ORDER BY total_cost DESC
LIMIT 10

 

Hidden GCP Costs - What to Watch For

Egress (Outbound Traffic)

GCP has two network tiers:

  • Premium Tier (default): traffic routes through Google’s global network. More expensive egress (~$0.12/GB inter-continental).
  • Standard Tier: traffic exits via the public internet closer to source. Cheaper (~$0.085/GB), but higher latency.

For UK organisations serving users primarily in the UK and Europe, the difference is modest. But if you serve data globally (CDN, public APIs), Standard Tier can deliver 20-30% savings on egress.

Cross-region Replication

If you use multi-regional storage (e.g. Cloud Storage in EU) - you pay for replication automatically. For data that does not require high availability across regions, use a single-region bucket (europe-west2 for London, europe-west1 for Belgium).

BigQuery

BigQuery charges per-query (volume of data scanned):

  • On-demand: $6.25/TB of data scanned
  • Slots (flat-rate): from $2,000/month for 100 slots

Common traps:

  • SELECT * on large tables - scans ALL columns. Always select specific columns.
  • No partitioning - query scans the entire table instead of one partition.
  • Materialising views instead of using cache.

Cloud NAT

Similar to AWS NAT Gateway - Cloud NAT charges per hour of operation + per-GB of processed data. If your machines only need internet access for pulling packages (apt-get, pip), consider Private Google Access instead of NAT.

 

FinOps Strategies for GCP - Checklist

Level 1: Quick wins (week 1)

  • Enable Billing Export to BigQuery
  • Review Active Assist recommendations (VM Rightsizing, Idle Resources)
  • Delete unused disks, snapshots, static IPs
  • Enable automatic shutdown of dev/test environments outside working hours
  • Verify BigQuery uses partitioning and clustering

Level 2: Medium-term (month 1-2)

  • Identify baseline load and purchase CUD (resource-based or Flex)
  • Deploy Spot VMs for CI/CD and batch processing
  • Configure budgets and alerts in Cloud Billing
  • Implement labels on all resources - per-team, per-environment, per-project
  • Consider Standard Tier networking for non-critical workload

Level 3: Strategic (quarter)

  • Implement showback/chargeback model between teams
  • Automate lifecycle management (unused resources -> alert -> delete after 14 days)
  • Analyse multi-cloud vs single-cloud costs (if also using AWS/Azure)
  • Renegotiate CUD (if approaching end of commitment)
  • Evaluate custom machine types vs predefined (are you paying for resources you do not use)

 

Custom Machine Types - Savings Through Granularity

GCP lets you define custom machine types with exact vCPU and RAM quantities. On AWS/Azure you must choose from predefined sizes - if you need 6 vCPU and 24 GB RAM, you buy 8 vCPU / 32 GB.

On GCP you can create a machine with exactly 6 vCPU / 24 GB RAM - and pay less.

When it is worth it:

  • Workload that needs high RAM but low CPU (e.g. caching, in-memory databases)
  • Workload that needs high CPU but low RAM (e.g. encoding, compression)
  • Any situation where a predefined type wastes >20% of resources

Limitations:

  • Custom machine types do not combine with resource-based CUD (only Flex CUD)
  • Minimum: 1 vCPU, 0.9 GB RAM per vCPU
  • Maximum: 96 vCPU, 624 GB RAM (N2)

 

GCP Regions for UK Organisations

GCP’s europe-west2 region is located in London. For UK organisations this is significant:

  • Latency: <5ms to users in the UK (vs 15-25ms from Belgium or Netherlands)
  • Data residency: data stays physically in the UK, simplifying UK GDPR and Data Protection Act 2018 compliance
  • FCA requirements: for financial services firms - data processed within UK jurisdiction
  • Cost: comparable to europe-west1 (Belgium), often identical

Financial services teams in Leeds and Edinburgh - where FCA regulatory scrutiny requires demonstrable data residency - find the London region particularly valuable for eliminating cross-border data transfer questions entirely.

Service availability in europe-west2:

  • Compute Engine, GKE, Cloud Run - yes
  • BigQuery - yes (multi-region EU covers UK)
  • Cloud SQL, AlloyDB - yes
  • Vertex AI - partially (not all models)
  • Cloud Spanner - yes (multi-region)

If your organisation operates primarily in the UK and does not need global reach - use europe-west2 as your primary region. You save on latency and simplify regulatory compliance.

 

Savings Comparison - What Each Mechanism Delivers

MechanismTypical discountCommitment requiredRisk
Sustained Use DiscountsUp to 30%None (automatic)None
CUD 1-year20-28%1 year, non-cancellableLow (if baseline is stable)
CUD 3-year46-55%3 years, non-cancellableMedium (lock-in)
Spot VMs60-91%NonePreemption at any time
VM Rightsizing20-50%NoneNone (if measured properly)
Idle Resource cleanup100% (elimination)NoneNone
Custom Machine Types10-30%NoneNone

Combined, a typical organisation can achieve 40-60% reduction in GCP costs by applying a combination of these mechanisms. The key is starting with risk-free optimisations (rightsizing, idle cleanup, SUD) and gradually adding commitments (CUD) as usage stabilises.

 

How We Can Help

At Devopsity, we implement FinOps strategies on GCP for organisations across the UK and Europe - from scaleups to enterprise. A typical engagement includes:

  • Audit of current GCP costs and identification of quick wins (1 day)
  • Usage analysis and optimal CUD recommendation (1-2 days)
  • Deployment of Spot VMs, autoscaling, and lifecycle policies (2-3 days)
  • Configuration of cost dashboards and alerts (1 day)

If your GCP bills are growing faster than revenue - that is a signal you need a FinOps strategy, not a bigger budget.

Jerzy Kopaczewski

Need a GCP cost audit?

Book a free 30-minute call. No pitch - a technical conversation about your environment.

 

Frequently Asked Questions

Can Committed Use Discounts be cancelled?

No. CUD is a non-cancellable commitment - you pay regardless of whether you use the resources. Buy CUD only for baseline load you are confident will persist. If workload is variable, consider Flex CUD (spend-based) - smaller discount, but more flexibility.

Are Spot VMs suitable for production?

Yes, if the architecture is resilient to preemption. Stateless workload on GKE with at least 2 replicas, batch processing with checkpoints, CI/CD - all work well on Spot. Databases and critical single-instance workload - no.

How long does it take to implement a FinOps strategy on GCP?

Quick wins (idle cleanup, rightsizing) - 1-2 days. Full strategy with CUD, Spot, dashboards, and processes - 2-4 weeks. The longest part is cultural change (engineers taking responsibility for costs in their environments).

Is the europe-west2 (London) region more expensive?

Not significantly. Prices are comparable to europe-west1 (Belgium) - differences are minimal (0-5%). In return you get lower latency for UK users and simplified data residency compliance.

How do CUD and SUD interact?

They do not stack - CUD replaces SUD. If you purchase CUD for a given resource, SUD is not applied. CUD provides a larger discount than SUD (55% vs 30%), so it is more beneficial regardless.

GCP Google Cloud FinOps cost optimisation Committed Use Discounts Spot VMs cloud cost management

Read also:

Previous post Next post