Heroku + Скрепка + Amazon S3 - Цены? - PullRequest
21 голосов
/ 08 марта 2011

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

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

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

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

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

Ответы [ 2 ]

11 голосов
/ 08 марта 2011

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

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

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

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

1 голос
/ 08 марта 2011

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

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

...