When evaluating public cloud providers on pricing, it is easy to get hung up on the differences. AWS and Google Cloud each have their own service catalog, terminology and purchasing variations. But do these differences actually impact the final bill? I work for a company that provides cost control for both Google Cloud Platform (GCP) and Amazon Web Services (AWS). Thus, our customers are very much concerned with pricing, and often, pricing comparisons between the major cloud providers. Though Azure is often added to the mix, this article will only compare GCP and AWS pricing.
Differences in Terminology
First up is terminology. At first glance, it may seem like the cloud providers each have a unique spread of offerings, but many of these products and services are quite similar once you get the names aligned.
In GCP, the compute service is referred to as “Google Compute Engine” (GCE) and the servers are called “Instances”. The AWS compute service is called “Elastic Compute Cloud” (EC2) and the virtual servers are also called “Instances”.
One notable difference in terminology is that GCP includes “preemptible” and non-preemptible instances. Non-preemptible instances are the same as AWS “on demand” instances.
Preemptible instances are similar to AWS “spot” instances, in that they are a lot less expensive, but can be preempted with little or no notice. GCP preemptible instances can be stopped without being terminated. In November 2017, AWS introduced a similar feature with spot instance hibernation. Flocks of these instances spun up from a snapshot according scaling rules are called “auto scaling groups” in AWS.
The similar concept can be created within GCP using “instance groups”. However, instance groups are really more of a “stack”, which are created using an “instance group template”. As such, they are more closely related to AWS CloudFormation stacks.
GCP vs. AWS Compute Sizing
With the number of products and services available today (I count 176 from AWS alone), comparing each is beyond the scope of a single article. Both GCP and AWS have a dizzying array of instance sizes to select from and doing an apples-to-apples comparison between them can be very challenging. These predefined instance sizes are based upon number of virtual cores, amount of virtual memory and amount of virtual disk. They have different categories.
GCP offers the following predefined types:
Free tier – inexpensive, burst performance (f1/g1 family)
Standard, shared core (n1-standard family)
High memory (n1-highmem family)
High CPU (n1-highCPU family)
Free tier – inexpensive, burst performance (t3 family)
General purpose (m4/m5 family)
Compute optimized (c5 family)
GPU instances (p3 family)
FPGA instances (f1 family)
Memory optimized (x1, r5 family)
Storage optimized (i3, d2, h1 family)
However, GCP also allows you to make your own custom machine types, if none of the predefined ones fit your workload. You pay for uplifts in CPU/Hr and memory GiB/Hr. You can also add GPUs and premium processors as uplifts. With respect to pricing, this is how the two seem to compare, by looking at some of the most common “work horses” and focusing on CPU, memory and cost.
The bottom line:
In general, for most workloads AWS is less expensive on a CPU/Hr basis. For compute intensive workloads, GCP instances are generally less expensive.
Also, as you can see from the table, both providers charge uplifts for different operating systems, and those uplifts can be substantial. You really need to pay attention to the fine print. For example, GCP charges a 4-core minimum for all their SQL uplifts. And, in the case of Red Hat Enterprise Licensing (RHEL) in GCP, they charge you a 1 hour minimum for the uplifts and in 1-hour increments after that.
Google Cloud Platform vs. AWS Pricing – Examining the Differences
Cost per hour is only one aspect of the cloud pricing equation. To better understand your monthly bill, you must also understand how the cloud providers actually charge. AWS prices their compute time by the hour, but charges by the second, with a 1 minute minimum.
Google Compute Engine pricing is also listed by the hour for each instance, but they charge you by the minute, rounded up to the nearest minute, with a 10-minute minimum charge. So, if you run for 1 minute, you get charged for 10 minutes. However, if you run for 61 minutes, you get charged for 61 minutes.
GCP Committed Use vs. AWS Reserved Instances
Both providers offer deeper discounts off their normal pricing, for “predictable” workloads that need to run for sustained periods of time, if you are willing to commit to capacity consumption upfront. AWS offers Reserved Instances. Google offers Committed Use Discounts. Both involve agreeing to pay for the life of the reservation or commitment, though some have you pay up-front versus paying per month. This model of payment can get you some significant discounts over on-demand workloads but can limit your flexibility as a trade-off.
GCP Sustained Use Discounts
In addition to the Committed Use Discounts, GCP also has a unique offering with no direct parallel in AWS: Sustained Use Discounts. These provide you with an automatic discount if you run a workload for more than 25% of the month, with bigger discounts for more usage. These discounts can save up to 30% based on your use and instance size. The Google Cloud Pricing Calculator can help figure out how much this will affect your GCP costs.
A last sort of “purchasing option” is related to contract agreements. With all major cloud providers, enterprise contracts are available. Typically, these are aimed at enterprise customers, and encourage large companies to commit to specific levels of usage and spend in exchange for an across-the-board discount – for example, AWS EDPs. As these are not published options and will depend on the size of infrastructure, it’s hard to say what impact this will have on your bill and how it will compare between clouds.
Revenue & Market Share
As of earlier this year, AWS still dominates public cloud market share at 47%. Google trails at 7%. AWS quarterly sales are at least $7.7 billion. Google avoids reporting specific numbers for public cloud but instead lumps it in with other services. Of course, this makes revenue impossible to compare. Both report growth and their market shares seem to be on the rise as well. But does this matter? In some ways, it certainly does. There is a positive feedback loop in which larger enterprises will be more inclined to go with the solution that is serving the largest enterprises. In addition, AWS has enjoyed a considerable head start and market advantage that has let it develop innovative offerings at a rapid pace. Ultimately, however, this does not have a major impact on pricing for customers.
If you are new to public cloud, once you get past all the confusing jargon, the creative approaches to pricing and the different ways providers charge for usage, the actual cloud services themselves are much easier to use than legacy on-premise services.
The public cloud services do provide much better flexibility and faster time-to-value.
When comparing AWS vs. Google Cloud pricing, AWS EC2 on-demand pricing may on the surface appear to be more competitive than GCP pricing for comparable compute engines. However, when you examine specific workloads and factor in Google’s approach to charging for CPU/Hr time and their use of Sustained Use Discounts, GCP may actually be less expensive.
In the meantime, consider turning off non-production cloud resources when you don’t need them.
Chris Parlette is Director of Cloud Services for ParkMyCloud