将AWS / S3用于静态内容有哪些优缺点?

时间:2014-05-02 15:30:14

标签: php amazon-web-services amazon-s3

我想要你们所有人的一些指导。我有一个基于多媒体的网站,它托管在传统的基于Linux的LAMP托管上。由于该网站拥有最多的图像/视频内容,大约有30000多个帖子,数据库大小约为20-25MB,但文件系统使用量为10GB,带宽大约为800-900 GB(允许1 TB)每个月。

现在,经过一番头脑风暴,在这里和那里看到我的替代品后,我想出了两个选择

  1. 增加/获得更大的托管计划。
  2. 获取存储在Amazon S3上的静态内容。
  3. 虽然第一个计划是一个简单的选择,但我实际上期待第二个计划,即将我的静态内容存储在Amazon S3上。我拥有的网站完全是自定义编码的,基于PHP + MySQL。我经历了这个http://undesigned.org.za/2007/10/22/amazon-s3-php-class/,它给了我一个很好的主意。

    当我考虑在s3上托管静态内容时,我很想知道优点/缺点。

    请提供您的意见。

3 个答案:

答案 0 :(得分:3)

  

增加/获得更大的托管计划。

我不会这样做。原因是,存储是便宜的,而“更大的托管计划”的其他组件将花费你的成本,而不提供直接的好处(如果你不需要它,更多的内存是昂贵的)

  

获取存储在Amazon S3上的静态内容。

这是要走的路。 S3很便宜,很简单。话虽如此,由于我们在这里讨论视频,我会建议第三种选择:

[3。]在AWS S3上存储视频并通过CloudFront提供服务。相比之下,考虑到壮观的带宽和全球分布,它仍然相当便宜。 CloudFront是亚马逊的CDN,可以将速度提升到任何位置。

如果您想节省带宽,您还可以考虑使用Amazon Elastic Transcoder进行高质量压缩(以最大限度地减少带宽使用)。

传统托管对此来说太贵了。

答案 1 :(得分:0)

如果从长远来看,在某些时候,您可能无法负担能够保存所有数据的服务器。我认为S3对于像你这样的案例来说是个不错的选择,原因如下:

  1. 您无需担心大型文件上传会占用您的服务器。使用Cross Origin Resource Sharing,您可以直接从客户端将文件上传到S3存储桶。

  2. 当网页请求来自不同域的内容时,现代浏览器通常会加载并行请求。如果您的图片来自yourbucket.s3.amazonaws.com并且您的网站的其余部分来自yourdomain.com,那么您的用户可能会遇到更短的加载时间,因为这些请求将并行运行。

  3. 在某些时候,您可能希望使用内容分发网络(CDN)来为您的媒体提供服务。发生这种情况时,您可以使用亚马逊的Cloudfront,对S3提供开箱即用的支持,或者您可以使用其他CDN - 如今最流行的CDN支持从S3存储桶提供内容。

  4. 这是一个你永远不必担心的问题。亚马逊负责冗余,可用性,备份,故障转移等。这是一个很大的负担,让你有其他的事情来处理,知道你的媒体是以可扩展和面向未来的方式存储(至少是可预见的)未来的)。

答案 2 :(得分:0)

更大的托管计划

寻求更大的托管计划不是永久解决方案,因为

  1. 由于静态内容,图像/视频的尺寸始终在增长。这次您的需求为1 TB,下一次它将增加更多。因此,您将再次处于相同的情况。
  2. 随着用户和静态内容的增长,您的带宽也将增加,并花费更多。
  3. 您的数据库大小不是很大,我们可以假设您没有使用太多的CPU能力和内存。因此,您将只使用更多的磁盘空间,并为未使用的更大的CPU和内存付费。
  4. 从技术上讲,从单个服务器处理所有请求不是很好。浏览器每个域的同时请求数量有限。

S3 /静态内容的云存储

对于静态内容,

s3或其他云存储是不错的选择。以下是好处。

  1. 您不必担心它会自动扩展并有大量可用空间。
  2. 如果您的网站可以在全球其他地方访问,则可以管理CDN以提高从最近位置传送内容的速度。
  3. 与传统托管相比,带宽非常便宜。
  4. 通过上传文件并从s3提供服务​​,这还将减轻服务器的负担。

与传统托管相比,这些是使用s3的一些好处。由于s3是专门为服务器静态内容而构建的。决定由您决定:)