Why GCP Cost Optimization?
With its focus on creating the best-in-class platform packed with next-gen features, Google is winning the hearts of digital-native companies in Silicon Valley and across the globe. A quintessential Google promise, the Google Cloud Platform (GCP) is designed to simplify managing cloud operations and ensure ease of use. Once organizations start playing around with GCP, the usage continues to grow.
With the growing, dynamic utilization coupled with simplified and fast-paced technical decisions, grow the variable cloud costs. Optimizing your Google cloud is an area that offers both challenges and opportunities. This requires an iterative process warranting round-the-clock cloud monitoring that can reduce cloud computing waste while meeting the operational prerequisites in order to realize the business value.
In this blog, we look at how to optimize your Google cloud costs by leveraging the best practices and optimization tools, as well as how to address some of the key challenges in the process to help you fully realize the value of cloud services from GCP.
Let’s begin with the key reasons for optimizing your Google cloud. Some of the immediate benefits of optimizing your Google cloud are:
- Higher visibility of the latest cloud cost trends and forecasts
- Heightened sense of accountability across the organization
- Stronger cost governance policies and better control over organization's cloud infrastructure
- Optimized usage and costs through real-time intelligence and automated recommendations
How does Google cloud billing work?
One of the key differentiators for GCP is its highly competitive pricing. Every year, it brings new changes to its pricing model to match the market dynamics. Earlier, GCP users were billed per hour and billed per minute. But it was quick to switch to a per-second billing to offer greater business value in a competitive way when AWS launched the idea. It also went a step ahead and created a second-wise billing better than AWS, by not limiting this pricing for any particular instance type, unlike the competitor that offers a per-second billing option only to Linux-based compute instances.
But what is Google Cloud Billing?
This refers to GCP’s billing console that comes with various utilities and configuration options for organization's cloud infrastructure. In order to use the console effectively and to your advantage, you must be well acquainted with the core concept, its elements, cost controls, and the hierarchy of elements to begin with.
Acts as the primary and unique identity of the organization on GCP. Considered to be the top level in the hierarchy, Domain allows you to define users and their IAM and administers IAM policy for users as well as devices.
Organization acts as the parent of all resources as it allows the domain controller to define resource settings, usage permissions, and project policies, as well as set up various billing accounts. Considered to be the central management point of Google resources, the organization level enables proactive and reactive management of different resources and related role responsible.
A grouping mechanism under Organization, Folders are for mapping projects, other folders, and resources. Resources are grouped based on their common IAM policies. You can create multiple folders and resources under one particular folder.
Projects are the parental node for all service-level resources. Without a project, you cannot use VMs, cloud storage buckets, etc. Projects can also contain information about teams, cloud environments, logical projects, etc.
At the bottom of the hierarchy stands Resources, the fundamental component of the billing mechanism that make up all the elements such as VMs, cloud storage buckets, etc. Resources are assigned under particular projects and play a central role in incurring costs.
Cloud Billing Elements and Their Hierarchy
Basics of Google Cloud Pricing Models
Just like the other CSP leaders, Google too offers pricing models:
1. Pay as you go:
Pay-as-you-go is Google Cloud’s on-demand pricing model, ideal for organizations who use the platform less frequently. This pricing option offers the flexibility to add or remove services as per the need, but for a certain cost, making it the most expensive pricing option.
2. Long-term commitment:
To encourage and reward users for making a long-term commitment, Google Cloud offers greater discounts as compared to the pay-as-you-go option. The long-term pricing terms of Google are applicable for a commitment of 1 to 3 years and are termed as Committed Use. Compared to on-demand pricing, long-term pricing can save as much as 70% of your computing costs.
3. Free tier:
Free tier is for those who do not have an aggressive need to use the platform and services but rather are in a state of exploring the world of cloud and different cloud vendors. The free tier allows them access to a wide range of predefined resources, some of which are always free. In total, there are 24 Google cloud services and solutions that a user can use, along with a free credit of $300 to explore paid services. Each of the services and products has a predefined monthly usage limit.
GCP free tier is ideal for organizations or individuals with low usage requirements who do not mind service disruptions to get acquainted with a range of Google products such as IoT, AI, compute, database, and storage, among others.
What’s included in Google Cloud free tier
Along with the pricing model, Google also enables its customers to reduce their Google cloud costs with a range of features starting from sustained use discounts and committed use discounts, preemptible VMs, ColdLine storage class, and custom machine types to per-second billing.
Google Cloud Pricing: Key Elements
Now, as we understand the pricing models, let’s take a look at what accounts for Google Cloud pricing.
Google Cloud Platform: Cost Management Essentials
Before we talk about the dozen spend optimization tools GCP offers for effective cost controls, let’s take a look at the principles that drive spend management tools. Google optimization principles are underpinned by the three core objectives: increase visibility, optimize resource usage, and improve price efficiency. All of its cost optimization tools are mapped against these three key objectives to drive outcomes for its customers. Let’s explore how:
3 key objectives of Google billing and cost management
- - You spending in detail
- - Billing of certain GCP services
- - Insights into specific spending patterns
Be able to:
- - Create shared accountability
- - Conduct routine cost reviews
- - Analyze past and present trends
- - Visualize financial and operational impact of cost actions
- - Map total cost to the operational structure
- - Create a chargeback model
- - Utilize budget alerts, quota limits, and other tools
- - How to reduce cloud waste through resource usage optimization
Be able to:
- - Use specific standards to balance cost and performance
- - Review services for application deployment
- - Review and choose the right custom VMs
- - Leverage Google Cloud Recommender to identify idle resources or under- or over-provisioned VM instances
- - How to find and decide the best optimized rates for specific Azure services
Be able to:
- - Use discounts wherever applicable, such as:
- - Sustained and committed use discounts
- - Flat-rate pricing
- - Per-second billing
- - Collaborate with technology teams like CCoE or in-house FinOps teams to achieve considerable savings while optimizing usage across BUs
Popular Cost Management Tools
GCP cost management suite
This is a free application that any GCP user can access from the Google Cloud Console. Though it interacts with other GCP services, which might incur charges. e.g., the tool can leverage Pub/Sub in order to set up and send budget alerts. Google has recently introduced a new tab to the Console to optimize Google Kubernetes Engine (GKE), benefiting all the Kubernetes users. Some of the key features of this console are:
- Usage optimization recommendations
- Cloud cost trend insights and predictions
- Spending pattern analysis
- Alerts for actual and forecasted thresholds
- Policies and authorization metrics for financial policy implementation
Google Cloud billing reports
Cloud Billing reports is another pivotal built-in tool that users can access from the Google Cloud Console. This billing analysis tool provides visibility into the cost history, cost drivers, cost trends as well as cost predictions through a range of intuitive reports. Let’s list down the 6 reporting mechanisms of the billing reports and what you can achieve with those.
- Cost table report to access and analyze invoices and statements down to the t.
- Cost breakdown report to get a waterfall view of monthly charges, credits and savings.
- Pricing table report to get detailed pricing information on SKU prices against selected billing accounts.
- CUD (Committed use discounts) analysis reports to understand the impact of CUDs, identify further saving opportunities, visualize the effectiveness of the commitment, and more.
- Custom billing reports to visualize custom cost information using Google Data Studio, export detailed report using BigQuery, access billing information for further analysis.
Using these granular reports, users can identify products or locations that are contributing the most to the Google cloud costs and manage the spend by projects, folders, and labels.
GCP pricing calculator
GCP Pricing Calculator is another important cost management tool that enables organizations to create accurate estimates of specific GCP solutions. Designed with a user-friendly interface, GCP pricing calculator allows you to choose cloud resources in groups, specify configurations with a cost impact, select a particular timeframe, and generate cost estimates.
5 quick tips to reduce your Google Cloud Costs
Now, as you have access to the arsenal of best billing and cost management tools and an understanding of the Google pricing models, it’s time to consider a few points to drive overall billing down. While rightsizing VM instance or terminating zombie assets are some of the well-known and common practices organizations follow, let us explore those little used. Here are our top 5 suggestions:
1. Remove unattached block-level storage discs
Google usually attaches a block-level storage disc to a VM when the VM is launched. However, even when the VM is discontinued, the disc may run unattached, incurring significant spending. Hence, it’s necessary to identify such unattached discs time to time and terminate those.
2. Get rid of IP addresses not in use
Static external IP addresses do not incur any cost when you reserve and use them. However, Google charges for addresses which are no longer in use. Hence, make it a practice to identify and get rid of those disassociated addresses at the earliest.
3. Schedule non-production virtual machines
Every QA, testing, development, or staging teams require some virtual machines (VM) handy. But, a non-production virtual machine running for weeks and months can be a huge cost addition for the organization. By scheduling every non-productive virtual machine type to only be active during office hours, a business can save as much as 65% to 80%. That’s why some of the market leaders choose an aggressive scheduling approach to save money.
4. Make the best use of Committed Use Discounts (CUDs)
For organizations with predicable workloads on GCP, it makes more sense to go for a 1 year to 3 years commitment and get resources at a massive discount. The difference it can make as compared to Pay-as-you-go is up to 57%. As CUDs do not warrant any upfront payment, they are worth exploring.
5. Utilize low cost storage to store less-frequently used data
As discussed above, Google Cloud offers multiple storage tiers to store and use data. While the high-cost storage tiers come with certain features and benefits, lower-cost storage tiers are ideal for storing data that are not mission-critical.
Long-term cost optimization best practices
The three key objectives of GCP cloud spend management we discussed above—better visibility, resource optimization, and price efficiency—are applicable to evaluate and set standards for every important aspect of the infrastructure—computing, network and storage that make the backbone of a GCP environment as well as advanced analytics.
Three areas of cost optimization on Google Cloud
Optimize compute costs
Adopting Google Compute Engine is often the first and foremost step in Google cloud migration which accelerates the task of procuring and setting up large VMs. Currently, this is available across 23 regions and 70 zones, offering multiple types of VMs. GCP also offers Custom Machine Type, a selection that follows processes such as ideal VM recommendations, rightsizing VMs, object versioning, cloud scheduler, pre-emptible VMs, committed and sustained use discounts, and particular machine type. Organizations that have succeeded in achieving spend optimization know how to use sustained use discounts with scaling computing needs. Here are some recommendations from our GCP experts:
- Familiarize yourself with the different types of VM instance pricing, Compute Engine billing model as well as resource-based pricing.
- Utilize the Billing reports to gain increased visibility into your Compute Engine spend. You can customize your views by projects, labels, etc. to have granular insights into different machine types, CUDs, cloud usage, etc. Export these details to BigQuery and pave the way for further analysis.
Now, let’s see how to optimize Compute Engine resources:
- Pay only for the compute you need and you use by identifying idle VMs and scheduling them for auto start and stop.
- Purchase commitments. Many organizations follow a 70:30 ratio for frequently used VMs and additional VMs for seasonal bursts.
- Automate spend optimization by leveraging tools like Cloud Functions as it helps clean up overprovisioned or underutilized or unattached resources or unused IP addresses to optimize every cloud function.
- Use short-lived preemptible VMs for fault-tolerant workloads such as big data, CI/CD pipelines, machine learning, big data, data analytics, media transcoding, etc.
- Choose autoscaling to handle any sudden surge in traffic based on the monitoring metrics, CPU utilization, or load balancing capacity.
Optimize storage costs
Irrespective of the size of a business, every company needs a place to store data. For GCP users, Google Cloud Storage is the unified place that offers a scalable, limitless storage capacity. While some data are used daily or very frequently, others are accessed only once a year or less. However, both the data types sit on the storage space and add to your Google cloud costs. Hence, it’s crucial that you pick up the broom once in a while and clean the unnecessary data.
- Our first suggestion would be to clean up your data before migrating to GCP. While migrating, select appropriate storage classes for storing specific types of data, depending on the budget, resiliency, and durability. For e.g., a multi-region standard class prompts Google to store your data in on of the multi-region locations, which are usually expensive.
- Take retention, access patterns, and performance into account while choosing the cloud storage.
- Make sure that the storage buckets are taking advantage of object lifecycle management rules to save on storage spends
Optimize network costs
The third part of the backbone is a network. Without a network, it is like a four-wheeler without four wheels. While Google provides its users with a global, scalable, flexible, and secure network to migrate and manage next-gen workloads as well as numerous services, organizations are required to invest in designing a robust, reliable, and cost-effective cloud network architecture and cloud function.
Here are a few ways you can build a cost-effective network:
- Understand network traffic flows using VPC Flow Logs and visualize the traffic trends by exporting data from Cloud Logging to BigQuery.
- As different regions have different network charges, gain visibility into your global deployments using Network Topology, and identify inefficient deployments or ‘top talkers’ to optimize your network egress spends.
- Decide when you need to use a VPN depending on the need to upload large amounts of data on a daily basis.
- Use Network Service Tiers to optimize your network and balance performance and Google cloud costs.
- Optimize network usage using tools such as Private Google Access, external IP address, etc.
As we come to the end of this four-part series on Cloud Cost Optimization, we hope you have now become familiar with the core topic as well as the platform-focused nitty-gritty of spend optimization, various tools, best practices, advanced methods, managing quota limits, and more.
However, every business is different, and so is every cloud function. There is no one-size-fits-all framework that can be copied across all platforms and environments. Add to that the emergence of hybrid cloud deployment that makes the process more complex than ever.
To conclude, spend optimization and reduce costs are no longer a choice but an urgent need for organizations across the globe. Neither is it a one-time exercise. It requires organizations to closely monitor their usage and take timely actions. Find how Cloud4C helps Fortune 500 and other leading global enterprises in optimizing their cloud spend and chart avenues for constant cost control and optimization on their cloud journeys with its comprehensive strategies, seasoned pool of resources, and automation-driven budget optimization tools and innovations. Click here for further details.