Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 在我的情况下,从谷歌应用程序引擎(GAE)迁移的最佳托管选项是什么?_Google App Engine_Amazon Ec2_Cloud_Cloud Foundry_Cloud Hosting - Fatal编程技术网

Google app engine 在我的情况下,从谷歌应用程序引擎(GAE)迁移的最佳托管选项是什么?

Google app engine 在我的情况下,从谷歌应用程序引擎(GAE)迁移的最佳托管选项是什么?,google-app-engine,amazon-ec2,cloud,cloud-foundry,cloud-hosting,Google App Engine,Amazon Ec2,Cloud,Cloud Foundry,Cloud Hosting,我有一个小的谷歌应用程序引擎网站,它似乎正在成长,我想迁移到其他地方 它基于Java/Stripes Framework/Objectify,只使用来自Google服务的URLFetch。目前,它使用约60个前端小时和约4GB的数据存储,每天有约5k的访问者访问约25k的页面 我认为我应该迁移的原因: 我在早些时候做了一些假设,这些假设不再有效,并且正在运行1MB内存缓存/数据存储限制。虽然我可以重构它,但它可能会增加数据存储操作的数量/总体性能特征恶化,并涉及数据库转换步骤(我也可以使用它迁

我有一个小的谷歌应用程序引擎网站,它似乎正在成长,我想迁移到其他地方

它基于Java/Stripes Framework/Objectify,只使用来自Google服务的URLFetch。目前,它使用约60个前端小时和约4GB的数据存储,每天有约5k的访问者访问约25k的页面

我认为我应该迁移的原因:

  • 我在早些时候做了一些假设,这些假设不再有效,并且正在运行1MB内存缓存/数据存储限制。虽然我可以重构它,但它可能会增加数据存储操作的数量/总体性能特征恶化,并涉及数据库转换步骤(我也可以使用它迁移到其他地方)
  • 我想添加一些功能,这将涉及到存储数据(约100 GB)和前端时间的显著增加
  • 由于我使用的资源超过了免费配额,成本的增长似乎很快。虽然它们现在是相当容易管理的,但如果应用程序变得更流行,我担心它可能再也负担不起了
  • 一些稳定性问题(从内存错误和其他我无法解释的错误中获取一些信息,并且无法在本地环境中很好地复制)
我正在评估以下选项:

  • 继续使用GAE,优化应用程序,承受不断增长的成本(缺点:仍然会有高成本和可靠性问题)

  • 使用MongoDB作为数据存储迁移到AWS EC2/EBS(优点:可能是最成熟的解决方案,缺点:似乎难以设置,容易犯架构/设计错误)

  • 使用Appscale很有希望让我的应用程序保持原样,但将其托管在AWS EC2上(优点:在纸面上似乎很容易,缺点:似乎假定基本上是Unix开发环境,不知道生产是否就绪或幕后发生了什么)

  • 将CloudFoundry.com与MongoDB一起用作数据存储(缺点:不知道是否可以生产,测试后的成本未知)

  • 获得一个VPS或一个有主机提供商的专用服务器,使用MongoDB作为数据存储进行部署(缺点:可能比其他选项教给我的东西要少,需要做的系统管理工作很多)

  • 这是一个爱好网站,所以部分目标是在实践中学习一些新技术,我只想把时间花在学习正确的技术上

    注意:我有一些但相当有限的系统管理技能,特别是在Linux上,我不喜欢这样做。我以前在MongoDB做过一个小项目(但从未投入生产)。我从未使用过任何AWS基础设施

    我的问题是:

    a。AppScale是否足够成熟,可以运行一个小网站,而不会有很多麻烦(bug、缺乏文档等)?学习曲线是否非常陡峭?在场景3中使用它需要多少系统管理?最重要的是,我是否正确理解谷歌1MB等限制都存在于AppScale上

    b。CloudFoundry是否足够成熟,可以在没有太多麻烦(bug、缺乏文档等)的情况下运行一个小型网站?学习曲线是否非常陡峭?在场景4中使用它需要多少系统管理?如果需要,我认为从CloudFoundry.com迁移到另一个CloudFoundry应该相当容易

    c。在AWS EC2/EBS上部署所述应用程序需要多少系统管理?假设我不太关心临时中断,但关心永久性数据丢失,那么我是否需要自己镜像EBS,或者我可以让AWS来做

    d。哪些新选项(AppScale、CloudFoundry、EC2/EBS)适合基于Windows/Eclipse的开发方法?哪一个有最好的Eclipse插件

    我这样问是因为快速查看AppScale文档后,他们似乎认为开发虚拟机将由Unix主机托管,这对我来说是另一个麻烦

    e。我的选择是1-5。你能给我推荐一下吗

    我现在处于2和4之间。

    只是一些观察:

    a。AppScale是对其他技术(,)的一个薄包装,所以一般来说,它和那些底层部件一样可靠。对于一个小型的非关键任务网站来说,IMO是足够可靠的。顺便说一句,memcache 1MB限制是每个对象,而不是每个memcache。所以我想你可以把它分解成多个更小的物体

    b。我没有CloudFoundry的经验,但他们确实说他们是“测试版”,并且没有SLA:\

    c。我猜一周只有几个小时。ESB是一种基于磁盘的服务,因此您不应该因为它而丢失数据。但您仍然可以将ECB增量备份到S3。有许多解决方案可以自动执行此操作,例如:

    d。IMO EC2是最成熟的,拥有最多可用的工具。请注意,AppScale只是一个包装器——您可以将其部署到EC2。开发环境(Eclipse+Windows)与部署环境无关(通常是Linux,也可以是EC2上的Windows)

    e。就个人而言,我建议留在GAE(=选项1)。IMHO其他产品的可靠性更低,成本更高(由于安装/支持成本,甚至没有比较基本服务成本)


    顺便说一句,若你们正在摆脱记忆错误,你们真的应该检查你们的代码。内存中的大量数据存放在哪里?

    问题:您愿意为系统管理/支持支付多少费用?如果您设置了自己的解决方案,那么您将需要有人来设置并支持它。这将超过GAE的总成本。另外,如果您认为GAE不可靠,请等到您看到EC2(我知道,我们都在运行)。您问题中的所有内容都是我必须首先使用GAE的原因。Peter,谢谢您的评论。“所以我想你可以把它分解成多个更小的对象。”是的,实体大小和memcache对象大小