Categories
josephscott

Google App Engine

Today’s big news was the announcement of Google App Engine. Plenty of people have been covering the details, I just wanted to leave a few thoughts:

This looks like an amazing service. Being able to make use of Google infrastructure for your web app is a wonderful idea. Currently limited to Python, so all the Python fans are going nuts.

What Google App Engine (GAE) isn’t is a direct competitor to Amazon’s web services (EC2, S3, etc). What Amazon provides are virtualized services, what GAE provides is a specific platform. While that platform is pretty amazing, it is also complete and total vendor lock in. If you needed to move your application off of GAE, how would you do it? This might give pause to those interested in buying your startup.

There’s an SDK for starting your app before going live, but no way to migrate data from your test system to the live server. I imagine as people begin to use this new platform they’ll find other issues as well. That isn’t to say that GAE isn’t worth while, just that it isn’t a miracle cure.

7 replies on “Google App Engine”

Not only will people buying your start-up hesitate, but it give Google the ability to lowball you from a position of serious leverage. Taken to a bit of an extreme, this gives Google almost complete right of first refusal on your start-up.

My advice: build a complete data storage abstraction layer so your app has no idea where its data is actually being stored and retrieved from.

Or run it off a file-based SQLite database sitting in the root…

@Deane –

All of this from Google’s point of view is great, anyone targeting their platform gives them a huge amount of indirect control.

What would be great is if the community comes up with a reverse engineered compatibility layer for GAE, that could be used on any hardware behind the scenes. I think the scale and scope of such a project makes it pretty unlikely though. And Google could potentially change GAE in such a way as to break compatibility.

This conversation is starting to sound more and more like how we’d talk about Microsoft.

Ok – so the Google Application Engine isn’t Amazon S3. I’m still seeking clarity on how this just isn’t super cheap Python hosting with no upper limit – they have a db, some storage, and bandwidth in and out. Is this really just web hosting that can scale really, really big?

@Matthew –

We have no idea what the pricing will be. Presumably cheap(-ish), but until we have hard numbers there is no way to compare it with any other options.

True that it is a database, storage and bandwidth, but everything except the bandwidth is proprietary to Google. Want to take your app off of GAE and move it to your own dedicated servers? Fine, re-write your app then because you’ll no longer have any of the GAE code/libraries/services.

I should point out that I still think GAE is very cool, but just like with Amazon’s services, it isn’t with out drawbacks. No solution is perfect, they are all trade offs. What’s important is that you are able to make an informed decision by knowing what the trade offs are. And ideally, be able to adjust and scale to different trade offs as your needs change.

Goodness man, where is your blogger sense of moral outrage? Your seething sensationalism? Your rational, thoughtful approach advocating – of all things – patience is the antithesis of proper Internet punditry! You are a web blanket, wrapped around a fire extinguisher, born by stunt doubles from Ladder 49 (itself something of a spark snuffer).

That said – good point. 😉

@Matthew Reinbold –

I’m saving my outrage for people who look at GAE and pronounce all other hosting of any type dead 🙂

I do the same thing for folks who declared that with Amazon EC2 every other option is useless.

@Joseph, You have valid concerns where developing for the App Engine, you’re locked into Google’s platform. However, GAE is based on Django 0.96, and it should not be that difficult to move your application to another CC such as EC2 or to your own server.

As @Deane stated, you need to build an abstraction layer between the GAE Model and whatever backend database you want to use.

Leave a Reply

Your email address will not be published. Required fields are marked *