GCP Cost Optimisation Playbook: Compute, GKE, and the Hidden Lines
GCP bills look different from AWS but the failure modes are the same. Here's the playbook I run on Google Cloud accounts to cut 30-60% without re-architecting.
By Andrii Votiakov on
GCP isn't AWS, but the audit pattern is similar: find the over-provisioned compute, kill the zombies, lock in commitment discounts, and clean up the storage tail. The vocabulary changes — Committed Use Discounts instead of Savings Plans, Cloud Storage classes instead of S3 tiers — but the levers are the same.
Quick answer
The biggest GCP wins typically come from Committed Use Discounts (up to 55% off Compute), Spot/Preemptible VMs for stateless workloads (60-91% off), GKE Autopilot or right-sized standard nodes, and BigQuery slot pricing for analytics workloads above a few TB scanned per month. Most GCP audits I run cut the bill by 30-50%.
What's different from AWS
Worth knowing before you start:
- Sustained Use Discounts apply automatically up to 30% on Compute. You don't have to buy anything. AWS has nothing equivalent.
- Committed Use Discounts (CUDs) come in two flavours: resource-based (specific VM family) and spend-based (flexible across services). Spend-based is the AWS Compute Savings Plan equivalent and usually right.
- Network egress is more expensive than AWS for most paths but free between same-region GCP services.
- BigQuery is its own pricing universe — see the BigQuery cost optimisation guide for the full picture.
- Stackdriver / Cloud Logging has a generous free tier (50 GB ingestion/project/month) but the same overspending pattern as CloudWatch above that line.
The audit sequence
1. Right-size Compute Engine VMs
Same pattern as AWS EC2. Enable VM recommendations in the Recommender API or visit Console → Compute Engine → Recommendations. Rules of thumb:
- Average CPU < 20% over 14 days → drop a size
- Memory P95 < 50% → consider a
e2-(general) instead ofn2-(compute-optimised) - Custom machine types let you hit unusual CPU/RAM ratios; use them for mismatched workloads
2. Switch to Spot VMs (formerly Preemptible)
Spot VMs are 60-91% off on-demand. They run for up to 24 hours and can be preempted at any time. Perfect for:
- Batch jobs
- Stateless web tiers behind a load balancer
- ML training and inference fleets
- CI runners
Spot VMs in MIGs (managed instance groups) handle replacement automatically. Combined with cluster autoscaler in GKE, this is set-and-forget.
3. Buy Committed Use Discounts on the floor
Once right-sized, look at the previous 90 days and find your floor — the lowest sustained spend. Buy 1-year spend-based CUDs for 60-70% of that floor.
Rules I follow:
- 1-year, not 3-year, for most companies
- Spend-based, not resource-based, unless you have a fleet locked to one family
- Cover Compute Engine and GKE (CUDs apply to both)
Discounts: 1-year ~28%, 3-year ~52% on top of any sustained-use you're already getting.
4. Tame GKE
GKE clusters mirror EKS in cost dynamics:
- Standard mode: you manage nodes, you pay for everything
- Autopilot mode: you pay per pod (CPU/memory), Google manages nodes; ~10% premium but eliminates over-provisioned nodes
- Spot node pools for stateless workloads (huge saving)
- Cluster autoscaler required, plus VPA in recommend mode for resource right-sizing
For most teams below 50 nodes, Autopilot is cheaper after factoring in operational overhead. Above that, Standard with Spot pools wins.
5. Cloud Storage tiering
Cloud Storage classes:
| Class | Access | $/GB-mo (eu-west, indicative) | Min duration |
|---|---|---|---|
| Standard | Hot | $0.020 | none |
| Nearline | 30+ day | $0.010 | 30 days |
| Coldline | 90+ day | $0.004 | 90 days |
| Archive | 365+ day | $0.0012 | 365 days |
Object Lifecycle Management lets you transition automatically. Pattern is the same as S3 — Standard for hot, Nearline for 30-90 days, Coldline for 90-365, Archive for compliance.
Watch out for retrieval and class-A operation fees on cold tiers — they're real costs and easy to overlook.
6. Network egress
GCP's egress can be more expensive than AWS, especially internet egress out of Asia-Pacific or South America regions. Check:
- Cloud CDN in front of static or cacheable origins (origin → CDN is free intra-region)
- Premium vs Standard tier networking — Standard tier is cheaper but routes through public internet earlier; viable for non-latency-critical APIs
- Cross-region replication in Cloud Storage and Spanner — review necessity
7. Cloud Logging quotas
The 50 GB/project/month free tier is generous but easy to blow on a busy project. Same fixes as CloudWatch:
- Set log bucket retention (default is 30 days; sometimes you only need 14)
- Exclusion filters in Cloud Logging Sinks to drop noisy log lines before billing
- Send long-retention logs to Cloud Storage, not Cloud Logging
8. The forgotten zombies
Same family of zombies as AWS:
- Unattached persistent disks (PDs)
- Snapshots without retention policies
- Static IPs not attached to anything (unattached static IPs are charged hourly)
- Orphaned load balancers
- Old GKE clusters running on legacy node pool versions
- Old Dataproc clusters not auto-deleted
Run a one-page audit: list resources, sort by cost, kill anything you can't immediately justify.
What I check
- Recommender API recommendations for VM right-sizing
- Spot/Preemptible coverage of stateless workloads
- CUD coverage as a percent of compute spend
- Cloud Storage class distribution by bucket
- Egress per region (Console → Network Intelligence Center)
- Cloud Logging top sources by volume
- Idle resources via Asset Inventory
Realistic numbers
Recent client (~$18k/month GCP):
- VM right-sizing across 60 instances: $2,800/month
- Spot for batch + stateless tier: $3,400/month
- 1-year spend-based CUD on the floor: $2,200/month
- GKE Autopilot migration on dev clusters: $700/month
- Cloud Storage lifecycle rules: $400/month
- Cloud Logging exclusion filters: $300/month
Final: $8,200/month, ~54% reduction.
If you're weighing up whether multi-cloud makes sense for your setup, the multi-cloud cost guide breaks down when it pays and when it just adds overhead.
If your GCP bill needs the same treatment on a pay-for-savings basis, book a call.