Free Newsletters

   All InfoWorld Newsletters

Cloud versus cloud: A guided tour of Amazon, Google, AppNexus, and GoGrid

Cloud computing offerings differ in depth, breadth, style, and fine print; beneath the heady metaphor lurk familiar pitfalls, complex pricing, and many questions

Who wouldn't want to live in a "cloud"? The term is a perfect marketing buzzword for the server industry, heralding images of a gauzy, sunlit realm that moves effortlessly across the sky. There are no suits or ties in this world, just toga-clad Greek gods who do as they please and punish at whim, hurling real lightning bolts and not merely sarcastic IMs. The marketing folks know how to play to the dreams of server farm admins who spend all day in overgrown shell scripts and impenetrable acronyms.

To test out these services, I spent a few days with them and deployed a few Web sites. I opened up accounts at four providers, configured some virtual servers, and sent Web pages flowing in a few hours. Our choice of four providers wasn't as scientific as possible because there are a number of new services appearing, but I chose some of the big names and a few new services. Now, I can invoke Joni Mitchell and say I've looked at both sides of these services and offer some guidance.

[ Download a QuickTime video tour of each compute cloud: Amazon EC2 | Google App Engine | GoGrid | AppNexus.
See also: "First Look: Google's high-flying cloud for Python code" and "What cloud computing really means." ]

The first surprise is that the services are wildly different. While many parts of Web hosting are pretty standard, the definition of "cloud computing" varies widely. Amazon's Elastic Compute Cloud offers you full Linux machines with root access and the opportunity to run whatever apps you want. Google's App Engine will also let you run whatever program you want -- as long as you specify it in a limited version of Python and use Google's database.

The services offer wildly different amounts of hand-holding, and at different layers in the stack. When this assistance works and lines up with your needs, it makes the services seem like an answer to your prayers, but when it doesn't, you'll want to rename it "iron-ball-and-chain computing." Every neat feature that simplifies the workload does it by removing some switches from your reach, forcing you into a set routine that is probably but not necessarily what you'd prefer.

After a few hours, the fog of hype starts to lift and it becomes apparent that the clouds are pretty much shared servers just as the Greek gods are filled with the same flaws as earthbound humans. Yes, these services let you pull more CPU cycles from thin air whenever demand appears, but they can't solve the deepest problems that make it hard for applications to scale gracefully. Many of the real challenges lie at the architectural level, and simply pouring more server cycles on the fire won't solve fundamental mistakes in design.

By the end of my testing, the clouds seemed like exciting options with much potential, but they were far from clear winners over traditional shared Web hosting. The clouds made some things simpler, but they still seemed like an evolving experiment.

[ Jump to the reviews and the analysis: Amazon EC2 | Google App Engine | GoGrid | AppNexus | The fine print | Crashing the cloud metaphor | Best and worst ]

Continued
 The Bottom Line

Amazon Elastic Compute Cloud
Amazon, amazon.com/ec2

Preview  

Cost:
10 cents per hour for a "small instance" (1.7GB of memory, 160GB of instance storage), 15 cents per gigabyte of data storage per month, 10 to 17 cents per gigabyte of data transferred

Platforms:
Linux-based systems

Bottom Line:
Amazon EC2 offers a great collection of tools and experimental offerings that is rapidly expanding. Already offering the broadest set of cloud services by far, Amazon supports a wide range of application platforms including JBoss, and active development shows the cloud changing day by day. Cons include endless cutting and pasting for the command-line interface, and the shared storage (S3) is relatively expensive for low-grade data such as log files.

About our Reviews and Scoring Methodology

 The Bottom Line

Google App Engine
Google, google.com/appengine/

Preview  

Cost:
About 5 million free page views. After that, 10 to 12 cents per hour of a CPU core, 15 to 18 cents per gigabyte of storage per month, and 9 to 13 cents per gigabyte of data transferred.

Platforms:
Any Python 2.5 Web application that operates in a sandbox that excludes actions such as writing to the file system.

Bottom Line:
App Engine makes life easy for programmers who code simple database front ends in Python, though the API is deliberately limited. There are no background threads, files, or other crutches. It's all database, all the time, but only a simplified database at that. The pricing model -- based on squirrelly metrics such as CPU megacycles -- may make costs difficult to anticipate. An application dashboard offers clean views of performance.

About our Reviews and Scoring Methodology

 The Bottom Line

GoGrid
GoGrid, gogrid.com

Preview  

Cost:
12 cents per hour of a CPU core. Load balancing, DNS, 500GB of storage, and incoming data transfers are free. Outbound data transfers cost 25 cents per gigabyte

Platforms:
CentOS and Red Hat Enterprise Linux with Apache, PHP, MySQL, or Facebook; Windows Server 2003 with IIS, ASP.Net, SQL Server 2005

Bottom Line:
GoGrid offers the widest range of machine images, including Windows systems. A clean, AJAX-based control panel makes it simple to get a sophisticated network up quickly and efficiently, and saves you the trouble of cutting and pasting IP addresses and other details. GoGrid doesn't offer many cloudlike features for database storage; you have to mirror the databases yourself. The company is still working on a way to freeze a machine instance so that you don't have to pay for it when it's not running.

About our Reviews and Scoring Methodology

 The Bottom Line

AppNexus
AppNexus, appnexus.com

Preview  

Cost:
22 cents per hour for a 2.83GHz server. High throughput NAS costs 50 cents per gigabyte per month, while archival storage costs significantly lower.

Platforms:
Linux-based systems

Bottom Line:
AppNexus is a way to share the cost of owning top-of-the-line enterprise tools. It makes load balancers and file storage systems available on a fractional basis, and it provides a content delivery network that spreads your static files throughout the Web. Cloudlike features are implemented with old-school metaphors like "shared file systems," which may be a good thing if you like the old transparency. The command-line interface is really made for Unix lovers.

About our Reviews and Scoring Methodology


RATE THIS ARTICLE:


 


  •  
  • COMMENTS

Technology White Papers

      • Technology White Papers
      • Technology White Papers E-mail Alert

InfoWorld Technology Marketplace






 

VIDEO


 


 
 

Sponsored Technology Links