0

我有一些用 PHP 编写的网站(目前在 VPS 上),它将从头开始重建为 Python。作为平台,我主要考虑GAE亚马逊(或保持目前的VPS)。我想问你哪个更适合我。

我的一些converns:

  • 我知道 GAE 有一些限制,但是因为我要从头开始构建所有东西,所以它可能不是一个大问题(或者可能是?)。
  • 我读到亚马逊只提供虚拟机,所以我必须管理一切。它的可扩展性如何(我只需要移动滑块或使用服务器配置/编程?)
  • 如果我决定继续使用当前的 VPS,然后迁移到亚马逊怎么办?它会很痛苦并且涉及很多工作吗?
  • 费用呢?

这个网站是我很久以前写的(一个月有100万个uniq用户),现在因为代码乱七八糟需要重建。现在它托管在具有 2x2GHz + 750MB RAM(每月 20 美元)的小型 VPS 上。这已经绰绰有余了,但是在重建后我计划添加更多的性能消耗功能,同时宣传它(这样网站就会增长)。我选择了 Python (dJango) 作为框架。

由于它将完全重建,我正在考虑将其托管在云上。

4

1 回答 1

3

Google App Engine 是PaaS的一个例子。Amazon Web Services 主要是一种IaaS解决方案(带有一些类似 PaaS 的组件)。它们是不同的服务模型,每种都有不同的优点和缺点。简而言之:PaaS 提供了对底层系统的更多抽象。这使得部署更容易(有时更容易),并消除了设计可扩展和持久环境所需的大部分系统工程专业知识。然而,这是以极大地降低灵活性为代价的,通常每月费用更高,并且具有更大程度的“供应商锁定”。

您可能对 Amazon 的Elastic Beanstalk产品感兴趣,它是 PaaS 和 IaaS 的混合体。它是多个 AWS 组件(EC2、RDS、ELB、SNS)之上的一层,将它们组合在一起,形成一种更易于使用的类似 PaaS 的方式。(免责声明:我的公司是 AWS 咨询合作伙伴网络的成员,我们为 Python AWS 库 Boto 编写了 Elastic Beanstalk 支持。)

如果我决定继续使用当前的 VPS,然后迁移到亚马逊怎么办?它会很痛苦并且涉及很多工作吗?

这在很大程度上取决于您的应用程序。简而言之,您希望确保您的应用程序服务器(实例)被视为一次性的:不要在它们上存储持久数据,也不要相互依赖。例如,如果您的应用程序接受用户上传的文件,它们应该存储在 S3 中,而不是本地卷上。您希望确保使用松散耦合的组件并使用 SNS 和 SQS 在它们之间进行通信。

最大的变化在于你如何滚动代码。您不能仅通过 SSH 或 FTP 进入单个服务器并上传最新版本。Elastic Beanstalk 与 Git 很好地集成(请参阅文档),使这非常轻松,但它仍然是对您的工作流程的调整。如果您的 Elastic Beanstalk 无法满足您的需求,那么您需要开始考虑配置工具,例如 Puppet、Chef 或 Salt。我也将 Fabric 用于更简单的环境。

于 2012-12-20T00:42:53.850 回答