Generally, GCE and AWS are similar services: They both offer compute and storage on an as-needed basis, meaning that customers can spin up and down IaaS services without having to invest in capital hardware.
AWS has been offering cloud-based IaaS services for much longer than Google, so the company has a head start in the dozens of services it offers from its cloud and the reliability of those, says Cloudyn's co-founder and vice president of product Vitally Tavor. Google Compute Engine, meanwhile has only a handful of services, but the offerings it has put out in the market are generally higher-performing, giving customers more theoretical bang for their buck.
So, is it time to switch your AWS workloads over to GCE? Tavor says for some applications, the answer could be yes.
Generally, for short-lived applications that require a high-performance machine, Google's cloud seems to be a good fit for them, Tavor says. For complicated applications that are hosted in the cloud for a long period of time and that use a variety of different types of cloud-based services - from warehouse database to load balancers to domain name systems and content delivery networks - AWS still seems like the better choice, he says.
One easy way to determine if you're a candidate to migrate workloads from AWS to GCE is to look at what AWS services are being used and see if those are available in Google's cloud. Google has a base compute, storage, database and data analytics (named BigQuery) offerings. The AWS equivalents of those are Simple Storage Service (S3) and Elastic Compute Cloud (EC2) and Elastic MapReduce (EMR).
Of Cloudyn's users, about half of them only use the basic compute and storage services in AWS's cloud, which Google also offers. So, they could theoretically move those workloads over to GCE, says Sharon Wagner, co-founder and CEO of Cloudyn. The other half of Cloudyn's customers use advanced features in AWS's cloud which Google has not yet rolled out and therefore they may not be as ideal candidates for moving applications over to GCE, he says.
One major difference between AWS and GCE is the pricing scheme. AWS has three pricing options for customers: 1. The default is on-demand, which are spun up and spun down at a customer's request with no long-term commitment; 2. Spot instances that are acquired in a biding auction and can be less expensive but are best for fault-tolerant applications because the services can be interrupted unexpectedly at any time; 3. Reserved instances are less expensive (by up to 65%) than on demand but require a long-term one or three year contract.
GCE, on the other hand, has per-minute billing, compared to AWS's on-demand hourly billing. So, if customers want short-lived compute jobs to run, GCE can generally be a better choice. If a customer is looking to run something in the cloud for a long time, then AWS pricing can be more advantageous.
Google's GCE pricing can be found here while Amazon's EC2 pricing is here. As a comparison, AWS's standard m3 instance is $0.113 per hour, while Google's standard instances is $0.104, both come with 3.75GB of memory.
"For many apps, it's good enough," Tavor says about GCE. GCE still has some issues to work on though: It has scheduled maintenance a couple times a year during which services are unavailable. GCE also currently only supports Linux OS, not Windows. But, it's a high-performing and globally distributed cloud platform, so it's certainly worth considering now, he says.
If a customer is in a position to use GCE, Tavor says it's generally a good idea to spread workloads across multiple cloud providers. Even with service-level agreements (SLA) which guarantee a certain level of uptime, these IaaS cloud services can still go down.
AWS recommends that customers spread their workloads across multiple availability zones within its cloud; for customers looking for extra protection they can spread workloads across multiple regions in AWS's cloud. Still even more protection would be to spread workloads across multiple providers. GCE has advanced to a point where it is a destination for users to consider using as a backup or primary service, Wagner says.
That can be easier said than done though. The ideal applications to move are lightweight ones, meaning they don't have a lot of data (less than a couple of terabytes) attached to them. Moving them from one provider to another could be as easy as just running your application in GCE compared to AWS. But, if services have been designed to run specifically in AWS's cloud, or to take advantage of some features that only AWS has - such as its DNS Server, CDN, Redshift or its custom DynamoDB database, then they may be better off staying in AWS's cloud, Tavor says.
Cloudyn's platform has in the past only supported AWS tracking, but today it rolled out support for GCE instances as well. As part of Cloudyn's SaaS-delivered package, it will analyse a customer's IaaS usage and alert them if there are better configurations of virtual machine or storage instances that can be used. The new features allow customers to do a price comparison of running applications in AWS versus GCE.
Google and AWS aren't the only games in town either. Microsoft and Rackspace have compelling IaaS offerings as well, Tavor says.
Rackspace excels in OpenStack workloads, while Microsoft in Windows applications. IBM, he says, will be interesting to watch as the company has announced plans to significantly ramp up its cloud footprint in 2014.