Выбор способа хранения файлов в проекте на Symfony: файловая система или объектное хранилище?

    В рамках небольшого проекта на Symfony реализована базовая работа с файлами: их загрузка, удаление и скачивание пользователями. Возник вопрос о наиболее подходящем способе хранения этих файлов. Рассматриваю два основных варианта:

    • Хранение в файловой системе операционной системы.
    • Использование специализированного файлового (объектного) хранилища, например, MinIO.

    Со вторым вариантом на практике я пока не сталкивался.

    Аргументы за каждый из подходов

    1. Файловая система сервера

    • Простота реализации: Этот подход максимально прост в настройке и интеграции, особенно для базового функционала.
    • Минимальные требования: Не требует изучения дополнительных технологий или развертывания сторонних сервисов.

    2. Объектное хранилище (например, MinIO)

    • Освоение новой технологии: Позволяет получить опыт работы с современными инструментами хранения данных.
    • Гибкость размещения: Дает возможность хранить файлы на удаленном сервере, что может быть полезно для отделения данных от приложения.

    Важный контекст: масштабирование проекта и усложнение его архитектуры в ближайшей перспективе не планируется.

    Ключевой вопрос и просьба о совете

    Стоит ли в данной ситуации инвестировать время в изучение и внедрение объектного хранилища ради относительно простой задачи? С одной стороны, новый опыт всегда полезен, но с другой - тот же навык можно будет приобрести позже, когда возникнет реальная необходимость в более сложном проекте.

    Также хотелось бы понять:

    • Существуют ли скрытые сложности или "подводные камни" при использовании файловых серверов, которые не очевидны на первый взгляд?
    • Если вы рекомендуете использовать объектное хранилище практически в любом случае, какие конкретные решения (например, MinIO, Amazon S3) вы бы посоветовали для связки PHP и Symfony и почему?

    Буду благодарен за мнение и рекомендации опытных разработчиков, основанные на практике.