【发布时间】:2012-12-21 10:40:26
【问题描述】:
我有一个小型的 Google App Engine 网站,似乎已经超出了它的规模,我想迁移到其他地方。
它基于 Java / Stripes Framework / Objectify,仅使用来自 Google 服务的 URLFetch。目前,它使用约 60 个前端小时和约 4 GB 数据存储,约 5,000 名访问者每天进行约 25,000 页浏览量。
我认为我应该迁移的原因:
- 我早先做了一些假设,这些假设不再有效,并且正在运行 1MB 内存缓存/数据存储限制。虽然我可以对此进行重构,但它可能会增加数据存储操作的数量/整体性能特征会恶化,并涉及数据库转换步骤(我不妨将其用于迁移到其他地方)
- 我想添加一些功能,这些功能会显着增加存储数据(大约 100 GB)和前端工作时间
- 当我使用超过免费配额的资源时,成本的增长似乎很快。虽然它们现在很容易管理,但如果该应用程序变得更流行,恐怕它可能不再负担得起。
- 一些稳定性问题(出现一些 OutOfMemoryErrors 和其他我无法解释的错误,并且无法在我的本地环境中很好地复制)
我正在评估以下选项:
继续使用 GAE,优化应用程序,承受不断增长的成本(缺点:仍然存在高成本和可靠性问题)
迁移到使用 MongoDB 作为数据存储的 AWS EC2 / EBS(优点:可能是最成熟的解决方案,缺点:似乎难以设置,容易犯架构/设计错误)。
使用 Appscale 希望在很大程度上保持我的应用程序原样,但将其托管在 AWS EC2 上(优点:在纸上看起来很容易,缺点:似乎假设主要是 Unix 开发环境,不知道生产准备好还是什么正在幕后发生)
使用 CloudFoundry.com 和 MongoDB 作为数据存储(缺点:不知道生产是否准备就绪,测试后成本未知)
通过一些托管服务提供商获取 VPS 或专用服务器,使用 MongoDB 作为数据存储进行部署(缺点:与其他选项相比,我想学的东西可能更少,需要做大量的系统管理工作)
这是一个业余爱好网站,因此部分目标是在实践中学习一些新技术,我只想花时间学习正确的技术。
注意事项 - 我有一些但非常有限的系统管理技能,尤其是在 Linux 上,我不喜欢这样做。我之前在 MongoDB 中做过一个小项目(虽然从未投入生产)。我从未使用过任何 AWS 基础设施。
我的问题:
一个。 AppScale 是否足够成熟,可以在没有太多麻烦(错误、缺乏文档等)的情况下运行小型网站?学习曲线是否非常陡峭?在场景 #3 中使用它需要多少系统管理?最重要的是 - 我是否正确理解 Google 1MB 等限制都存在于 AppScale 上?
b. CloudFoundry 是否足够成熟,可以在没有太多麻烦(错误、缺乏文档等)的情况下运行小型网站?学习曲线是否非常陡峭?在场景 #4 中使用它需要多少系统管理?如果需要,我认为从 CloudFoundry.com 转移到另一个 CloudFoundry 应该相当容易。
c。在 AWS EC2 / EBS 上部署所描述的应用程序涉及多少系统管理?假设我不太关心临时中断,但关心永久数据丢失,我是否需要自己镜像 EBS,或者我可以让 AWS 去做吗?
d。哪些新选项(AppScale、CloudFoundry、EC2/EBS)适用于基于 Windows / Eclipse 的开发方法?哪个有最好的 Eclipse 插件?
我之所以这么问,是因为在快速查看 AppScale 文档后,他们似乎认为开发 VM 将由 Unix 主机托管,这对我来说又是一个麻烦。
e。我的哪个选项 1.-5。你会推荐我的情况吗?
我现在在#2和#4之间。
【问题讨论】:
-
问题:您愿意为系统管理员/支持支付多少钱?如果您设置自己的解决方案,那么您将需要有人设置并支持它。这将比 GAE 总成本更高。此外,如果您认为 GAE 不可靠,请等到看到 EC2(我知道,我们都在两者上运行)。
-
您问题中的所有内容都是我必须首先使用 GAE 的许多原因。
标签: google-app-engine amazon-ec2 cloud cloud-foundry cloud-hosting