我已经构建了一个Ruby on Rails应用程序,其核心涉及用户和视频。
有一些拥有管理员权限的用户可以上传视频(每次5分钟,高清)。网站上的其他用户只能观看视频;他们自己没有上传的能力。我希望每周上传大约20个视频。不超过2或3千名用户(均在北美)将观看视频。
我有两个S3铲斗,我们称之为Bucket X和Bucket Y. 我已经在Carrierwave中内置视频以将视频上传到S3 Bucket X,并使用AWS Elastic Transcoder从Bucket X获取视频,将其转码为Mp4,并将其放置在Bucket Y中。
Bucket Y中生成的视频文件正是我想要的:web优化,压缩MP4格式。如有必要,我可以直接从Bucket Y中的网址提供视频。
然而,与此同时,我正在使用AWS Cloudfront CDN快速向每个用户提供资产和用户上传的个人资料图片。
对于像我这样的网站,每周上传大约20个长度为5分钟的视频,使用Cloudfront是否有意义?
我遇到了this和that等文章,这些文章表明Cloudfront适合投放视频。我也遇到过其他人,比如this stack overflow answer by Wayne Koorts,这表明Cloudfront在提供较小的文件方面大多只是有利的,而且成本可能很高。
考虑到每周只会上传约20个视频,其余的是获取请求,我并不关心使用Cloudfront的价格。 但是,Cloudfront在这种情况下是否值得使用?如果我们谈论5分钟长的视频,它会真正加快加载时间吗?
感谢任何帮助。非常感谢你提前。
答案 0 :(得分:2)
这太宽泛了,但正如您所说,最初您的视频仅供北美用户使用,因此没有理由使用CloudFront。等到您需要服务于不同的地理位置才能将其包含在您的架构中。
请记住AWS says CloudFront的主要功能是“通过使用全球边缘位置网络提供请求,以低延迟和高数据传输速率分发内容。”
答案 1 :(得分:2)
通过在AWS Monthly Calculator中输入相应的数字,您可以大致了解CloudFront与S3的费用。请记住,无论如何,您可能会将视频存储在S3中,很可能是"数据传输"分别来自最重要的每项服务。
答案 2 :(得分:1)
如果费用不是您的问题,那么即使您的应用仅限于美国,使用Cloud Front也会非常有用。毫无疑问,如果您使用Cloud Front,则视频将加载速度更快,而直接来自S3。当Cloud Front将视频缓存到边缘位置时,它可以提高视频的加载速度。