A Tale of Two Clouds: Amazon vs. Google
In recent years, AWS has become the de facto standard cloud provider. As we’ll see in this article, it may be worth jumping off the bandwagon and taking a serious look at the Google Cloud.
Having used both Amazon Web Services (AWS) and Google Cloud Platform (GCP) for several projects, here I’ll highlight the differences between the two solutions as they relate to pricing, cloud products, instance configurations, and free trials.
Google Cloud wins on pricing
Google’s Cloud is the clear winner when it comes to compute and storage costs. For example, a 2 CPUs/8GB RAM instance will cost $69/month with AWS, compared to only $52/month with GCP (25% cheaper). As for cloud storage costs, GCP’s regional storage costs are only 2 cents/GB/month vs 2.3 cents/GB/month for AWS. Additionally, GCP offers a “multi-regional” cloud storage option, where the data is automatically replicated across several regions for 2.6 cents/GB/month. Make sure to check out the AWS Cost Calculator and the GCP Cost Calculator for more detailed calculations.
Beyond cheap prices, GCP also offers a much better cost structure. Instead of AWS’ pay-per-hour model, GCP offers a pay-per-minute model, with a 10 minute minimum charge. This is especially important if you use the cloud to launch relatively short, on-the-fly analyses, where AWS’ rounding to the nearest hour will increase your costs. For example, an analysis that takes 2.01 hours to complete will cost you 2.01 hours of compute time on GCP, as opposed to 3 hours on AWS.
Furthermore, GCP provides a better approach to discounted long-term usage: Instead of requiring users to reserve instances for long periods of time as AWS does, GCP will automatically provide discounts the longer you use the instance — no reservations required ahead of time. And if reserving instances makes sense for your needs, GCP now offers additional discounts for reserved instances!
AWS wins on market share and offerings
For example, if you need a fully-managed cloud SQL solution, GCP offers a managed MySQL solution (and PostgreSQL in beta as of last week), whereas AWS also offers the option to use Aurora, MariaDB, Oracle, and Microsoft SQL Server. As another example, AWS offers a “serverless” compute product called AWS Lambda, which allows you to run code on-the-fly without having a dedicated instance waiting around for requests. Although GCP offers a similar product (Google Cloud Functions), it just recently entered Beta release, so you may want to hold off on using it in production.
In terms of worldwide accessibility, AWS has many more data centers around the world. One important thing to keep in mind if you’re doing business in China: You can access GCP instances from China, but access to hosted files on Google’s Cloud Storage (equivalent to Amazon S3) is blocked in China (outside Hong Kong).
Google Cloud wins on instance configuration
That said, GCP is a lot more flexible when it comes to instance configuration. Along with predefined instance types similar to AWS, GCP also allows you to customize how many CPUs and how much RAM to use. For example, instance type
n1-standard-1 comes with 1 CPU and 3.75GB RAM, but you can choose to have an instance with 1 CPU and, say, 1.75GB of RAM. Or 4.25GB. Or 5GB. You get the idea. If your compute needs fit between the available machine types, a custom machine type can result in significant price reductions.
Next, if you do a lot of on-the-fly analysis that can easily be done in small chunks, you’ll want to explore the cheaper, temporary instances that both cloud solutions offer. You may be familiar with AWS’ spot instances, where you bid how much you’re willing to pay to run an instance (generally much cheaper than non-spot rates), and you lose the instance if the market price exceeds your bid (AWS also offers spot blocks, where you specify the timing needed ahead of time). GCP has a similar offering, but without the bidding, called preemptible instances. These machines can run for up to 24h but may be interrupted by Google at any time if they need the compute power. When the instance is preempted, GCP runs your predefined shutdown script, which gives you 30 seconds to save the current state of your analysis. The upside of no bidding is that launching preemptible instances is much more easily automated, and that pricing is predictable, with up to 80% off regular GCP pricing!
Google Cloud wins on the free trial
AWS offers a very generous 1-year-free trial. The trial is more than enough to get your feet wet, including 750 hours/month of a small 1 CPU/1GB RAM instance with 30GB disk storage, 750 hours/month of a similarly-sized managed database instance (e.g. MySQL), and 5GB of cloud storage (enough for a small web server running constantly for a year). But that’s just the beginning: The AWS free trial offers a lot of other free products, so make sure to check out the full list on the AWS website for details.
Until last week, Google Cloud only offered a 60-day, $300 credit trial, which felt less like a trial and more like a $300 discount. As of now, GCP extended their $300 credit to last for 12 months, and added a Free Tier that isn’t time-limited. For example, you can get an instance with 0.2 CPU/0.6GB RAM with 30GB disk storage and 5GB cloud storage, all for free. If they keep this up, you’ll be able to run a small website on the GCP for free, for forever (but that’s a topic for another blog post). Make sure to visit the GCP website for details.
Another reason why GCP’s trial wins is that the “credits” model is much better suited for cloud novices, as it forces you to think about how much things cost even during the trial. In my experience, this reduces billing surprises once the trial is over.
The bottom line
At the end of the day, it is true that AWS offers a lot more cloud products, but quite frankly, unless your applications specifically require them, I find that less is more when it comes to cloud options. For those who are new to the cloud scene, having fewer, consolidated options can also be a blessing by offering a much gentler learning curve.
In my experience, the Google Cloud’s intuitive interface, coupled with cheaper costs, flexible compute options, pay-per-minute pricing, and preemptible instances make the Google Cloud Platform a very attractive alternative to AWS.
So if you’re starting a new project, I would highly recommend you give Google’s Cloud Platform a serious try.
Note: This article’s comparison includes some of the latest announcements from the Google Cloud Next 2017 conference that took place last week on March 8–10 2017.
Updated on March 13 10:47PM PST: edited to reflect that Amazon S3 does not have a multi-regional cloud storage offering.