Приведу пример. Одно дело -- если ты это скаченное добро потом сервишь через nginx какой-нибудь во внешку "как есть". Другое -- если ты это на торрентах, например, раздаёшь.
Во втором случае у тебя софт работает с кусками файлов, и ему нужны такие вещи, например, как seek в произвольное место файла. И тогда тебе нужна полноценная ФС.
В первом случае у тебя просто разок укачать, а потом раздавать в неизменном виде файлы целиком, и тогда лучшим выбором будет s3-хранилище.
s3-хранилище - вообще интересная для меня тема. Но что-то как-то я не уверен в надёжности s3fs. А без s3fs требуется поддержка s3-хранилища в коде, а где её взять? Ну кроме как сидеть писать самому, а это время, и немалое.
У меня две основные потенциальные задачи для s3-хранилища. Качать туда файлы из интернетиков, то, что делает wget. И заливать туда файлы через вебформу.
Первое не очень критично. Можно скачать файл в local storage и потом скормить его s3cmd. А вот второе критично, поскольку хотелось бы возможность заливать файл размером больше, чем у меня есть local storage.
Пока найдено ровно одно решение, Gokapi, но оно позволяет заливать файлы только админу, а остальным юзерам - скачивать. А мне надо бы наоборот, чтобы юзеры заливали, а я скачивал. При этом Go я не знаю и потому переделать Gokapi вряд ли смогу.
Хреново то, что я не просто не занимался именно уеб програмированием, а ещё и у меня script language of choice - Питон. То есть получается - если для загрузки делать что-то самописное, то это либо учить языки с нуля, либо ставить монстрика вроде Django?
И это только 2 варианта использования шары, которые принципиально друг от друга отличаются, и следовательно реализовываются по-разному. А у тебя может быть какой-то третий. Опиши задачу, в общем.
Конкретно там, где я шару делал, оно качается, а потом процессится, сортируется, индексируется. Результаты всего этого предполагается хранить оффлайн. Там я уже плюнул на идейную чистоту юниксизма и поднял самбу.