对于Django开发者来说,Google App Engine是否比Webfaction更好?

时间:2009-04-06 17:41:34

标签: django google-app-engine hosting

我是Django开发网站的初学者。 我运行类似于SO的小型讨论网站。

我在Bluehost有一个帐户,这是Django开发的一个噩梦。 我发现Webfaction和Google App Engine似乎是Django的最佳选择。

但是,我不确定哪一个对我最好。

在运行小型网站时,Google App Engine是否优于Webfaction?

6 个答案:

答案 0 :(得分:14)

<强> Webfaction

加:

  1. 很棒的shell访问权限。能够安装python模块,或者您可能需要的任何其他东西。您一定会喜欢从shell中查看源代码来更新您的产品(不再需要FTP了!)
  2. 非常好的性能和可靠性
  3. 大力支持+有关帮助知识库和论坛的丰富信息。 (忘记蓝色主机或你曾经尝试过的任何其他东西)。对于我认为难以解决的问题,我感到很惊讶。
  4. 您可以使用常规数据库,并且可以进行连接(请参阅app engine minus#2)
  5. 减:

    1. 在前几次设置初始部署可能有点棘手(正如shell预期的那样)。
    2. 成长规模可能很昂贵,你可能无法生存“slashdotted”
    3. App Engine

      加:

      1. 免费开始
      2. 初始数据库更容易设置。
      3. 部署轻而易举
      4. 从一开始就执行“好”的设计原则,帮助你#5。 (如硬限制,db非规范化等)
      5. 可扩展性(但这不是免费的 - 你需要提前考虑)。
      6. 无需维护:自动备份,安全免费,日志记录+集中仪表板,软件更新自动完成。
      7. 减:

        1. 在App Engine上设置Django并不是那么简单,也不习惯这种设置。来自谷歌的webapp框架很薄弱。
        2. 数据库模型需要一点时间来处理。这不是你的moma的SQL服务器。例如,您必须从一开始就对数据库进行非规范化,而不能进行连接(除非它们是自连接)
        3. 你习惯的平常事物并不总是存在。诸如测试和数据导入之类的东西已经不那么容易了。
        4. 您被捆绑到App Engine并将数据迁移到另一个数据库或服务器,虽然并非不可能,但并不容易。 (并不是说您经常进行数据迁移!可能永远不会)
        5. 请求,响应和文件大小的硬限制(上次我听说大约1MB)。
        6. App Engine目前仅支持Python 2.5。
        7. 到目前为止无法想到任何其他事情。 我目前正在使用Webfaction并且正在测试App Engine。我从Django-Webfaction到App-Engine的思维方式没有任何困难。但是,我不确定是否AppEngine - &gt;独立服务器路由也很简单。

          <强>参考

          会谈:

答案 1 :(得分:4)

如果您已经编写了django应用程序,那么在Google App Engine上安装它可能非常困难,因为您必须调整数据模型。 GAE使用大表,(密钥,数据)存储,而不是传统的关系模型。它非常适合性能,但会使您的编程更加困难(例如,没有内置多对多关系处理程序)。

此外,大多数可用于django的应用程序无法在GAE上运行,因为这些应用程序使用关系数据模型。最明显的问题是django的优秀管理员应用程序无法正常工作。此外,GAE倾向于让您使用谷歌帐户进行身份识别。这可以被规避,但再次,不使用现成的django应用程序。这可能对你很好,但它可能很麻烦(例如,谷歌已经采用了很多用户名)。

所以,我最后的建议是,如果你是初学者,你应该避免GAE。

如果你在欧洲,djangohosting.ch也是一个不错的选择,而不是webfaction。

答案 2 :(得分:3)

我不能代表谷歌应用引擎,但作为一个相当新近的Django用户我最近将我的开发站点移到了WebFaction服务器上,我必须说我印象非常深刻。他们对Django设置(以及其他设备)非常友好,并且支持人员及时回答了我遇到的任何小问题。我肯定会推荐他们。

对于其他Django友好主机,请查看Djangofriendly.com

答案 3 :(得分:3)

我的答案有点晚了,但是......我是Django的初学者并且让我的first Django App在GAE上运行。它App Engine Patch实现了它。使用它你有django管理员和开箱即用的其他几个应用程序。如果您想尝试一下,请选择主干版本。该项目记录合理,并具有响应性社区。

答案 4 :(得分:2)

我是Google应用引擎开发人员,所以我不能说很多关于webfaction的内容,但据我所知,使用app-engine设置网络应用非常简单¹。然而,支持人员并不是很好。

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

答案 5 :(得分:1)

关于GAE要记住的事情是,它的工作方式与标准的python安装方式不同,而且您拥有的应用程序在该环境中可能无法正常运行(或根本不运行)。最大的区别是数据库。尽管GAE提供的非关系数据库有一些优点,但您需要对它进行不同的处理,并且您的代码可能希望您的数据库能够执行许多事情。

如果你是从头开始在应用程序上,任何一个平台都可以正常工作。如果你有一个现有的python应用程序,让它在GAE上工作将需要相当多的工作。