1

Я создал приложение Ruby on Rails, которое в его основе включает пользователей и видео.Использование AWS S3 самостоятельно или S3 & Cloudfront для загрузки видео

Есть несколько пользователей с правами администратора, у которых есть возможность загружать видеоролики (по 5 минут каждый, HD). Остальным пользователям сайта разрешено просматривать видео; они сами не имеют возможности загружать. Я ожидаю, что в неделю будет загружено около 20 видеороликов. Не более 2 или 3 тысяч пользователей (все в Северной Америке) будут смотреть видео.

У меня есть два S3 Ковши, давайте назовем их Bucket X и Y. Bucket я построил в Carrierwave, чтобы загрузить видео на S3 Bucket X и AWS Elastic транскодер взять видео с ковшом X, перекодировать его Mp4, и поместите его в ковш Y.

Результирующие видеофайлы в Bucket Y точно так же, как я хочу: оптимизированный в Интернете, сжатый формат MP4. В случае необходимости я мог бы подавать видеоролики прямо со своего URL-адреса в Bucket Y.

В то же время я использую CDN AWS ​​Cloudfront для быстрой доставки активов и загруженных пользователем изображений профиля каждому пользователю.

Для сайта, подобного моему, где примерно 20 видеороликов длиной 5 минут загружаются в неделю, имеет ли смысл использовать Cloudfront?

Я столкнулся с такими статьями, как this и that, которые предлагают Cloudfront подходит для показа видео. Я также столкнулся с другими, например, this stack overflow answer by Wayne Koorts, которые предлагают Cloudfront в основном только выгодно в доставке небольших файлов и могут быть дорогостоящими.

Учитывая, что в неделю будет загружено только около 20 видеороликов, а остальные получат запросы, меня не интересует цена использования Cloudfront. Но, Cloudfront даже стоит использовать в этой ситуации? Будет ли это на самом деле ускорять время загрузки, если мы говорим о 5-минутных видео?

Любая помощь приветствуется. Заранее большое спасибо.

+1

Ваша заявка служит вам во всем мире или ограничена определенной географией или страной? – error2007s

+0

Это только США.Однако я подумал, что Cloudfront имеет несколько локаций в США, что будет иметь значение, не так ли? В отличие от одного ведра S3. – Parker

+2

Да @Parker CloudFront имеет несколько локаций в США и да, обычно имеет смысл использовать CloudFront с S3, чем не использовать его, даже если вы не ожидаете большого количества трафика или большого количества кеш-файлов ... на самом деле почти беззаботный. Если он работает с S3, он будет работать с CloudFront + S3, с одной оговоркой, что CloudFront имеет ограничение на размер файла для скачивания 20 ГБ, а S3 поддерживает файлы до 5 ТБ. Неактуальный контент, как правило, будет загружаться быстрее через CloudFront из-за оптимизированной сети между краями CloudFront и S3, если браузер не будет географически близок к ведру. –

ответ

2

Это слишком широко, но, как вы заявили, что изначально ваши видео будут обслуживаться только для пользователей в Северной Америке, пока нет причин использовать CloudFront. Подождите, пока вам не понадобится работать в разных географических точках, чтобы включить его в свою архитектуру.

Помните AWS says, что основная функция CloudFront - «Распространять контент с низкой задержкой и высокой скоростью передачи данных, обслуживая запросы, используя сеть крайних местоположений по всему миру».

+0

Извините, я старался не быть слишком широким. Мой вопрос в основном сводится к тому, стоит ли Cloudfront для обслуживания 5-минутных видеороликов. – Parker

+0

Имеет ли значение, что Cloudfront имеет несколько краевых точек в Северной Америке? На странице сведений о продукте Cloudfront говорится, что в Северной Америке есть 21 крайний край. Я просто пытаюсь понять, полезно ли это для доставки видео, а не для доставки из ведра S3 в одном месте (мой - us-east-1). – Parker

+1

CloudFront абсолютно готов обслуживать ваши 5-минутные видеоролики ** ЕСЛИ ** вы испытываете очень низкую скорость, чтобы обслуживать своих пользователей. Вы хотите использовать CloudFront для доставки контента конечным пользователям с меньшей задержкой. Мой совет: Подождите, пока ваш бизнес действительно будет нужен, иначе вы столкнетесь с некоторыми ненужными затратами на оптимизацию. :) – imTachu

2

Вводя соответствующие цифры в AWS Monthly Calculator, вы можете получить приблизительное представление о том, сколько стоит CloudFront vs S3. Помните, что вы, вероятно, сохраните видео в S3 в любом случае, скорее всего, наиболее важна «передача данных» из каждой службы.

+0

Спасибо за подсказку, я проверю это. Я не слишком беспокоюсь о стоимости. У вас есть какая-нибудь подсказка, насколько быстрее видео загрузится с Cloudfront, а не прямо с S3? Будут ли они даже загружаться быстрее, учитывая, что это 5-минутные видеоролики, о которых мы говорим, а не изображения и таблицы стилей? – Parker

+1

@Parker Извините, у меня нет никаких цифр. Я предполагаю, что это время загрузки от запроса до тех пор, пока не появится первый кадр, который имеет значение, если это приложение для потоковой передачи, а оставшаяся часть - 5 минут. Более того, вполне вероятно, что пропускная способность ваших пользователей будет устанавливать предел. Я предлагаю вам сделать PoC (есть полезные рекомендации в ссылках, которые вы предоставили), чтобы увидеть, что лучше всего работает. – matsev

1

Если стоимость не является проблемой для вас, то использование Cloud Front будет выгодно, даже если ваше приложение ограничено только США. И определенно видео будет загружаться быстрее, если вы используете Cloud Front по сравнению с напрямую с S3. Поскольку Cloud Front кэширует видео в области краев, он улучшает скорость загрузки видео.

+0

Благодарим вас за ответ. – Parker

Смежные вопросы