Real World Cost Example for Google and AWS

In the wake of Google’s Next ’17 event, and a slew of recent Reserved Instance changes by Amazon Web Services (AWS), it seemed appropriate to compare to see if anything in the public cloud VM pricing has changed, or perhaps more importantly, who is ultimately cheaper?

First things first, Google Cloud Platform (GCP) announced at Google Next ’17 the ability to reserve capacity in the form of Committed Use Discounts.  One significant difference between these and AWS Reserved Instances is the fact that GCP does not require any upfront payment for the best discount.  Where as with AWS you would need to pay an upfront fee and a 3 year commitment to receive up to 60% off on demand pricing, with GCP committed use you receive up to 57% with no up front fee.  The GCP discount most closely aligns with AWS’ new Convertible Reserved Instances.  They are regional, not tied to any specific zone within a region (in both GCP and AWS cases).  In the case of AWS, these discounts can be modified for instance type, family, OS, and tenancy.  In the case of GCP, the discount is on your aggregate core count for the region.  What makes GCP’s discount better, and keeping in line with their Sustained Use Discounts, you don’t have to modify anything to get your discount.  It applies to whatever you have running, no need to make the discount fit the infrastructure.

AWS has made a few recent changes in Reserved Instances to help make them more useful to customers.  These are welcome changes that offer increased flexibility for customers to tailer their discounts.  A few changes in how your AWS RI’s can be put to work.  Scheduled Reserved Instances allows customers to get the RI discount and capacity reservation for periodic workloads.  For customers who are willing to waive capacity reservation in exchange for more RI discount flexibility, they can now opt for regional RI’s.  Lastly, as mentioned previously, AWS customers can now modify the RI to meet changing needs through instance size flexibility.

What about those people who just want to use On Demand?  GCP has a clear advantage with Sustained Use Discounts provided your instances are running for more than 25% of the month (not an uncommon occurrence).  AWS does not provide a comparative feature.  Refer to Google’s sustained use discount chart:

So let’s take some actual compute based pricing scenarios to see how all these options play out.  To keep things as easy as possible to compare, we will assume these instances are running 24 hours a day for the entire month.  So all costs are monthly.  All prices and discounts are as of March 20th, 2017:

Description Resources Discounts Approx Monthly Total
4 vCPU
15 GB memory
10 GB SSD storage
Quantity: 10
AWS = m4.xlarge
GCP = n1.standard-4
AWS = N/A
GCP = Sustained Use 30%
AWS = $1,585

GCP = $988

4 vCPU

15 GB memory

10 GB SSD storage

Quantity: 10

AWS = m4.xlarge

GCP = n1.standard-4

AWS = 1 year No Upfront RI

GCP = Sustained Use 30%

AWS = $1,086

GCP = $988

4 vCPU

15 GB memory

10 GB SSD storage

Quantity: 10

AWS = m4.xlarge

GCP = n1.standard-4

AWS = 3 year No Upfront Convertible RI

GCP = Sustained Use 30%

AWS = $974

GCP = $988

4 vCPU

15 GB memory

10 GB SSD storage

Quantity: 10

AWS = m4.xlarge

GCP = n1.standard-4

AWS = 3 year No Upfront Convertible RI

GCP = Committed Use Discount 1 year

AWS = $974

GCP = $874

4 vCPU

15 GB memory

10 GB SSD storage

Quantity: 10

AWS = m4.xlarge

GCP = n1.standard-4

AWS = 3 year No Upfront Convertible RI

GCP = Committed Use Discount 3 year

AWS = $974

GCP = $624

All that said, AWS does offer something GCP does not, and that is up front reserved instance discounts.  To continue the above workload, let’s add one more pricing scenario.  In this case, we will use the 3 year All Upfront Convertible RI discount from AWS.

Description
Resources
Discount(s)
3 Year Total
4 vCPU

15 GB memory

10 GB SSD storage

Quantity: 10

AWS = m4.xlarge

GCP = n1.standard-4

AWS = 3 year All Upfront Convertible RI

GCP = Committed Use Discount 3 year

AWS = $29,472

GCP = $22,464

Monthly Amortized AWS = $819

GCP = $624

Speaking of flexibility, one critical difference between GCP and AWS compute resources is the ability to use a custom machine type on GCP.  This allows the customer to select a blend of compute and memory that better suits their needs.  Furthermore, this custom VM is in many cases cheaper than you would need to pay on AWS for the closest match.  The following chart shows some examples of how this would play out in an on demand manor:

Description
Resources
Cores
Memory
Approximate Monthly Total
Compute Workload Option 1

Maximum Cores, Minimum Memory

10GB SSD storage

Quantity: 100

12 hours a day / 5 days a week

AWS = c4.8xlarge

GCP = Custom

AWS = 36

GCP = 36

AWS = 60

GCP = 32

AWS = $41,148

GCP = $32,798

Compute Workload Option 2

Maximum Cores, Minimum Memory

10GB SSD storage

Quantity: 100

12 hours a day / 5 days a week

AWS = m4.16xlarge

GCP = Custom

AWS = 64

GCP = 64

AWS = 256

GCP = 58

AWS = $89,033

GCP = $58,478

Perhaps most notable though in pricing for elastic workloads, on GCP you pay per minute, not per hour.
One closing thought around core compute performance.  The boot times for linux inside GCP is faster than on AWS.  This foundational difference has a lot of follow on benefits.  Faster auto-scaling as one example.  In the case of PaaS, it even means on request instances for non production environments (no traffic, no compute running).  More on scaling, performance and PaaS in my next post.

Posted in General

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Follow Foghorn