I'm a beginner in developing websites by Django. I run small discussion websites much like SO.

I've a merchant account at Bluehost that has been a nightmare in developing by Django. I've discovered that Webfaction and Google Application Engine appears to be the greatest options for Django.

However, I don't know which is right for me.

Is Google Application Engine much better than Webfaction in running small websites?

Webfaction:

Plus:

  1. Great spend access. Capability to install python modules, or other things you will need. You'll love looking at source code from spend to improve your production (no requirement for FTPing anything any longer!)
  2. Excellent performance and reliability
  3. Great support + insightful information on help understanding base as well as in the forums. (FORGET bluehost or other things you attempted). I had been surprised at quantity of solutions I discovered as to the I figured could be difficult questions.
  4. You should use regular database and you will do joins (see application engine minus #2)

Minus:

  1. Establishing initial deployment could be a little tricky the very first couple of occasions around (out of the box to become expected from spend).
  2. Growing-scaling could be costly and also you most likely won't survive beign "slashdotted"

Application Engine

Plus:

  1. Free to begin with
  2. Initial database is simpler to create.
  3. Deployment is easy
  4. Enforcement of "good" design concepts from the beginning which assist you with #5. (For example hard limits, db denormalizing etc)
  5. Scalability (but this doesn't come free - you have to think ahead).
  6. No maintanence: auto backup copies, security comes free of charge, logging + centralized dashboard, software updates are automatic.

Minus:

  1. Establishing Django on Application Engine isn't so straightforward, in addition to becoming accustomed to this setup. The webapp framework from bing is weak.
  2. Database model takes some time for you to wrap your mind around. This isn't your moma's SQL server. For instance you need to denormalize your DB from the beginning, and also you canrrrt do Joins (unless of course they're self joins)
  3. The typical stuff you are utilized to aren't ever present. Some items like testing and data-posting aren't that simple any longer.
  4. You're tied lower to Application Engine and moving your computer data to a different DB or server, whilst not impossible, is difficult. (Not that you simply do data migration that frequently! Most likely never)
  5. Hard limits in demands, reactions and file dimensions (last time I learned about 1MB).
  6. Application Engine presently supports Python 2.5 only.

Can't think about other things to date. I'm presently with Webfaction and am testing Application Engine too. I've no difficulty going from Django-Webfaction to Application-Engine thought process. However, I don't know when the AppEngine -> Stand alone servers route could be just like easy.

References

Talks:

I can not speak for Google Application Engine, but like a rather recent Django user myself I lately moved my development site to a WebFaction server and I have to admit I had been very impressed. They're very friendly to Django configurations (amongst others) and also the support staff clarified any small problems I'd quickly. I'd certainly recommend them.

For other Django-friendly hosts, take a look at Djangofriendly.com.

I am a Google application engine developer, and so i can't say much about webfaction, but so far as I have tried personally it establishing an internet application with application-engine is fairly straight forward┬╣. The support staff however is less than good.

1- http://code.google.com/appengine/articles/django.html