By Mike Driscoll
As PyCon approaches, the blogger community was invited to interview the speakers that are coming to the event. I chose Wesley Chun, writer of “Core Python Programming” and co-author of “Python Web Development with Django”. In this interview, I ask Wesley about his talk, Running Django Apps on Google App Engine and about PyCon in general. Let’s see what he has to say:
1) What do you want the attendees to take away from this talk?
I'd like all attendees to come away from this talk with a greater sense of optimism they can take their Django apps and run them with little or no modification on Google App Engine, taking advantage of the scalability they need and is so difficult to achieve on your own.
Part of this talk is pseudo-marketing to bring more awareness to Django-nonrel, which is the foundation of how to get Django apps to run on App Engine. For the past several years since App Engine debuted in 2008, there have been several tools, called the Helper and the Patch, to help you run Django apps on App Engine. Unfortunately, those older systems required you to modify your apps' data models in order to get them to run on App Engine. This is not the case with Django-nonrel, which should take its place as the leading tool that users should use when desiring to run Django apps on any NoSQL or non-relational database.
Along with Django-nonrel, developers also need the corresponding NoSQL adapter code, djangoappengine (for Google App Engine's datastore), Django-mongodb-engine (for MongoDB). they (and others) are working on adapters to other NoSQL databases, but more exciting than that is the prospect of having NoSQL JOINs!
2) What made you decide to speak on this topic?
I wanted to give this talk for many reasons... I already mentioned awareness earlier. The other thing is that people are so used to the Helper and the Patch, that they don't realize there's a better tool out there.
Another important reason is the concept of vendor lock-in, the phenomenon where you can't easily migrate your apps and/or data to different platforms because you're "locked in" by your current vendor. people complain that you can't run App Engine apps anywhere else, but this is not true. You can choose a different backend besides Google's original... two of these backends are AppScale and TyphoonAE. similarly, if you created a Django app and ran it via traditional hosting, Django-nonrel helps you bring it to App Engine with very little porting. Similarly, if you write a Django app and run it on App Engine using Django-nonrel, it shouldn't take much work to move it to traditional hosting.
3) What are the pros and cons in using Django on Google App Engine?
The most obvious pro is scalability. This is something that's both very difficult and very expensive to build. why not take advantage of all the smart people at Google that have built scalability into their core infrastructure that helps them be..., well, Google! With Django-nonrel, if Google isn't right for you, you can take your app and run it elsewhere! no vendor lock-in here.
One con would be that App Engine's datastore is still difficult to wrap your head around if you're used to the traditional relational database model. you can't do raw SQL or JOINs completely yet. Google does give you a stripped-down SQL syntax known as GQL, but it's not the complete picture. Also, in exchange for its benefits, you do have to give up some control over your app by letting Google host it. you can't use any C/C++ extensions, and don't have access to your logs or other raw files.
4) What are you most looking forward to at PyCon this year?
I'm looking forward to connecting with familiar and friendly faces of those I've met over the past decade of attending Python and open source conferences. Because we're all so geographically diverse, it's the one time you can count on to see people you haven't seen in a year and to catch up, either in the exhibit hall or part of an interesting hallway conversation.
I'm also excited to learn new things that are part of the Python universe. every year it seems to grow a bit more, so it's a struggle to stay up-to-date with what's been going on in the community. I'm also looking forward to reprising my Python 3 talk from last year, partly because it's becoming more important every year, and as part of my research for the talk, I'll be finding out which projects have moved to Python 3.
5) What were your favorite parts of PyCon in previous years?
The best part of the Python ecosphere is having a great programming language to rally behind, but the next best thing is the people... the Python community itself. And PyCon is the best place to interact with the community. the conference is phenomenal because of the talks, ability to reach to all skill levels (from beginner through advanced), superb tutorials stretching across TWO days, compelling session talks, amazing lightning talks and open space sessions, and of course, the hallway conversations, not to mention that crazy memes and hacks such as OHwar http://pycon.ohwar.com that come from such convos.
Just think: you could meet your favorite Python author at PyCon this year AND learn about Django and Google App Engine at the same time. And if that doesn’t float your boat, Wesley is also doing a talk on Python 3. What are you waiting for? Get on over to the PyCon website and sign yourself up!