Google has just launchedGoogle App Engine, “a developer tool that enables you to run your web applications on Google’s infrastructure.” This will allow startups to use Google’s web servers, APIs, and other developer tools to build a web app on top of. Google clearly has the scale and smarts to provide this platform service to developers. However, it begs the question: why would a startup want to hand over that much control and dependence to a big Internet company?

Let’s firstly review what this is – and what it is not. Google App Engine is similar to the Amazon Web Services stack, which rolled out at the end of 2006 and has since gone on to be utilised by many startups for their infrastructure needs. But it is not a set of standalone services like Amazon’s – which includes S3 for storage, EC2 for hosting and the SimpleDB database. Google App Engine is an end-to-end service and bundles everything into one package.

In that respect Google App Engine is more like the so-called “Platform-as-a-Service” (PaaS) apps like Bungee Labs, which we profiled firstly in April 2007 and then more recently in February when it launched a new version. Other PaaS contenders include Salesforce.com’s Force.com platform (nicely summarised by Dan Farber) and Morfik’s Ajax platform.

Google App Engine launches as a closed Beta, with 10,000 developers granted access on a first come, first serve basis. It’s free, but during the preview period applications are “limited to 500MB of storage, 200M megacycles of CPU per day, and 10GB bandwidth per day.” It has a good set of initial features, which Google’s Matt Cutts summarizes well:

“You can store your data in a Google Bigtable using the Google File System (GFS). There’s a bunch of App Engine APIs to simplify things like sending email and fetching urls. Your application can authenticate users that are using Google Accounts, so you can avoid the whole “ask your users to create a new account” issue if you want.”

So it’s a good start and you can imagine that this is just the beginning, as anyone who has read Nicholas Carr‘s excellent book The Big Switch will realise. Computing infrastructure is rapidly turning into a utility and Google App Engine is yet another example of this.

Why Would a Startup Want to Use Google App Engine?

There are many compelling reasons for startups to use Google App Engine; and Alex Iskold summed them up in his post Reaching for the Sky Through The Compute Clouds. Alex explained why the likes of Amazon, and now Google, are providing a valuable service to startups:

“We are witnessing a fundamental shift in our ability to compute and this is just the beginning. Amazon is at the forefront of making massively parallel, web scale compute services available to the world. Free from the need to solve the scalability problems, startups are able to focus on the specific problems that their product or service is trying to solve. All of this is happening while the cost of hardware, bandwidth and services overall keep dropping.”

(emphasis mine)

However, there are a few downsides to the Google approach. For one thing, it means developers must use Python as their programming language – PHP and Ruby are two other popular languages today. But looking at the bigger picture, startups which use Google App Engine are essentially tying themselves into Google’s technology. They’ll need to host with Google, do their processing with Google, store their data with Google, etc. And as some people have already speculated, having a web app built and deployed with Google App Engine makes it much easier for Google to eventually acquire that web app.

It does make you wonder: would you want Google to control your entire end-to-end development environment? Isn’t that what developers used to be afraid of Microsoft for?