【发布时间】:2015-01-05 12:50:18
【问题描述】:
在从 Google 的启动计划获得足够的积分后,我们正在将我们的应用程序迁移到 Google Cloud,从而为我们提供一年的免费云服务。
我们的 Web 应用程序在后端相当轻巧,因为它在大多数情况下仅作为 REST API 运行。它是使用 Django 和 PostgreSQL 构建的。
我们最初的计划是只使用 Google App Engine,但这需要我们通过迁移到 NoSQL 来重新设计我们的数据库和后端,这很可能是一场考验由于我们的数据结构在很大程度上依赖于连接,而像http://www.allbuttonspressed.com/projects/djangoappengine 这样的项目似乎有非常严重的限制并且使事情变得更加复杂,我们使用的许多工具也需要 shell 访问权限。
我们当时希望能够使用 Compute Engine (GCE),但现在看来,为了扩展我们的数据库,我们必须自己实施和维护一个单独的分片集群. 是否有更简单的方法可以为我们的数据库结构添加一些冗余和负载平衡?
我们目前最好的选择似乎是将 GCE 用于实际应用程序,然后迁移到同时使用 Google Cloud SQL。问题在于它只支持 MySQL,我们更喜欢使用 Postgres,因为它具有出色的 NoSQL 支持,我们计划将其用于我们即将推出的一些功能。
Google 确实有很多关于实用性的优秀文档,但在其云平台上的架构指导和最佳实践方面却很少。 您对我们的情况有何看法?会有什么样的最佳实践?
【问题讨论】:
-
请注意,云平台的启动包通常非常慷慨,但有效期通常限制在 3 个月左右。
-
感谢@koma 的评论,幸运的是我们的有效期为 12 个月 :)
标签: django database postgresql google-app-engine google-compute-engine