DjangoCon: Google’s Guido van Rossum On App Engine’s Future
The first annual Django conference kicked off this morning at the Googleplex in Mountain View, California. Speaking to a rapt audience of Django fans (yes, it’s a nerdfest), Python creator Guido van Rossum delivered a keynote talk which focused how Google has used Django in its App Engine service. He also offered some new details about what’s in store for the future of App Engine.
Guido outlined the major goals for the next version of App Engine, which include a new fee structure for apps that are in danger of exceeding the service’s current free quotas. The new options will allow for pay-as-you-go billing, somewhat similar to Amazon’s S3 and E2 services.
Other new features coming to App Engine include support for large file uploads and downloads, more storage capacity, more development languages and some new batch processing tools.
As for when the new features will arrive, van Rossum declined to offer specifics. However, he did say that the pay-as-you-go option should be available by the end of the year.
As for how App Engine and Django work, van Rossum covered both the internals of App Engine, where Django powers the template system, and also how to create your own Django-based apps within the App Engine environment.
It turns out that, according to van Rossum, App Engine has a long history with Django. While App Engine has its own mini app framework — dubbed webapp — when the developers were looking for a good template language they turned to Django.
Unfortunately because the App Engine team adopted Django very early on, the template language is stuck on the .0.96 Django release, which until recently was the latest stable version.
Now that Django 1.0 has arrived, bringing with it some new template features, App Engine is bit behind the curve. While van Rossum says upgrading the internal tools “isn’t an option,” he did say the plan is to eventually bump the App Engine API to support Django 1.0, allowing developers who want to access Django 1.0 template features to do so.
While Django may power the templates behind App Engine, most attendees here at DjangoCon are more interested in potentially running their applications on App Engine. The second half of Rossum’s keynote covered the the specifics of how to do that — unfortunately, it requires a good bit of hacking.
While it is possible to use Django on App Engine, right now you’ll need to use a modified, slimmed down version of Django 1.0 — you’ll lose models, ORM, and database backend tools (there isn’t a real SQL interface in App Engine, which render those tools a moot point).
The real downside to Django running on App Engine is that — without models support — you’ll lose the very nice Django admin interface which is one of the framework’s most attractive features. Van Rossum did say, “there is hope” for getting the Admin interface working in App Engine, but he offered no timeline.
One possible way to ease some of the pain for Django developers wanting to use App Engine is to use the Google App Engine Helper for Django.
After the keynote, addressing questions from the audience, Rossum encouraged developers at the conference to work on a App Engine specific release of Django, which would help make it easier for Django fans to run the framework under App Engine.