When it comes to infrastructure as a service (IaaS), Amazon Web Services and Google Cloud Platform are the two prominent players who have been dominating this space with monopoly since long. While AWS has a become the gold standard for cloud solutions in the recent years, Google Cloud Platform is definitely something that needs your attention and consideration. As with anything, there are areas where one outweighs the other and it’s up to you to compare the pros and cons of each solution so as to determine the ideal one for your specific use case.
At PromptCloud, we’ve had our share of experience with both AWS and GCP and have been using both for several different web crawling projects. In this post, we’ll illustrate the similarities and differences between the two solutions in terms of adoption, features, pricing, and configuration. Let’s get started.
AWS has become synonymous with cloud solutions and the fact that it has acquired about half of the IaaS market shouldn’t have any element of surprise to it. With their first mover advantage and head-start of 5 years, AWS has indeed matured a lot and is in a position to provide more features and options. As for GCP, being a relatively new entrant to the scene, it still has a long way to go.
For example, while AWS has a fully-managed SQL solution that supports MariaDB, Microsoft SQL server and Aurora, GCP’s counterpart is limited to just MySQL.
AWS also provides Lambada, which is a serverless compute solution that lets you run code without a dedicated instance for requests. Google has a similar offering which supports serverless functions in Node.js. In terms of accessibility, AWS again beats GCP with their significantly high number of data centers spanning across geographies.
As far as pricing goes, GCP gets the higher edge with their competitive pricing. A 2 CPUs/8GB RAM instance from AWS will cost you $69/month whereas with GCP, it’s just $52/month. For cloud storage, GCP charges 2 cents/GB/month while AWS charges 2.3 cents/GB/month. In their defense, AWS offers a multi-regional cloud storage option where the data gets distributed across servers located in various geographies for a negligible additional cost. You can check out our Amazon EC2 pricing calculator for easy price calculation.
AWS had a pay-per-hour pricing structure in the past, whereas GCP had a pay-per-minute model where the minimum time duration was 10 minutes. Edging to the next hour would result in additional cost, for example, 1.01 hour would be treated as 2 hours on AWS. This used to be a key differentiator for people who used the cloud for short and brief analyses.
This is not the case anymore and both GCP and AWS now follow pay-per-second pricing model. Apart from this GCP recently introduced pay-per-second billing for all virtual machines and OSes which was followed by AWS offering the same for Linux virtual machines.
Remember that if you’re doing analyses that take less than 10 minutes, it is better to opt for the serverless options since virtual machines boot slow and might cause you to spend more while serverless functions have a billing cycle of 100 ms.
On top of this, GCP tends to provide discounts for long-term usage without any conditions unlike AWS which requires users to run instances for longer durations ahead of time for discount eligibility. With this, GCP users can enjoy an additional discount of 30% if the virtual machine runs for a whole month.
Apart from this, GCP also offers up to 57% discount for committed usage where users can reserve the CPU and RAM usage per month, irrespective of the virtual machines, geographical zone or configuration. GCP comes out as the clear winner in terms of pricing.
If you are looking for large instances, AWS wins hands down. While the highest instance configuration in GCP is 96 CPUs/624 GB RAM, AWS beats them with their whopping 128 CPUs and 2TB RAM instance.
While AWS is the way to go for large-scale requirements, GCP is significantly flexible which would be great especially if you’re on a tight budget. Apart from the predefined instance packages like AWS, GCP lets you customize your instance fully including the number of CPUs and amount of RAM you’d require. If your requirements are small-scale and specific, you’d find that these customization options can help save on the cost. If you do a lot of quick analyses, you could also explore the temporary instances solutions offered by both the providers.
Another great offering from AWS is the spot instances, which lets you make bids for the amount you’re willing to spend on an instance and it’s typically cheaper than the standard offering. GCP offers a similar option but is slightly different and called preemptible instances. These instances run for up to 24 hours but are prone to interruptions if Google needs the compute power. When interrupted, GCP triggers your predefined shutdown script which will save your present state of analysis. This is easier as it can be automated and savings can go up to 80% off the standard cost.
Thanks to its age and contribution from the community, AWS leads when it comes to the easy availability of documentation and help. Since the learning curve would be steep with complex server configurations demanded by your company, it’s crucial to pick a solution that has easily accessible help. Google Cloud Platform, being a new entrant isn’t the best option if you’d need a lot of hand holding.
Being the cloud solution owned and operated by the largest search engine on this planet, GCP has its strong sides, especially when it comes to big data handling. With GCP, managing humungous amounts of data would be easy. BigQuery, a service offering from Google helps you store, sort and analyze data at lightning speeds. Although it’s a little complicated to operate, this gives GCP an upper hand in use cases where large amounts of data is involved.
Both Amazon and Google have their own machine learning platforms that offer tight integration with their cloud solutions. Amazon’s ML framework is largely automated and can be applied to the stored data in AWS, seamlessly. Google takes this one step ahead by providing access to state-of-the art algorithms that power Google search and other prominent applications. With Google’s platform, users also have the option to build their own ML models. Some of the modelling methods provided by Amazon include Regression, Binary classification and multiclass classification. Google’s offerings are more advanced, it includes Video analysis, Image analysis, Speech recognition, Text analysis and Translation. Both the platforms can automatically suggest algorithms depending on the data available on the cloud accounts. Amazon’s offering is relatively cheaper with $0.42 per hour for data analysis and training while Google charged $0.49 per hour.
If you’re looking to try out AWS and GCP to determine the one that suits your use case better, both the solutions offer free trials. AWS offers a free trial for 12 months, which is very generous and more than enough to evaluate the solution and understand its pros and cons. Their free trial includes 750 hours/month of a small 1 CPU/1GB RAM along with 30GB of storage and 750 hours/month of a managed database instance. This is bundled with many other free products and it’s an offer which is too good to let go. You can find more details of the trial on AWS website.
Google’s free trial offering is not as attractive with a $300 credit for 12 months which is more like a discount than a free trial. They also offer a forever free instance with 0.2 CPU/0.6GB RAM with disk space of 30 GB and 5GB cloud storage.
Choosing between these two leading cloud service providers can be confusing and overwhelming. If your requirement demands too many features and add-ons, it’s better to go with AWS. However, if you’re after a pocket-friendly cloud solution with better big data compatibility, GCP is the one for you. With plenty of documentation and help guides available along with their generous 12 months free trial, AWS is a great option for beginners as well as those looking for a robust infrastructure. Upon comparing various aspects, we found AWS to be the better solution for large-scale business use cases.