💸 Is Your Google Cloud Bill Out of Control? 💸
Cut a growing Google Cloud bill: switch off idle dev and test workloads, use spot instances, label costs, export billing to BigQuery and right size VMs.
Watch Ben King break down practical Google Cloud FinOps cost controls on our YouTube channel.
Key Takeaways
- Start in the FinOps Hub: Break Google Cloud spend down by project in the Billing Manager and FinOps Hub to isolate the projects driving month-on-month growth.
- Stop paying 24/7 for 9-to-5 dev environments: Automatically power down development and test workloads outside working hours.
- Use Spot VMs for double value: Running dev/test on Spot instances cuts compute costs dramatically and forces developers to write failure-tolerant code.
- Label every resource and export to BigQuery: Tag every project and resource with an
ownerlabel, export billing data into BigQuery, and send monthly spend reports to each owner. - Right-size VMs continuously, not once: Use Compute Engine’s custom machine types and active utilization reports to trim over-provisioned CPU and RAM regularly.
Step-by-Step: How to Cut a Growing Google Cloud Bill
1. Find Hotspots in the FinOps Hub and Billing Manager
When cloud costs climb every month, your first stop in Google Cloud is the FinOps Hub and Cloud Billing reports. Group costs by project and service to see exactly where the hotspots sit before changing infrastructure.
2. Shut Down Idle Dev and Test Workloads (and Use Spot VMs)
One of the most common sources of cloud waste is running development and test workloads 24/7 when engineers only work 9-to-5.
- Turn them off when idle: Use instance schedules to shut down non-production VMs and clusters overnight and on weekends.
- Run dev workloads on Spot VMs: Spot instances are substantially cheaper than standard VMs. Because Google Cloud can reclaim Spot capacity when regional demand is high, your developers are forced to write applications that gracefully handle interruptions—a foundational habit for reliable cloud engineering.
3. Enforce Cost Owner Labels and Export Billing to BigQuery
Engineers rarely waste cloud budget on purpose; they usually lack visibility into what their resources cost.
- Apply a mandatory
ownerlabel to every Google Cloud project and resource. - Enable Cloud Billing Export to BigQuery so every line item can be sliced and queried with SQL.
- Send an automated monthly cost breakdown to each named owner so teams can spot and decommission forgotten resources themselves.
4. Continuously Right-Size Compute Engine VMs
Compute Engine lets you tune vCPU and memory independently using custom machine types. Many teams size instances once during initial migration by guessing peak load and never revisit them. Review Google Cloud’s built-in Right-Sizing Recommendations monthly to reclaim idle CPU and memory.
(Want an automated audit of your estate? Try our Cloud Cost Calculator or explore our Cloud Foundations & FinOps practice.)
Full Video Transcript
So you started using cloud and your costs keep growing and growing every month—it seems to be more and more money that you’re spending on cloud, and you’ve realised it’s time to take a look and cut those costs down to something that’s more sensible.
If you’re using Google Cloud, they’ve got the FinOps Hub and the Billing Manager where you can go and see where these costs are broken down. They’re often broken down by project, so you can see where some of the hot spots are.
To reduce that, the next thing you should start looking at is dev and test workloads. People pay me to come in and consult and say: “Hey, do you really need your development workloads running 24/7 when your developers are only working 9 to 5?” It’s pretty logical—get that turned off when it’s not in use. Even better, get those running on Spot instances. These are substantially cheaper, though when Google has low capacity they will take them away from you. That might interrupt a developer workflow, but it ensures that your developers are writing code that can tolerate failures, which is key to running anything on cloud.
The next thing you want to do is enhance the visibility you’re getting into where you’re spending money. This is done with labels. Every project or every resource that you have running should have a label on it with an owner, and that owner should get a report at the end of each month showing how much money they’ve spent. That empowers your team to understand that they might be spending money they don’t know about, and have a look to see if they can reduce that by themselves. This is really simple with Google: creating labels, putting them on everything, and then exporting all the billing data into BigQuery so you can slice it, dice it, run reports, and figure out where you need to focus your cost saving.
Another thing that often gets missed is right-sizing Compute Engine machines. In Compute Engine, you can individually change your memory and CPU to right-size it to your workload. A lot of people do this as a one-time exercise, kind of guess it, and never come back and revisit it. There are tons of reports in Google Cloud where you can go through, have a look at these things, and save yourself considerable money just by getting rid of unnecessary resources that your machines aren’t using.
If you want anyone to have a look at this, feel free to reach out—thank you!
Founder of Aviato Consulting and former Google Cloud Consulting Lead for APAC, specialising in enterprise cloud architecture, APRA CPS 234 and agentic AI.
Related Articles
The Complete Guide to Retail Data Integration in 2026
Why Australian retailers struggle with real time analytics across POS, ERP and ecommerce, and how Google Cloud data platforms power Gemini Enterprise.
🤯 AI Just Got a HUGE Upgrade (And You Need to Know Why)
Google Cloud AI news: Claude 3 and Gemini 1.5 Pro and Flash are now on Vertex AI, plus Hugging Face models and context caching to cut cost and latency.
Getting Started with GCP is easy…..but not so fast.
Google Cloud is easy to start with, but production workloads need enterprise security controls. How Google's open source Fast Fabric code sets them up.