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

5

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

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

想知道是否有人将他们的GAE项目迁移到了GCE。我知道GCE VM可以从GAE应用程序内部动态地启动,但我们想完全放弃GAE。(来源)

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

然而,想知道是否有其他潜在更容易的选项将GAE项目移植到GCE,并保持数据存储集成不变。

TIA


您的GAE服务是使用标准环境还是弹性环境? - Dan Cornilescu
1
我认为GAE标准版通常比GCE更具成本效益。你为什么认为GCE是更好的解决方案呢? - new name
1
@silverFoxA,再给你提供一个数据点,我的GAE应用程序每月大约有20,000个会话,并且每月花费我10-15美元。当我只有最少的请求时,我每月支付10美分。也许你正在使用SQL,我相信它比数据存储要贵得多? - new name
@silverFoxA,你需要提供更多关于你正在做的事情的细节。我也是一个Python程序员,所以我对Laravel一无所知。你说这些费用来自实例,但GAE基本上为你提供了一个免费实例,可以在整个月内使用。为什么你会同时运行多个实例?你是否有多个服务在运行? - new name
@JeffO'Neill 先生,我们有没有办法直接与您联系? - silverFoxA
显示剩余3条评论
1个回答

3
很不幸,应用程序的标准环境支持的独特性可能会使您的迁移非常困难。例如,仅在标准环境和灵活环境之间存在显着差异(如果您愿意,灵活环境将成为完全迁移到GCE的中间步骤):从标准环境迁移服务到灵活环境。对我来说,它们几乎是不同的东西。
更糟糕的是,您在迁移中最重要的事情 - 保持数据存储集成完整性 - 也是最有可能阻碍您的迁移。那是因为您的应用程序很可能使用其中一个专为标准环境GAE应用程序优化且仅可用于该环境的专用客户端库之一。如果是这样 - 迁移实际上意味着重新设计与数据存储的整个交互,以便使用其中一个更通用的数据存储库。这意味着不仅需要翻译API调用 - 还需要解决概念和功能上的差异。
因此,对于标题问题的答案很可能是:为GCE重新设计您的应用程序。就个人而言,我不确定GCE是否总体上更具成本效益——我仍然更喜欢标准环境GAE。假设在某个时候,成本足够高以至于需要重新考虑,我会:
  • 仔细查看定价和当前应用程序成本的分解,以查看哪些组件是较重的:例如,如果大部分成本来自数据存储使用情况,则不希望迁移到GCE会显著有所帮助
  • 尝试调整应用程序的配置和/或代码以减少成本:例如,如果实例小时数占据成本的大部分,根据实际流量模式调整可扩展性配置可能会降低账单
  • 估计相似使用模式的成本,但使用GCE(和/或GAE flex)中的相应组件
  • 如果相应组件在GAE flex上也可用,我会进行一些实验,使用它而不是完全转向GCE(这基本上需要先进行重写)。
一个逐步过渡的方法,使用灵活的环境作为跳板,可以揭示出估计成本节约不足的情况,从而有助于在进行整个重写之前放弃整个过渡。如果过渡仍然是可行的,“逐步过渡”也可以帮助重写。

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

感谢您的迅速回复。给我们带来麻烦的是“前端”实例的成本。它每月花费我们超过300美元,加上有一些指针,根据这些指针,我们可能不得不选择负载均衡器,但我们的解决方案仍处于测试阶段,我们大约有900-1000个用户和2000篇文章。成本似乎不对,也没有选择负载均衡器的迹象。因此,我们计划选择GCE,假设实例每月运行730小时并托管我们所有的项目,整体成本应该为30-40美元。 - silverFoxA
在使用GAE时,成本一直是我们真正关注的问题,即使是一个小型的Laravel项目,每月的费用也要达到90美元,而将其托管在VPS上(例如DigitalOcean服务器),我们几乎只需要花费10美元。 - silverFoxA
1
如果你已经完成了作业并且对它感到满意 - 我很好。但是,正如提到的那样,从GAE PaaS解决方案切换到IaaS解决方案可能需要进行重大重新设计。 - Dan Cornilescu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接