2

对于将部署在 Amazon EC2 实例上的具有中等数量静态媒体内容的 Web 应用程序,将静态内容包含在 war 文件中或将其托管在单独的 S3 实例上是否有意义。

在性能方面会有什么不同?在服务成本方面会有什么差异?在复杂性方面会有什么不同?

4

1 回答 1

7

绝对地。有 4 个以上的原因:

  • Amazon S3 几乎无需管理,因此在预置、扩展等方面没有任何麻烦。
  • 您将减少 EC2 服务器负载
  • S3 中的存储比 EC2 EBS 卷中的存储更便宜,因为在 S3 中您只需为消耗的内容付费,在 EC2 中您为整个 EBS 预置存储付费(因此您需要为一些可用空间付费)
  • 您最终可以添加一个 CloudFront 分配,以向您的用户提供静态内容,无论他们身在何处 ( http://aws.amazon.com/cloudfront )
  • 可能更多...

在成本方面:

  • 从 S3 到 Internet 的数据传输将与您在 EC2 上支付的相同
  • 您可能会降低存储成本
  • 您将对 S3 文件的请求数量产生额外费用 ( http://aws.amazon.com/s3/#pricing )
  • 在高流量负载下,您可能还需要更少的 EC2 实例/资源(这显然不是事实,因为它 100% 取决于您的应用程序)

在发布应用程序的新版本时,您还将面临复杂性开销,因为除了将其部署到 EC2 实例中之外,您还必须将新的静态文件版本上传到 S3。但是你可以用一个非常简单的脚本来自动化它。

于 2013-10-02T12:52:02.470 回答