Подтвердить что ты не робот

Heroku + Paperclip + Amazon S3 - Ценообразование?

Поскольку Heroku является файловой системой только для чтения, я не могу использовать paperclip для хранения небольшого количества файлов на сервере. Хранилище изображений для баз данных является опцией, но не особенно идеальным, поскольку это может привести к тому, что размер моего клиентского БД увеличивается с нескольких сотен КБ до более чем 5 МБ "свободного" общего предела БД (в зависимости от размера изображений).

Это оставляет Amazon S3 вероятным решением. Я понимаю, что Heroku находится на EC2 (я верю?). Формулировка цены Amazon была немного запутанной, когда речь идет о передаче файлов S3-EC2. Если у меня установлена ​​моя клиентская учетная запись S3 и разрешите им переносить файлы туда и обратно, какова будет цена?

Разве дешевле с точки зрения S3 загружать и загружать данные в контроллерах рельсов, а затем передавать данные в браузер с помощью send_file? Или было бы более целесообразно просто ссылаться прямо на изображение или pdf из браузера, как обычно?

Будет ли мой клиент платить что-нибудь вообще, так как геройку размещается на Amazon? Я искал другие вопросы, связанные с этим, но не было никаких действительно прямых ответов относительно того, какие части передачи файлов будут взиматься за.

Я думаю, что хранилище стоило бы немного (почти ничего), но как насчет пропускной способности? Спасибо:)

4b9b3361

Ответ 1

Это дешевле с точки зрения S3 для загрузки и загрузки данных в контроллеры рельсов, а затем подать данные в браузер, используя Отправить файл? Или это будет иметь смысл просто подключиться прямо к изображению или pdf из браузера, как обычно?

С точки зрения S3, да, это было бы бесплатным, потому что Heroku будет покрывать ваши трансфертные расходы. ОДНАКО: Heroku позволяет только script работать в течение 30 секунд, и за это время другие клиенты не смогут загружать сайт, так что это действительно ужасная идея. Лучше всего использовать файлы из S3 напрямую, и в этом случае ваш клиент будет передавать между S3 и конечным пользователем.

Любое взаимодействие с файлом из Heroku (т.е. метаданные, а что нет) будет бесплатным, потому что это EC2- > S3.

В большинстве случаев ваши цены будут идентичны тому, что было бы, если бы вы не использовали героку. Единственный случай, когда это изменилось бы, было бы, если ваше приложение постоянно обращается к данным непосредственно на S3 (для чтения метаданных/файлов загрузки)

Ответ 2

Вы можете использовать Paperclip на Heroku - просто не локальную файловую систему для хранения. К счастью, Paperclip может использовать s3 для хранения. В Heroku есть техническая статья здесь, которая ее охватывает.

Также, когда актив, который был загружен, отображается на странице (lookup asset_host), изображение будет загружаться непосредственно из вашего URL-адресов кодов s3, чтобы вы заплатили Amazon за запрос на получение изображения, а затем для передачи данных но и для хранения активов на s3. Вы посмотрели на s3 calculator, чтобы получить ориентировочные затраты?