Last week was Google App Engine announcement and brouhaha. This week is deeper analysis and understanding of Google App Engine. I spent some time last week trying to understand this better, read a bunch of stuff, and spent some time having a top secret special meeting that I can’t talk about with some of my friends at Microsoft where this was discussed.

Following are three interesting things for you this morning (all courtesy of my friend Scott Moody) if you are interested in learning more:

1. The Google App Engine Q&A – an in-depth blogger-created FAQ that provides great links to other blog posts on the topic and summarizes various opinions and known facts.

Google provides a non-relational datastore and that’s the only datastore available (no traditional file system, no relational databases). With EC2, people generally use MySQL or Postgresql. Amazon offers a non-relational datastore called SimpleDB, but it’s a bit *too* simple. For example, it does not support sorting of results sets. Huh? That makes it non-workable in my opinion. There’s also an issue with using EC2 virtual machines for your database servers — Amazon says that when a virtual machine crashes, all the data managed by it disappears, so virtual machine crash = hard drive crash.

With EC2, programmers can use any (non-Microsoft) language to develop their apps. AppEngine users must code in Python. Also, Google does not support sockets at this time. All cross-app communication must be done via HTTP.

At *this* moment in time, it would be difficult to move apps off of AppEngine. Doing that in EC2 is trivial. This, to me, is the biggest issue, as I believe it could make startups less-interesting from an acquisition perspective by anyone other than Google. This will most likely change as people develop compatibility layers. However, Google has yet to provide any information about how to migrate data from their datastore the best I can tell. If you have a substantial amount of data, you can’t just write code to dump it because they will only let any request run for a short period before they terminate it.

Some people are complaining about Google having access to their source code. I don’t see this as an issue. I’d rather have it be stored at Google than at some small hosting company.

One final nice little thing in AppEngine’s favor: Websites that store less than 500MB of data and get roughly 5MM pageviews per month or less can use AppEngine for free. The downside is that Google has yet to say what they’ll charge if apps go over that quota, but I have to believe that it will be reasonable. Right now, you’re prevented from going above the free-level quotas.

If you are into this and have other good links, please leave a comment with them.