I'm about to start a new django project with friends. This project includes a website, API to mobile applications, clearing and billing, internationalization aspects etc...
What are the pros and cons for using Google App Engine vs. a regular web hosting solution?
Of course GAE documentation praises their support for django, but I would like to hear from people with first hand experience.
Here's a general discussion regarding pros\cons for GAE. I'm more interested in the details regarding django (and related libraries) support.
What sold me on Google App Engine vs hosting a Django app were the following points:
- No DB Admin: We didn't have to worry about administering and managing a database. This was super productive for a two man team.
- The Datastore Makes Sense: Given that we had no RDBMS experience, the GAE Datastore just made a lot of sense: It is a big hash table with transaction support. Definitely less complex -usage wise- than a traditional database.
- Easy Deployment and Versioning: The online interface allows you to test out a new version before making it the default. So if the new version breaks, you can easily roll to an older version.
- Easy Scalability: We enabled billing for up to $4 a day, which gave us a lot of CPU cycles and a huge email quota. We didn't have to worry about servers going down. Again, this give you peace of mind if you're a small team.
You also get easy access to cron, offline tasks and email. Oh, and you can also use Django's templating engine, which is one of my favorite bits of Django.
- No FTP support: A lot of enterprises still use FTP. You can only make HTTP/S requrests with GAE, so you can't serve or upload FTP files.
- No expensive calculations: All requests have to finish up in 30 seconds. But GAE gives you Cron and task queues, so if you need to do super expensive calculations, then you'll have to break them up.
- Only pure Python libraries: So you can't use cPickle for example.
- No legit image processing: They image processing API does provide a subset of PIL, but if you need to do heavy lifting you'd better take it outside (of GAE).
I would highly recommend GAE if you have a small team - which sounds like you do, and you do not like to mess around with configuring servers. .
Best of luck!
The content is written by members of the stackoverflow.com community.
It is licensed under cc-wiki