Real World Cost Example for Google and AWS

| | | 0 comments

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. 

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.

The Reinvention of Amazon Bedrock

The Reinvention of Amazon Bedrock

Amazon Bedrock is a sophisticated and fully managed service provided by AWS, designed to facilitate the development and scaling of generative AI applications. Some key improvements have been launched at AWS Re:Invent this week. We’ll dive deeper into those later....