Tuesday, April 08, 2008

 

Google App Engine: golden cage?

Yesterday, Google announced it's entry in the cloud computing game. Amazon Web Services has long been the only serious player (with S3, EC2 and SimpleDB), but now the other large online powers are lining up. Microsoft has unveiled a number of online components that would fit into a comparable image (SSDS, SkyDrive, BizTalk services). Expectations were that Google would open up it's BigTable database for external users, but their offering turns out to be much more comprehensive. It is a fairly complete web application platform.

One size fits all?

Where Amazon offers separate, but complementary services that can be used for computing and storage in the broadest sense, Google focuses on web application hosting only. They basically offer to host your python code on their infrastructure. While Google insists that python is just the first supported language, it seems deeply involved in the whole system. For storing data you can either choose to use BigTable or use the Google File System for reading and writing files.

The upside of this very narrow approach (only websites, only python) is that setting up a website can be very easy and can include all of the scalability and monitoring tools that you would require. Downside, of course, is that python is not the language with the largest developer base. What Amazon offers is basically to run your virtual machine on their hardware, the Google App Engine offers way less freedom, but is obviously easier to get started.

Free for now

The pricing model of App engine is very friendly for starters. You will not pay any fee as long as your usage stays under certain thresholds (500MB storage, CPU and bandwidth amount to ca. 5M pageviews per month). Most web applications will actually never reach that level. But if your brilliant idea resonates with the crowds, your app will scale to many millions of users. You will pay only for the storage, cycles and bandwidth above the set limits. This model will surely attract many hobbyist developers creating the next big thing in their garage.

Lock in?

When you run your site on Amazon EC2, you can always take your virtual machine images elsewhere. Many Amazon customers run their base setup on owned hardware and used their Amazon environment only in periods of heavy use. With Google, you're bound to their platform. It will not be easy to run an application built for the Google App Engine on your own premises. So you're more or less stuck with them. Then again, by the time you App Engine bills become significant, your user base should allow for some profit. And, in your start--up period (and for most applications forever), you will be using the platform for free. Of course, once your site is successful, you can always re-engineer the code for another platform.

What about .NET?

I think Google is getting it right again. Easy to set up and free to start are powerful arguments for independent app builders. Some applications are just not fit for the platform (think data needing offline processing, workflow), some companies will not be willing to store their business information in Googles systems. The pricing for sites exceeding the thresholds is still unknown, but 'free for small sites' will make Amazon look very expensive. Also, what can we expect for programmers not fluent in python? One might expect PHP to be the next implemented language.

Personally, I would really like to have a comparable platform using the Microsoft stack: SQL Server Data Services, SkyDrive and a hosted scalable ASP.NET site engine. That would be awesome. And free for the small guys, of course. I hope that Microsoft have something like this up their sleeve. Steve Ballmer seemed to suggest this at MIX'08. Otherwise, I'll just learn python, I'm feeling a little dynamically typed already.

The current preview was open to only 10.000 developers and apparently it filled up quickly; I couldn't sign up. But you can download the SDK and check out the documentation. The SDK will allow you to develop and locally run your app as if it were on Google App Engine. Sooner or later, App Engine will be open for all.

Labels:


This page is powered by Blogger. Isn't yours?