Question: I was reading this article here <http://blog.jobspire.net/uploading-images-to-heroku/> which says : 

> 
> ... don’t upload to Heroku. At least
>  not directly. The upload will lock down our entire web worker for it’s
>  entire duration. That’s up to a minute. Unacceptable.
> 
> 
> 

And also I see all people over the internet talking about using S3 as file (images) storage solution because at some point it's scalable...

I think most of people talking about using S3 are using Heroku and I understand that Heroku has its limitations...But I am wondering if uploading images to Rails server is a bad idea even if your server is a VPS or a Dedicated Server ? 

I've seen recently a social network which store images in the server, and before the existence of the cloud or AWS (S3), how Rails developers handled image heavy sites ?

I really need an explanation because I've searched many times but not found any clear answer.

Answer: 
If you only plan to use a single server, it doesn't matter if you use S3 or the local hard drive. A local drive is faster of course, which may matter to you if you store a lot of data or many files. E.g. processing thousands of images on S3 to have a new thumbnail size tages a *very* long time, since each file needs to be downloaded, processed and uploaded.

If you plan to use multiple servers you either need to use S3 or some way to synchronize the local folders between machine. We like to use local drives with [GlusterFS](http://www.gluster.org/) for synchronization, but of course S3 is easier to set up.
Uploading to your rails server and storing the files on the local file system of that server is a bad idea. The main reason: if you ever want to run two servers, the files are only going to be on one of them and you are going to be unable to serve them.