4 ms·
Prolly not the place to ask this...but I will go ahead anyway...I recently heard that if you have a Rails app that will be accepting files from users (e.g. say
by marcamillion 16y ago
Prolly not the place to ask this...but I will go ahead anyway...I recently heard that if you have a Rails app that will be accepting files from users (e.g. say images/videos being uploaded) Heroku is not the best host to use.
Anyone have any thoughts/experiences with that? Is that complete rubbish or is there truth to it and why?
- grahamr 16y agoI use the paperclip gem and store files on S3 with my Heroku apps and it works great. I believe this approach is very common.
- marcamillion 16y agoI too am implementing paperclip...but I am wondering about backing up the uploads. How do you backup those uploads? I was thinking that I would store the first copy on the host - then push them to s3 for backup (and maybe 1 other CDN, just to be ultra paranoid). But, it seems to me, that if you are just passing through Heroku altogether - that removes one point of fault tolerance and redundancy - right?
- nborgo 16y agoI'm guessing they said that because Heroku doesn't let you save files to their system. You have to use something like s3. Other than that, I see no reason why someone would say that. You can save things to the tmp directory for a little while. The files should last long enough to do some work on them. For example, I've had an app parse an uploaded XML file that gets saved in tmp. This might not be a good practice, but I don't feel like setting up anything special for that app.
- tpz 16y agoAFAIK, if you have a Rails app that will be accepting files from users, Rails is probably not the best thing to use. Ruby likewise, short of using something evented (and I say this as someone thoroughly enjoying working with both Ruby and Rails.) Seeing as you'll be tying up processes rather quickly that way, no? That aside for the moment, and based on your S3-related comments nested below, I thought I might pop by to mention that I (using Rails on Heroku) have been handling uploads by using direct pre-authorized posting to S3 and it has been very nice to work with.
- mnutt 16y agoIf you're using something like Passenger, I believe it does the upload in nginx/apache to a tempfile and then hands it off to Rails.
- tpz 16y agoThanks for that bit of info. At the moment things like Passenger are obscured from my view/concern, as I'm not managing the servers myself, but should that change I'll definitely keep that tidbit in mind.
- marcamillion 16y agoWhat I am handling is basically what Basecamp is handling. If Ruby and Rails can manage Basecamp, then it sure can manage what I am doing. It's not so much the S3 storage I am concerned about. It's more the allowing me to backup everything properly, concern I have.
- tpz 16y agoRegarding backup, I definitely understand the feeling.