For those of you that have been hiding under a rock for the last 12 hours, App Engine is Google’s answer to Amazon Web Services. While it is less flexible in some senses (you don’t have a complete OS at your disposal), it does provide tighter integration for web applications and even includes a (somewhat crippled) version of Django out of the box.

I’m pretty excited about this mainly because I’m not a big fan of server administration, so I took a couple hours this morning to test it out. Here are some quick notes:

The Good

The Bad

This excludes you from using models or anything that depends on them in Django, including the admin, sessions, the authorization framework.

The Ugly

Other Observations

  • Much of the API is clearly influenced by Django making transitioning easier.
  • Pricing has not been released, but from this statement, it appears they will have free accounts:
“For now, account registrations are limited to the first 10,000 developers, and applications are restricted to the free account limits.”
  • Generic views don’t work with the datastore queries 'Query’ object has no attribute '_clone’
  • The datastore admin interface only becomes active once you have saved an object for the model.

Screenshots

Dashboard
Dashboard

Datastore Indexes
Datastore Indexes

Datastore Viewer
Datastore Viewer

Adding an item to the Datastore
Create Entity

Conclusion

Despite its limitations, I think App Engine is going to be a great thing for the Django community and I can’t wait to host my apps there.

I started migrating my site over (lincolnloop1.appspot.com) with some quick hacks, but realized that creating a Django database backend for the App Engine Datastore (a.k.a. BigTable) is going to be the best route. I’m not a database guru and I haven’t dug into Django’s database internals, but it looks feasible. The basic stuff is so close to Django that I’m hoping it will be pretty straightforward and we should be able to emulate more advanced queries with some Python magic. I’m happy to open up an app and I started a Google Code project django-appengine-backend for any developers that are interested in working on the project.