❓Неоднократно получал вопросы на тему современных S3 (Simple Storage Service) совместимых хранилищ. Для чего они нужны, почему такие популярные и чем лучше того же NFS или SMB?
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Консерваторы считают это хипстерской поделкой для девопсов, которые не хотят и не умеют ни в чём разбираться, а хотят просто денежки чужие заплатить и получить результат, не прилагая усилий.
Я неоднократно в комментариях отвечал на этот вопрос, поэтому решил вынести его в отдельную заметку и своими словами пояснить, чем удобны подобные хранилища и за счёт чего завоевали популярность.
Замечал, что некоторые люди путают и считают, что когда речь идёт о S3 хранилище данных, подразумевается объектное хранилище Amazon S3. Да, Amazon придумал и внедрил подобное хранилище, оснастив его S3 RESTful API. Сейчас появилось огромное количество продуктов и сервисов, которые на 100% поддерживают S3 API. Именно их и называют S3 хранилищами. Можно выбирать на любой вкус и кошелёк. Практически у всех крупных провайдеров есть подобный сервис.
➕Преимущества объектного хранилища S3 (Object storage S3)
- Возможность быстро обратиться к файлу по его идентификатору, получить его метаданные. При этом в бэкенде у хранилища может быть всё, что угодно, API запросов будет везде одинаковый.
- Удобные для провайдера возможности тарификации в зависимости от активности клиентов. Это позволяет клиентам получать необходимый объём, линейно его изменяя, и платить только за потребляемые ресурсы: объём, трафик, количество запросов.
- Данные могут храниться в отдельных контейнерах со своими настройками доступа, хранения, производительности и т.д. То есть их удобно структурировать и разделять информацию по различным типам.
- Все объекты хранилища располагаются в плоском адресном пространстве, без иерархии, которая присутствует в обычной файловой системе. Это упрощает доступ и работу с файлами. Нет проблем с ограничением на длину пути к файлу или с именем файла.
➖Минусы S3
- Больше накладных расходов на хранение информации.
- Ниже скорость работы с файлами по сравнению с блочными хранилищами.
Несмотря на то, что хранение файлов в объектных хранилищах дороже, чем в блочных или файловых, за счёт более гибкой и точной тарификации для клиента это всё равно выходит выгоднее, так как он платит только за то, что реально использовал. А минус в скорости работы компенсируется простотой горизонтального масштабирования S3 хранилищ.
❗️Нужно хорошо понимать, что S3 - это не про скорость доступа, а про объём и унификацию.
Расписал всё своими словами. Надеюсь понятно объяснил. На практике S3 лучше всего подходит под хранение статических файлов больших сайтов, архивов видеонаблюдения, логов, бэкапов. Конкретно я именно для холодных бэкапов их использую. Обычно это бэкапы бэкапов, копируются с помощью rclone.