Google Compute Engine: Hands-On Review
Google Compute Engine is a stable, reliable, and fast provider of on-demand computing resources. But it offers fewer features than rival Amazon Web Services.
Google on Thursday announced the Google Compute Engine (GCE), an Infrastructure-as-a-Service (IaaS) offering that allows users to launch virtual servers in Google's own data centers. The IaaS market is one that has been dominated by Amazon Web Services (AWS), but Microsoft's recent announcement that it would launch an IaaS offering with Azure earlier this month, combined with Google's announcement Thursday, indicate that Amazon's hold will loosen. Google brings a great deal of credibility to its IaaS offering, as users will be able to run their applications on the same infrastructure that Google uses for its Internet-scale, battle-tested Web services, like Gmail, Maps, and Search.
In my current role as VP, research and development for BuildFax, I have had the opportunity to work with GCE for more than a month, and to compare it to the other IaaS vendor offerings that I have used during the past four years. Overall, GCE is as stable, reliable, and fast a provider of on-demand computing resources as any, and provides more consistent real-world performance than any other public cloud I have tested. Whether users switch from AWS to GCE will be largely dependent upon whether they can forgo the additional services that AWS provides, and if GCE offers significant price or performance benefits over AWS.
Services
GCE offers a variety of machine types and, at present, several Ubuntu and CentOS images for those machine types. I anticipate that Google will add to both the machine type and image offerings, although it may take them a while to get to the kind of variety that AWS has today. Like other self-signup IaaS providers, GCE uses an API to launch and terminate servers. Unlike some other IaaS providers, GCE has a number of "advanced" cloud computing features: user-level access to individual servers; persistent, attachable storage; specifying the data center/zone in which to launch the virtual machine; and robust external firewall rules.
The Good Stuff
Even though GCE has been in private beta, it has been rock-solid for me as far as launching servers quickly on demand and delivering consistent server performance. I have had much worse experiences with a few public clouds that aren't in beta. Servers launch amazingly fast; even though my average server launch time on AWS has dropped from eight minutes four years ago to less than two minutes today, GCE smokes AWS here. I haven't had a server take more than one minute to launch with GCE.
GCE provides a very nice command-line utility for interacting with its API. Both the utility and the GCE API highlight annoyances that exist with Amazon's variety of different command-line programs. GCE's "ssh" command is fabulous: after launching a virtual machine, you can call the GCE API and have it create a user, private key, and related authorized_keys entry for that VM with a single, easy command-line call. In contrast, AWS requires specifying one private key for root at launch, and then requires that you keep that key safe and remember where it is to log into the VM.
[ Organizations have many cloud options. Read NASA Drops OpenStack For Amazon Cloud. ]
In real-world benchmarks, using full copies of my company's production database and replicas of our application servers, we found that VMs on GCE--in this private beta period--had more consistent performance than comparable servers on AWS. Of note, the GCE hardware is used for many of Google's internal applications, so it wasn't just GCE testers hitting the servers; the underlying hardware was under significant load.
Finally, GCE plugs into RightScale, a cloud management platform that we use at BuildFax. This means that launching our applications servers was as simple as pointing a ServerTemplate at the GCE cloud, and I didn't have to spend any time installing or configuring software, something that would ordinarily be very time-consuming. With the arrival of more and more competitors to Amazon EC2, running a cloud management platform that allows deploying and managing similar virtual machines across multiple clouds is becoming more and more important to avoiding lock-in and increasing stability and efficiency.
Editor's Note: Writer Joe Emison adds the following: "A prior version of this review ran with benchmark numbers and comments based upon pre-launch hardware that is inferior to the hardware that GCE has launched with. When the benchmarks are re-run on the new hardware, I will post them. I regret the error." Zencoder has published its own Google Compute Engine vs. Amazon EC2 benchmark study. Read a follow-up report with the new benchmark results at Google IaaS Vs. Amazon EC2: New Benchmarks. The Not-As-Good Stuff
Unlike other IaaS providers, GCE will take its "zones" offline for scheduled maintenance, and that means customers should design their infrastructures for machine failure. On the one hand, this policy should force better cloud infrastructure design than seems to be the norm on AWS. On the other hand, other cloud providers do their best to avoid all scheduled maintenance, and Amazon usually gives customers at least a week-long window in which to manually reboot servers so that "scheduled maintenance" can be scheduled by the customer and not the IaaS vendor. Also, GCE's maintenance windows lead to the complete destruction of your VMs; AWS's simply require an instance reboot, which preserves your ephemeral storage.
Today, GCE's machine types are more limited than AWS; all of them are built from even multiples of "2.75 GCEU/3.75GB RAM" chunks. This is similar to SoftLayer, which has "1 CPU/1GB RAM" chunks, and Rackspace Cloud, which has both "1 CPU/1GB RAM" and "1 CPU/2GB RAM" chunks. Additionally, the amount of ephemeral disk space also goes up as the CPU/RAM goes up. The good news is that, unlike with the Rackspace Cloud, you can attach persistent storage to servers on GCE, so if you require a server with a lot of disk space but little CPU and RAM, you won't have to overpay. The bad news is that if you need a server with a lot of RAM but little CPU, or vice versa, you will overpay on GCE today.
Speaking of persistent storage, GCE's implementation leaves a number of things to be desired to those accustomed to Elastic Block Storage (EBS) on AWS. First, GCE persistent storage must be attached at instance launch. You cannot create persistent storage and then attach it to a running instance. Second, GCE does not offer snapshots of persistent storage, and so GCE does not have the disaster recovery or data-cloning benefits of EBS. So, while GCE is offering something significantly better than Rackspace Cloud with its persistent storage, GCE is behind both AWS and SoftLayer with its limited persistent storage feature set.
Impact on the IaaS Market
For almost six years, AWS has been the only large company with a robust, stable, and affordable cloud-computing-on-demand product. Competitors have either had lackluster features, performance, and/or stability (e.g., Rackspace Cloud), or they've been enterprise-only with extremely large price tags (e.g., IBM), or they've been offered by less-well-known companies (e.g., SoftLayer).
Google is the first company to take AWS on its own turf; a revolutionary Internet company leasing its own Internet-scale resources to the general public at utility prices. Amazon's virtual monopoly on powering the vast majority of Internet startups is likely now over, especially as many of those startups rely upon Google for other pieces of their infrastructure, with Gmail and Google Apps. And those companies that rely upon Microsoft for their infrastructure now have its IaaS offering coming soon, which will likely eat into Amazon's share of the market as well.
Additionally, potential customers who have avoided IaaS offerings to date because they perceived IaaS as "experimental" may be forced to look again, with the new products from (and implicit endorsement of IaaS by) two technology giants. I do not see the movement from on-premises, non-virtualized servers to public IaaS abating any time soon.
Final Thoughts
Google spent the last decade creating many of the core ideas behind robust data centers and data processing. From white-box servers to MapReduce, the programming model used for a vast number of large data-processing jobs today, Google has built an array of fabulous tools but has only been using them for itself. The rest of the world has been relying upon developers who have read Google's research papers and then built their own versions of Google's technology (e.g., Doug Cutting, creator of Hadoop, an open-source MapReduce implementation). Amazon has been capitalizing on its amazing ability to operationalize every different, useful piece of technology that has come along (e.g., Amazon's Elastic MapReduce, which uses Hadoop to deliver MapReduce technology to the masses), and has been able to sell its services in a market devoid of large, innovative competitors.
With the announcement of Google Compute Engine, Amazon finally has a competitor that has the potential to match its own ability to release groundbreaking infrastructure services on a regular basis--and historically, Google has created more technological innovations than Amazon (which seems to innovate the most by having the best inventory of products and selling them like hotcakes). And even though it is early yet, and Google has a long way to go to match the 25+ services that Amazon offers today, Google has leap-frogged other entrants in the IaaS space to become the most viable competitor to Amazon.
Editor's Note: Writer Joe Emison adds the following: "A prior version of this review ran with benchmark numbers and comments based upon pre-launch hardware that is inferior to the hardware that GCE has launched with. When the benchmarks are re-run on the new hardware, I will post them. I regret the error." Zencoder has published its own Google Compute Engine vs. Amazon EC2 benchmark study. Read a follow-up report with the new benchmark results at Google IaaS Vs. Amazon EC2: New Benchmarks.
About the Author
You May Also Like
2024 InformationWeek US IT Salary Report
May 29, 20242022 State of ITOps and SecOps
Jun 21, 2022