Review: Google Compute Engine rocks the cloud

Google's new compute cloud offers a crisp and clean way to spin up Linux instances and easily tap other Google APIs

1 2 Page 2
Page 2 of 2

Calling the storage "ephemeral" makes it obvious that the data might go elsewhere during a real failure or even a "maintenance window." If anything, the name might overstate the dangers, but it all becomes a gamble of some form or another. The solution is to purchase separate "persistent disk" space and store your information there. Or you might want to put it in Google Cloud SQL, the BigQuery data store, or one of the other services offered by Google.

If words like "ephemeral" still sound off-putting, the documentation says Google will negotiate service-level agreements for enterprise customers that begin with promises of 99.95 percent uptime.

Google is also making the dangers of location apparent. One section of the documentation addresses just how you should design your architecture around potential problems. The various zones and regions may go down from time to time, and it's your responsibility to plan ahead for these issues. Google makes the costs of shipping the data transparent, so you can come to intelligent decisions about where to locate your servers to get the redundancy you need.

integration with other Google services
Ready integration with other Google services is one of Compute Engine's main attractions. It's just one of 46 services that you can access through Google's Developer API.

A Compute Engine with a view

Google Compute Engine is just one part of the Google APIs portal, a grand collection of 46 services. These include access to many of Google's biggest databases such as Books, Maps, and Places, as well as to some of Google's lesser-known products like the Web Fonts Developer API.

I suspect many developers will be most interested in using Google Compute Engine when they want to poll these Google databases fairly often. While I don't think you're guaranteed to be in the same zone as the service you want, you're still closer than when traveling across the generic Web. Google offers "courtesy" limits to many of these APIs to help out new developers, but you will end up paying for the best services if you use them extensively. These prices are changing frequently as Google and the developers try to figure out what they're really worth.

Google says some experimenters are already pairing the Compute Engine with the App Engine to handle expensive computations. In one of the experiments, Google worked with a biology lab to analyze DNA PDF. The data was uploaded through an App Engine front end, then handed over to a block of Compute Engine cores to do the work. The Compute Engine machines were started up when the data arrived, and they were shut down and put back in the pool as soon as their work was done.

You can start and stop your machines by hand and track them with the Web portal, but I suspect many will end up using the command-line tool. Google distributes some Python code that handles most of the negotiations for reserving, starting up, and stopping servers. While the Web portal is OK for small jobs, the ability to easily write scripts makes the command-line version more useful.

The command-line tool is also more powerful. You can create instances through the Web GUI, but there's a limit to how far you can go. I couldn't figure out how to log in with SSH through the portal, then I switched back to the command line. Perhaps Google should check out some of the HTML5-based tools like FireSSH that integrate SSH with a Web page. The only real challenge is finding a good way to hold the SSH keys.

One of the more interesting features is the way to bind metadata to each computer. Google is clearly intending for people to write their own automatic routines for bringing machines online and off. If you want your software to be self-aware, it can look at the metadata for each instance, and the instance can also read the metadata about itself. This lets you pass in configuration information so that each new machine is not born with a clean slate.

If you want to build your own collection of Linux boxes, Google Compute Engine offers a nice, generic way to buy servers at what -- depending on the size of compute instance you need -- can be a great price. The most attractive feature will probably be the proximity to the other parts of the Google infrastructure. Google is as much a data vendor as an advertising company, and the collection of APIs is growing nicely. I can see how some companies will want to run their computational jobs in the Google cloud just to be closer to these services.

Web GUI for provisioning instances and disk
The Web GUI for provisioning instances and disk shows the REST packet that will actually do the work, in case you want to automate the task later.

This article, "Review: Google Compute Engine rocks the cloud," was originally published at InfoWorld.com. Follow the latest developments in application development and Java programming at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.

Read more about cloud computing in InfoWorld's Cloud Computing Channel.

This story, "Review: Google Compute Engine rocks the cloud" was originally published by InfoWorld.

Copyright © 2012 IDG Communications, Inc.

1 2 Page 2
Page 2 of 2
7 inconvenient truths about the hybrid work trend
Shop Tech Products at Amazon