Google is the pioneer in 2015 price reductions of public cloud services. It has lowered the on-demand prices of Google Compute Engine (GCE), Google’s virtual instance service (similar to AWS EC2) by 5-30%, depending on the instance family. While on-demand prices are crucial for figuring out your total cost of cloud, there are many other factors to be considered.
This post will be dedicated to analyzing the different pricing methods between AWS and Google. We will take into account Google’s recent price reduction, as well as all different pricing and discount methods, to provide a deeper insight into cost structure differences between clouds.
*For the purpose of this post, I will rely on US-East prices for AWS and US prices for Google.
Clearly, we can see that Google is cheaper than AWS. But is it really? This graph, besides comparing hourly usage prices, does not provide real insight on cost differences.
There are a few reasons for this:
1. Different machine specs
- CPU: We have no information on the type of CPU used and its actual performance, but only the number of CPU cores employed. Both providers specify the CPU performance, only that they do it using proprietary units (ECU for AWS, GCEU for Google), which cannot be compared apples-to-apples.
- RAM: While we chose machines with same number of cores for this comparison, they vary in the amount of RAM. Looking into our sample instances, Gen. purpose instances have the same amount of RAM, while AWS CPU-optimized instances (C4) have more than twice the RAM than those offered by Google (n1-highcpu), and AWS RAM-optimized instances (R3) have 17% more RAM than those offered by Google (n1-highmem).
- Local Storage: AWS offers its virtual machines with varying levels of local (ephemeral) storage, from 0GB on C4 instances to 160GB on R3 instances (and up to 48TB on storage-optimized families like D2 and I2). Google, on the other hand, doesn’t provide any local storage with its machines and charges extra for it. It offers local storage in blocks of 375GB, each costing about $81.75 per month (375GB x $0.218 per GB-month).
- Operating system: On-demand google cloud prices shown above are for instances booted with standard Linux. Using other operating systems, like Windows, RHEL, SUSE etc. incurs additional hourly costs (40-90% more on m3.large, 60-100% more on n1-standard-2).
2. Different pricing methods
- Discounts: Google applies discounts based on sustained usage. This is a tiered-pricing method, setting different pricing for different time-utilization levels. So for the first 25% of the time you pay a certain hourly rate, then for the time between 25% and 50% you pay less, and so on. Usage for 100% of the time provides an overall hourly discount of 20%. AWS uses Reserved Instances, which are a “voucher” that you buy to use a specific instance type in a specific region, for as long as you like, as long as the voucher is valid. This also means that the more you use the instance, the less you pay, only at different rates.
- Commitment: Reserved instances mean that the user makes an upfront commitment for 1 year or 3 years. This is a timeframe where many things can happen (virtual machine generations becoming obsolete, price reductions and more). Google on the other hand, doesn’t require any upfront commitment, and automatically calculates sustained usage discounts on a monthly basis.
- Application of discount: Reserved instances can be applied not only to EC2 resources, but also to relational database (RDS) resources. This is not to be taken lightly, as RDS is a vital component in modern web applications. Google applies sustained usage discounts only on its GCE service, and not on its Cloud SQL service (where it offers daily-charged discounted packages, or per-hour usage pricing).
3. The rest of the application resources
Let us not forget that cloud costs don’t consist solely on virtual machines, storage and database. There are many other resources which are priced differently and not discounted both on Google and AWS. The significant ones include object storage, persistent storage, snapshots, network traffic, load balancers, data warehouse, DNS, and many many more. While virtual instances account on average for about 60% of costs, the other 40% should not be ignored when considering the total price of our cloud deployment
So which cloud costs less? If we refrain from marketing slogans and try take a holistic approach, it becomes virtually impossible to reliably compare clouds apples-to-apples.
Cloudyn, who provides multi-cloud management for the largest number of public clouds, compares your deployment for you. It takes a holistic view of all different parameters and gives you a total cost of cloud comparison between providers. The result is a reliable tool for assessing your potential cloud costs if you port to another cloud. Below is a diagram depicting AWS costs of a certain deployment, grouped by resource types (blue bars), with a comparison to the price of the same deployment on Google Cloud Platform. One interesting conclusion from this diagram is that no one cloud is more expensive than the other; instead – a resource-by-resource view is required, where in some cases AWS costs less and in others, it costs more than GCP. Detailed porting recommendations can be seen below the diagram.