Is Google App Engine better than Webfaction for a beginner in Django dev? [closed]

為{幸葍}努か 提交于 2019-12-31 09:05:07

问题


I am a beginner in developing websites by Django. I run small discussion websites similar to SO.

I have an account at Bluehost which has been a nightmare in developing by Django. I have found that Webfaction and Google App Engine seems to be the best choices for Django.

However, I am not sure which one is the best for me.

Is Google App Engine better than Webfaction in running small websites?


回答1:


Webfaction:

Plus:

  1. Great shell access. Ability to install python modules, or anything else you might need. You will love checking out source code from shell to update your production (no need for FTPing anything anymore!)
  2. Very good performance and reliability
  3. Great support + wealth of info on help knowledge base and in the forums. (FORGET bluehost or anything else you ever tried). I was surprised by amount of answers I found to what I thought would be difficult questions.
  4. You can use regular database and you can do joins (see app engine minus #2)

Minus:

  1. Setting up initial deployment can be a bit tricky the first few times around (as is to be expected from shell).
  2. Growing-scaling can be expensive and you probably will not survive beign "slashdotted"

App Engine

Plus:

  1. Free to start with
  2. Initial database is easier to setup.
  3. Deployment is a breeze
  4. Enforcement of "good" design principles from the start which help you with #5. (Such as hard limits, db denormalizing etc)
  5. Scalability (but this does not come free - you need to think ahead).
  6. No maintanence: auto backups, security comes for free, logging + centralized dashboard, software updates are automatic.

Minus:

  1. Setting up Django on App Engine is not so straightforward, as well as getting used to this setup. The webapp framework from google is weak.
  2. Database model takes a little bit of time to wrap your head around. THis is not your moma's SQL server. For example you have to denormalize your DB from the start, and you cannot do Joins (unless they are self joins)
  3. The usual things you are used to are not always there. Some things such as testing and data-importing are not that easy anymore.
  4. You are tied down to App Engine and migrating your data to another DB or server, while not impossible, is not easy. (Not that you do data migration that often! Probably never)
  5. Hard limits in requests, responses and file sizes (last time I heard about 1MB).
  6. App Engine currently supports Python 2.5 only.

Can't think of anything else so far. I am currently with Webfaction and am testing App Engine as well. I have no difficulty going from Django-Webfaction to App-Engine way of thinking. However, I am not sure if the AppEngine -> Standalone servers route would be just as easy.

References

Talks:

  • Guido on Google App Engine http://www.youtube.com/watch?v=CmyFcChTc4M
  • Task Queues in App Engine: http://www.youtube.com/watch?v=o3TuRs9ANhs



回答2:


If you have already written your django application, it may be really difficult to install it on Google App Engine, since you will have to adapt your data model. GAE uses big table, a (key,data) store, instead of a traditional relational model. It is great for performance but makes your programming more difficult (no built in many-to-many relationship handlers, for example).

Furthermore, most apps available for django will not work on GAE since these apps use the relational data model. The most obvious problem is that the great admin app of django will not work. Furthermore, GAE tends to make you use google accounts for identification. This can be circumvented but again, not using readily available django apps. This could be great for you, but it can be a hassle (for example, lots of user names are already taken at google).

So, my final advice is that, if you are a beginner, you should avoid GAE.

If you are based in Europe, djangohosting.ch is also a good choice, instead of webfaction.




回答3:


I can't speak for Google App Engine, but as a rather recent Django user myself I recently moved my development site over to a WebFaction server and I must say I was extremely impressed. They are extremely friendly to Django setups (among others) and the support staff answered any small problems I had promptly. I would definitely recommend them.

For other Django-friendly hosts, check out Djangofriendly.com.




回答4:


A bit late with my answer, but nevertheless... I am Django beginner and have my first Django App up and running at GAE. It was App Engine Patch that made it happen. Using it you have django admin and several other apps available out of the box. If you'd like to try it, go for the trunk version. This project is reasonably well documented and have responsive community.




回答5:


I'm a Google app engine developer, so I can't say much about webfaction, but as far as I have used it setting up a web app with app-engine is pretty straight forward¹. The support staff however is not quite good.

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




回答6:


The thing to remember about GAE is that it works differently than a standard python install and apps you have may not work well (or at all) in that environment. The biggest difference is the database. While there are advantages to the non-relational database available with GAE, you need to treat it differently and there are many things that your code may be expecting your database to be able to do that it cannot.

If you are starting from scratch on an app, either platform would work fine. If you have an existing python app, getting it to work on GAE will take considerable work.



来源:https://stackoverflow.com/questions/722463/is-google-app-engine-better-than-webfaction-for-a-beginner-in-django-dev

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!