如何将 Google App Engine 项目完全迁移到 Compute Engine?

sil*_*oxA 5 python google-app-engine google-compute-engine

我们一直在使用 Google App Engine 作为一个项目的后端服务,该项目已经完全开发为一个 Gooogle App Engine 项目。

最近,前端实例消耗了我们项目费用的 60-70% 以上。因此,我们决定完全取消它并迁移到 Google Compute Engine。

想知道是否有人将他们的 GAE 项目迁移到 GCE。我知道 GCE VM 可以从 GAE 应用程序中动态启动,但我们希望完全取消 GAE。(来源

作为最后一个选项,我将托管一个 Django 项目并使用 GAE 文件作为 Web 服务的控制器。

但是,想知道是否还有其他可能更简单的选择来将 GAE 项目迁移到 GCE,同时保持数据存储集成不变。

TIA

Dan*_*scu 3

不幸的是,应用程序标准环境支持的独特性可能会使您的迁移变得相当困难。

以标准环境和灵活环境之间的显着差异为例(如果您愿意,这就像完全迁移到 GCE 的中间步骤):将服务从标准环境迁移到灵活环境。对我来说,它们实际上是不同的野兽。

更糟糕的是,您认为迁移中最重要的事情(保持数据存储集成完好无损)也最有可能阻碍您的迁移。

这是因为您的应用程序很可能使用专用客户端库之一,该库针对标准环境 GAE 应用程序进行了优化,并且仅适用于标准环境 GAE 应用程序。如果是这样,迁移实际上意味着重新设计与数据存储的整个交互,以使其使用更通用的数据存储库之一。这意味着不仅仅是翻译 API 调用 - 还需要解决概念和功能上的差异。

所以标题问题的答案很可能是:为 GCE 重新设计你的应用程序。就我个人而言,我不确定 GCE 是否总体上更具成本效益 - 我仍然更喜欢标准环境 GAE。假设在某个时候成本上升到足以重新考虑的程度,我会:

  • 仔细查看定价和当前应用程序成本细分,看看哪些组件较重:例如,如果大部分成本来自数据存储使用 - 我不认为迁移到 GCE 会显着增加帮助
  • 尝试调整应用程序的配置和/或代码以降低成本:例如,如果实例小时数占成本的大部分,则根据实际流量模式调整可扩展性配置可​​能会降低费用
  • 估计类似使用模式但具有 GCE(和/或 GAE flex)上可用的相应组件的成本
  • 如果相应的组件也可以在 GAE flex 上使用,我会使用它进行一些实验,而不是使用完整的 GCE(这几乎需要首先重写)。

使用灵活环境作为垫脚石的逐步过渡可以揭示预计的成本节省是否不完全存在,从而有助于在进行整个重写之前放弃整个过渡。如果过渡仍然是“继续”,也可以帮助重写。

更新:可能需要考虑另一种降低成本的解决方案:通过AppScale(另请参阅)在更具成本效益的 IaaS 提供商上运行现有的 GAE 应用程序代码。