How Does Google Cloud Price its Services?
Google Cloud pricing is based on the resources and services that are used, as well as the specific features and configurations. The cost of using Google Cloud can be broken down into three main categories: compute, storage, and networking.
- Compute – Google Cloud offers a variety of compute services, such as virtual machines (VMs), containers, and serverless computing. The cost of compute services is based on the machine type and operating system that is used, as well as the usage of the resources, such as the number of CPU cores and the amount of memory and storage.
- Storage – Google Cloud offers several storage classes, each with different characteristics and pricing. The cost of storage is based on the volume of data stored, the type of access to the data, and the region where the data is stored.
- Networking – Google Cloud offers a variety of networking resources, such as virtual private clouds (VPCs), subnets, and firewall rules, as well as services such as load balancing and VPN. The cost of networking on Google Cloud is based on the specific resources and features that are used, as well as the volume of data transfer and the type of access.
Google Cloud offers several pricing models for its services, including the free tier, pay as you go, and long term committed use (reserved instances). It’s important to carefully review the pricing for the specific resources and services and choose the option that best fits your needs. Google Cloud also provides tools and resources for managing and optimizing your costs.
In this article:
- Google Cloud Pricing Models
- Google Cloud Free Tier
- Long Term Committed Use (Reserved Instances)
- Discounts for Spot VMs (Preemptive VMs)
- Google Cloud Compute Pricing
- Google Cloud Storage Pricing
- Google Cloud Networking Pricing
- Best Practices for Optimizing Google Cloud Costs
- Pay Only for the Compute You Consume
- Optimize Your Cloud Storage
- Optimize BigQuery Costs
- Optimize Network Costs
Google Cloud Pricing Models
Google Cloud Platform offers the following pricing models:
Google Cloud Free Tier
If you are still evaluating Google’s cloud services, Google offers a free tier option across a number of products to let you experience the platform. Google also offers “free forever” cloud services.
The Google Compute Engine free tier provides access to 24 cloud products and services within a monthly usage allowance. Additionally, new Google Cloud customers can receive a $300 free credit toward any Google Cloud product or service.
Google Cloud offers a pay-as-you-go pricing model. This provides flexibility, allowing you to add and remove services as needed, for workloads that have irregular demand or need to run only part of the time. This level of flexibility comes at a price—the pay-as-you-go model has the highest hourly cost.
Long Term Committed Use (Reserved Instances)
If you can plan for the long term and make a long-term upfront investment in your cloud deployment, you can get significant discounts. Google offers a long-term pricing model called Committed Use with 1-year or 3-year upfront options (other cloud providers call this model reserved instances). Committed Use grants a discount of up to 70% on Compute Engine compared to pay-as-you-go costs.
Discounts for Spot VMs (Preemptive VMs)
Another pricing model offered by Google Cloud Platform is Spot VMs (previously known as Preemptive VMs). Spot VMs are much cheaper than pay-as-you-go, granting discounts of 60-91% discounts on machine types and GPUs, plus smaller discounts on local SSDs.
Spot VMs come from a capacity pool that no one else is using, and this means that Google Cloud can reuse Spot VMs immediately. Therefore, Spot VMs are a good choice for applications that are tolerant of outages or batch jobs that can be easily restarted.
Google Cloud Compute Pricing
Google Compute Engine is a compute service that lets you run virtual machines (VMs) on Google’s infrastructure. Compute Engine manages and groups machine types according to workload type—the main types are Accelerator Optimized, General Purpose, Compute Optimized, and Memory Optimized.
Google charges for actual use, with a sustained use discount option. You get 20-30% off when you run your VMs at least 25% of the time each month.
Additionally, preemptible instances (also called spot instances) with shorter lifetimes can reduce costs by up to 80%. These instances are suitable for fault-tolerant workloads and batch jobs.
Google Cloud Storage Pricing
Google Cloud Storage is an enterprise storage platform that can store large unstructured data sets. Organizations can purchase storage space, with different storage classes for critical data and infrequently accessed data (infrequent access data tiers provide a discount).
Cloud Storage pricing is based on the following factors:
- Data storage—the amount of data stored in the bucket. Storage charges depend on the storage class of your data (how frequently data needs to be accessed) and the bucket location.
- Data processing—the processing performed by Cloud Storage. This includes operational costs, applicable search costs, and cross-region replication.
- Network usage—the amount of data read from or moved between buckets.
Google Cloud Networking Pricing
In Google Cloud, network pricing is determined by the flow of data (inbound vs. outbound) rather than the data transfer types. The charges are calculated according to the data’s original location, the destination, and any additional services involved in this process.
Here is the main difference between inbound and outbound:
- Ingress (inbound) traffic—flows into Google Cloud resources.
- Egress (outbound) traffic—flows out of Google Cloud resources hosted in a Google region.
Sending traffic between two Google VMs is considered as both types. It is egress traffic as it leaves one VM and ingress because it arrives at the other VM.
Here are the aspects Google Cloud takes into account when calculating the price of egress traffic:
- IP address—internal and external IP addresses have different prices.
- Location—if the traffic crosses a zone or region in Google Cloud, the price changes accordingly.
- Cloud—the prices differ if the traffic stays or leaves Google Cloud.
- Network tier—calculated according to the tier of the traffic leaving Google’s network.
When resources communicate, they use two traffic paths—one in each direction—each priced differently. Traffic in each direction is considered egress at the source and ingress at the destination.
Here are the two tiers for data transfers between Google Cloud instances and users:
- Premium tier—uses Google’s backbone, which includes several points of presence (PoPs) worldwide, to route traffic to and from users with optimal performance and minimal congestion. This tier is the default for egress traffic. However, while it offers the highest performance, it is more expensive.
- Standard tier—uses the public Internet, which is subject to public Internet service providers (ISPs), to carry traffic. It is available only in specific regions. The standard tier is more economical, making it ideal for single-region deployments.
Best Practices for Optimizing Google Cloud Costs
Pay Only for the Compute You Consume
Cut costs by identifying resources that don’t provide significant business value:
- Remove idle VMs—these include undeleted zombie instances and deprioritized projects. Google Cloud offers recommendation services like Idle VM Recommender to help purge inactive virtual machines.
- Schedule automatic starts and stops—Google Compute Engine lets you schedule when your VMs run. For example, scheduling VMs to run only during business hours cuts three-quarters of your costs.
- Rightsize resources—create custom VMs with the right RAM and CPU. As workload requirements change, use rightsizing recommendations to downsize your VMs based on RAM and vCPU usage.
- Use preemptible VMs—these are affordable, short-lived instances suitable for fault-tolerant workloads.
Optimize Your Cloud Storage
Cloud providers bill storage separately from the infrastructure, so it’s easier to control your storage configuration and utilization. Storage needs change, so you should regularly evaluate the following:
- Storage class—choose the right Cloud Storage class for your use case. Switching from standard to nearline, coldline, or archival storage can cut costs.
- Lifecycle policy—manage objects with a lifecycle policy that automatically switches the storage class or deletes data under certain conditions (e.g., after 30 days).
- Duplication—remove unnecessary duplicate data and prevent duplication by configuring object versioning and redundancy policies. Some duplication is necessary to protect against failures in one region, but you can keep most data safe without wasting extra space.
Optimize BigQuery Costs
If you use BigQuery for data analytics, you can cut costs with the following:
- Enforce limits and controls—define the maximum bytes allowed per query and ensure effective project and user controls.
- Partition and cluster tables—organize partitioned tables based on date, ingestion time, etc., to improve performance and cut costs. BigQuery automatically moves data in less recently used partitions to cold storage.
- Leverage flex slots—switch to flat-rate pricing to process larger amounts of data at a predictable price.
Learn more in our detailed guides to:
- BigQuery cost (coming soon)
- GCP BigQuery cost (coming soon)
Optimize Network Costs
Google Cloud offers visibility tools that help you keep track of network traffic and costs. You can make your network more cost-effective with the following configuration changes:
- Identify the services taking up the most bandwidth—use Cloud Platform SKUs to see how much you spend on each service and address inefficient deployments to optimize your global and regional network egress costs.
- Choose the right network service tier—the premium tier provides higher global performance, but the standard tier can help cut costs for workloads with lower performance demands.
Use cloud logs—Data Access, VPC Flor, and other logs let you filter your view of network traffic. You can focus on specific VM instances for specific use cases and troubleshooting.