I am working on a Rails application that supports file uploads and where users can subsequently modify these files. For example, they can change the contents of a text file or perform basic manipulations with images, such as resizing, cropping, rotating, etc.
Currently, the files are stored on the same server where Apache works with Passenger to serve all application requests.
I need to move user files to a dedicated server in order to distribute the load on my installation. At the moment, our users upload about 10 GB of files per week, which is not a huge amount, but in the end it adds.
And so I am looking at various options for implementing communication between application servers and a file server. I would like to start with a simple and flawless solution. If it scales later on multiple file servers, I would be more than happy.
Here are a few different options that I studied:
- Amazon S3. It’s hard for me to implement this for my application. This adds to the complexity of “downloading” the downloaded file again (perhaps several times later), please remember that users can modify files and images using my application. Other than that, it would be nice to "set it and forget it."
- - RPC-, . , . , , GitHub, , , , , .
- MogileFS . ( :).
, (, , ) , - .