Google Cloud Platform (GCP), Google’s answer to Amazon Web Services (AWS) and Microsoft Azure, is steadily gaining steam. Launched in 2008 — just two years after AWS — GCP has taken the bronze medal in public cloud services for years.
While it still occupies third place, its market share has steadily expanded: In Q4 2021, GCP owned 9% of the public cloud market, and by Q3 2022, it had jumped to 11%. Considering the billions that businesses spend on the public cloud every year, every percentage point makes a big difference.
There are a few reasons why people choose GCP over AWS or Azure. Retail companies which compete with Amazon — Lowe’s, Home Depot, Walmart, etc. — often view GCP as a way to leverage the cloud without bankrolling their main retail competitor.
Google also has highly sophisticated data analytics capabilities; GCP users can export data to BigQuery for further analytics. Also, GCP’s price point is often more favorable than its competitors’.
But like any cloud provider, GCP users run into a handful of common billing challenges. Cloud bill complexity obscures critical information, like which business units — customers, products, features — are costing you the most, where you might be overspending, and how to remediate inefficiencies.
CloudZero AnyCost ingests 100% of customers’ cloud spend, normalizes it into a standard data model, and presents it all in a single pane of glass that enables ad-hoc exploration and engineering-led optimization hunting.
As we continue working with GCP users, here are some of the most common billing challenges we see — and help customers turn into strengths.
1. GCP Provides Technical Billing Info, But Not Business Billing Info
Like most cloud providers, GCP’s native billing platform is good at tracing spending to specific resources but not specific business units.
For example, GCP can tell you how much you’re spending on Cloud Storage (their equivalent of S3) or Compute Engine (their equivalent of EC2), but it’s much harder to link this spend to the business units responsible for it.
GCP’s primary solution to this challenge is labeling, a process that AWS and Azure call “tagging.”
In essence, labeling and tagging require users to stamp each resource with the business unit it’s associated with — be that a customer, a product, a feature, a team, or anything else.
This method has well-documented limitations. At root, labeling is a slow, laborious manual process, one that engineers have to do constantly to keep current.
But beyond that, some resources can’t be labeled, labeling can’t split up shared resources accurately, and you can’t change labeling frameworks on the fly. All this becomes even harder if your team changes its structure or you acquire/get acquired by another company with a different labeling framework.
CloudZero uses code-driven cost allocation to overcome these and other tagging challenges.
CostFormation, our domain-specific language, applies logic on top of customers’ billing data to allocate 100% of it to relevant business units — with no additional labeling on the part of customers.
2. GCP Billing Reports Offer Minimal Granularity
On the flip side of the labeling issue is the reporting issue. Within a GCP Billing Account reside multiple Projects — the way AWS offers multiple Resource Accounts within a single Management Account, and Azure offers multiple Subscription Types within a single Billing Account.
Within this framework, GCP can generate reports for a Billing Account that show you how much each Project costs. But these reports don’t show you the specific cloud resources driving each Project’s overall cost — making it difficult for GCP users to evaluate spend irregularities, much less remediate them.
CloudZero Explorer was built to address this exact issue. Having allocated 100% of users’ cloud spend, Explorer lets CloudZero users sort spending by whichever business units (a.k.a. “Dimensions”) they want.
Then, we rank these Dimensions by change-oriented metrics, like dollar amount change and percent change in a given interval.
When engineers see a spending trend that looks unusual, they can drill into the Dimension, going as far down as the resource level to identify the root cause of the spending spike. With this information, they can choose the most responsible way to remediate the issue.
3. GCP Offers Powerful Data Manipulation (But Only To Those With Ultra-Sophisticated Analytics Capabilities)
As I mentioned, GCP customers are drawn to Google’s data manipulation power. GCP lets users export billing data to BigQuery, and users with sophisticated data analytics skills can use BigQuery to mine the data for business insights.
For example, if you want to see which customers are costing you the least/most in the cloud (and learn whether or not you’re making/losing money on them), you can manually export billing data to BigQuery and apply logic that breaks out your cost per customer — assuming you know how to join your customer adoption data with your billing data.
But there are a couple of obstacles to making the most of this export-and-mine method.
First, only some organizations have a robust data analytics arm, and those that do tend to allocate their time to more product-centric topics (user habits, feature uptake, etc.).
Organizations without powerful in-house data analytics — or who lack the resources to invest in non-roadmap analytics activities — will struggle to use this capability.
Second, export-and-mine either requires a lengthy manual effort or a complex project around automating the process. Regardless of which you choose, making the most of your GCP billing data means diverting time and energy from more strategically relevant analytics projects.
CloudZero eliminates this process by embedding unit cost capabilities within our platform. Here’s how it looks:
This is a screenshot from CloudZero’s own CloudZero account (we’re not only the owners but also happy customers), with our costs sorted at the feature level. The colors on the bar graph represent all costs associated with specific CloudZero features.
We didn’t have to generate custom reports or export data to get this view; it took only a matter of clicks.
A Platform Custom-Built For Engineers
Some GCP billing challenges are common to all cloud providers. No cloud provider has a code-driven method of allocating spend, and the tagging/labeling function within each platform is a necessary but insufficient solution.
More broadly, understanding your GCP bill requires data wizards — people with deep experience, enthusiasm, and ease with manipulating data in custom ways.
Getting meaningful business insights out of GCP’s native billing platform is difficult, whether or not your engineers are all data ninjas. And even if they are, wouldn’t you prefer that they spend their time and energy delighting your customers, not manipulating billing data?
CostFormation obliterates tagging challenges; Dimensions surface unit costs more quickly than ever; Explorer makes spend exploration fast and easy.
The less friction there is in cost exploration and remediation, the more likely engineers will make cost accountability part of their daily work. We built CloudZero to bypass all these challenges.