Amazon Web Services vs. Google App Engine: The Race to the One-Click Cloud

One-Click Shopping

Can Amazon Build the One-Click Cloud?

It’s a great time to program for the cloud, no matter what Ted Dziuba’s entertaining but barely coherent rants have to say (will someone get that guy some experience?). Amazon and Google are going toe-to-toe, with Amazon’s addition of sorting in Simple DB bringing it up to par with Google App Engine’s Datastore API. Sorting was the biggest missing piece in Simple DB and the most compelling reason to choose the Datastore API instead. No longer.  

But Google App Engine (GAE) and the Datastore API still win. Here’s why:

  1. The Datastore API is projected to be 10x cheaper. $0.15-$0.18 per GB-month sounds a lot better than Simple DB’s $1.50 per GB-month.
  2. GQL. GAE’s SQL subset is just brain dead simple. As adept as programmers are at learning new frameworks, it’s nice to have something brain dead every once in awhile. Simple DB takes a few more cycles to learn (brain cycles that is — more coffee and such. Modafinil perhaps? Anyone tried it? I’m curious).
  3. GAE has better Object Relational Mapping (ORM). GAE basically uses Django’s sweet ORM system. You’ve got to jump through a lot more hoops to get something as nice with Simple DB. 
  4. GAE automatically scales the web application, not just the database. With Amazon, you have to add load balancing and bring machines up and down yourself, even if you’re using Simple DB. While there are third-party tools to help, they’re not built-in. Again, GAE is brain dead here.  

Sure, App Engine only supports Python. The ultimate question, though, is what functionality can you get in the end? For web apps, App Engine gives you more, particularly for scaling (which is kind of the whole point). Don’t know Python? Learn it. It will save you time in the end. Instead of endlessly fiddling with your load balancer and custom scripts for bringing instances up and down, you’ll spend your time adding the next killer feature your users will love.

In the end, the Amazon/Google “main event” is a huge win for you, me, and our users. The sorting announcement from Amazon comes on the heals of a flurry of other new features from both companies, including Amazon’s impressive persistent storage addition for EC2 called the Elastic Block Store, querying by attributes on Simple DB, GAE’s support for 10 applications per user instead of 3, GAE’s batch writes, etc. Neither one is pulling any punches, and the tools at our disposal as developers are progressing at a breathtaking pace as a result.

Amazon’s is clearly the more complete offering (you can do anything on it, in any language), but it needs to learn from Google’s focus on the dominant deployment scenarios.  Amazon could easily win if it does the following:

  1. Makes Simple DB pricing competitive with Google’s projected prices.
  2. Adds a query language for Simple DB along the lines of GQL.
  3. Adds automatic scaling for web applications, not just the database.
  4. Offers complete deployment solutions for the dominant web applications frameworks, from Tomcat/Spring/Hibernate to Django and Zend, with ORM models already adapted to Simple DB, instances automatically replicated with traffic, etc. Basically the same thing as App Engine for more web app frameworks than App Engine supports and adapted to the Amazon platform. Sure, there are third-party solutions for some of this stuff, but those will never be trusted as much as something offered directly from Amazon.

I’m a big fan of Amazon and Werner Vogels (one of the most innovative people in the industry, and also apparently a pretty nice guy), but Amazon desperately needs to learn from what Google has done. It’s ultimately a question of “usability” for developers. The originators of “one-click shopping” are losing in the game they practically invented. 

Amazon needs to turn on the one-click cloud.


6 Responses to Amazon Web Services vs. Google App Engine: The Race to the One-Click Cloud

  1. dan says:

    Both options are still too hard and too slow. Doing simple things like counters takes complicated sharding gymnastics. Both systems are scalable but slow.

  2. adamfisk says:

    I’m not sure what you’re referring to, Dan. Maybe you could elaborate? Particularly with Amazon, you can put anything you want up there. The only thing not supported are massive servers with 256 cores or whatever, like Azul and such. Is that what you’re getting at?

    With GAE, it’s running on the same platform as Google’s own apps (more or less). Are you doing something faster?

  3. Marcus says:

    The way I understand it you only pay for the extra CPU time you actually use at GAE, whereas at Amazon you’ll pay the same if you use 1% of a CPU or 100% during a complete month. This is yet another huge reason for people trying out small ideas to see if the will fly to go for GAE.

  4. adamfisk says:

    That’s an excellent point I hadn’t thought of, Marcus. Google at least appears to have the ability to measure CPU “megacycles” and the ability to bill CPU in a much more fine-grained fashion than Amazon. While the pricing hasn’t been announced and they haven’t hinted at anything along those lines as far as I’ve seen, the GAE tracking does appear to do exactly what you’re referring to.

    Shrewd observation!

  5. James says:

    I watched a Youtube video (sorry watched it on my phone so no link) about GAE in which the guy (a Google engineer) stated that, while he couldn’t be specific, internal discussions about pricing suggest that doubling the initial free quota would lead to a monthly fee of about $40. For me, getting from prototype to financially viable just got a whole lot easier!

  6. Hi Adam,

    Just came across this comparison of yours between Amazon Web Services and Google App Engine. I know its dated but its a great article. Wanted to know if you’d like to update this post and feature it on A project we’ve started to house all the best product comparisons on the web under one roof. You can back-link to this original article of course. Check it out, and if you’re interested, I will send you an invite.

    Akshay Arabolu, Founder

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: