Object Storage // Хранилище S3
VK Cloud: Sales Manager
Часто возникает необходимость в хранении больших массивов неструктурированных данных, например: фото, видео, логи и резервные копии. Многие из них нужны только время от времени, а некоторые необходимо хранить в удобном и доступном месте. Для решения подобной задачи подойдет объектное хранилище.
В сравнении с традиционными облачными хранилищами, объектные обладают рядом особенностей, а именно:
- Рассчитаны, прежде всего, на взаимодействие с приложениями через HTTP API, а не напрямую с пользователем;
- Объекты в них не редактируются. Чтобы изменить объект, придётся загрузить в хранилище новую версию. Это неудобно, если объекты большие или часто изменяются;
- Обладают плоской структурой: все хранимые объекты получают уникальный идентификатор;
- Объекты хранения располагаются как отдельные сущности и доступны через Web.
Благодаря этим особенностям объектные хранилища выбирают многие крупные проекты, которым необходимы:
- Быстрое масштабирование. Архитектура объектного хранилища и отсутствие связности между хранимыми объектами позволяет быстро реагировать на необходимость увеличения или уменьшения ресурсов. В VK Cloud, например, доступный объем исчисляется петабайтами.
- Надежность хранения данных. Хранимые объекты реплицируются как внутри дата-центров, так и на внешних серверах. В случае непредвиденных обстоятельств и форс-мажорных ситуаций надежность хранения данных составляет 99,99999%.
- Доступность сервиса. VK Cloud предоставляет сервис для хранения объектов по протоколу S3 с SLA 99,95%, обеспечивая финансовые гарантии.
- Гибкость доступа. Объекты имеют уникальные идентификаторы и доступны по ссылкам для пользователей.
- Разные интерфейсы. Веб-интерфейс облачной платформы, интерфейсы файловых менеджеров, S3 SDK и AWS CLI (Command Line Interface).
В VK Cloud используется S3-совместимое объектное хранилище. Благодаря этому Object Storage способен работать с большим количеством существующих инструментов, созданных для S3. Панель управления сервисом в личном кабинете VK Cloud выглядит так:

Объектная модель хранилища основана на бакетах — контейнерах с данными. Бакеты могут быть настроены с различными уровнями доступа и политиками безопасности, что позволяет контролировать, кто именно может просматривать или изменять данные внутри конкретного бакета.
Ниже перечислим функции Object Storage и примеры их применения:
WORM (Write Once Read Many)
Записал один раз — читай сколько угодно: удалить или изменить файл нельзя.
Пример: Финансовая отчетность, которую по закону нельзя изменять 5 лет после утверждения.
Object Lock
Временная блокировка объекта от удаления или изменения на заданный срок.
Пример: Резервные копии с защитой от удаления или изменения на 30 дней.
Версионирование
Сохранение всех версий файла при каждом изменении.
Пример: История изменений договора — можно откатиться к версии от любой даты.
Lifecycle Policies
Автоматический перенос данных между классами хранения по расписанию.
Пример: Логи старше 30 дней переезжают в "холодное" хранилище для экономии.
Multipart Upload
Загрузка больших файлов частями с возможностью докачки.
Пример: Загрузка видео 50 ГБ — если оборвется интернет, продолжим с того же места, когда соединение восстановится.
Access Control Lists (ACL)
Гибкие права доступа на уровне объектов и бакетов.
Пример: Папка с маркетинговыми материалами доступна всем, а с финансовой отчетностью — только бухгалтерии.
