【问题标题】:What are best practices for scaling databases/disk storage on google cloud infrastructure?在谷歌云基础设施上扩展数据库/磁盘存储的最佳实践是什么?
【发布时间】: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


【解决方案1】:

通过将 AppEngine 与托管虚拟机结合使用,您可以尝试兼具 IaaS 和 PaaS 的优点。然后,AppEngine 将在 Compute Engine 上启动不受普通 GAE 实例必须遵守的限制的 VM 实例。 托管 VM 将允许您连接到现有的 Postgress 数据库,而无需修改任何代码。

https://cloud.google.com/appengine/docs/managed-vms/

【讨论】:

    猜你喜欢
    • 2011-03-23
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 2011-01-07
    • 1970-01-01
    • 2014-07-30
    • 1970-01-01
    • 2019-12-12
    相关资源
    最近更新 更多