s3

Облачное хранилище Айри

Весной этого года нам поступило большое количество запросов на хранение данных сайтов — картинок, видео, документов — и раздачу их через CDN. Запросов было существенное количество, и мы запустили свое облачное хранилище для удобства пользователей.

Что такое облачное хранилище Айри?

Необходимость хранить большие и сверх-большие объемы данных в интернете присутствует уже давно: первыми решениями были локальные файловые серверы и видео-хостинги. Но обычное файловое хранилище не решает ряд вопросов: например, файловая система не поддерживает сложную иерархию доступов, в редких случаях поддерживает версионность и дополнительную мета-информацию по файлам.

Для решения этой проблемы — обогащения файлового хранилища дополнительными данными — было придумано объектное хранилище. В таком хранилище каждый файл состоит из данных и метаинформации (владелец, права, время модификации и т.д.), объектное хранение позволяет разъединить эти части и хранить их в виде «ключ/значение». Такой подход хранения информации открывает более широкие, по сравнению с файловым хранилищем, возможности децентрализованного, распределённого хранения данных огромных масштабов с прозрачной миграцией данных, репликацией и переключением конечных потребителей между узлами объектного кластера.

Облачное хранилище Айри построено именно по такому принципу и состоит из трех основных слоев:

  • Физическое хранилище данных, уровень носителей, жестких дисков (Object Storage Device), на которых располагаются блоки бинарных данных. Каждый блок хранится в трех экземплярах на разных физических носителях.
  • Логическое хранилище данных, организация физического уровня в логическую структуру файловой системы (Rados Block Device), которое позволяет однозначно установить соответствие между физическими данными и требуемой записью ключ-значение.
  • Объектное хранилище данных, S3-совместимое, которое хранит всю дополнительную мета-информацию по объектам и реализует запись и чтение из логического хранилища данных по S3 API.

Дополнительно доступ к объектному хранилищу осуществляется через инфраструктуру Айри CDN, что обеспечивает как большую скорость загрузки данных, так и большую скорость раздачи и необходимое кэширование статических данных.

Почему S3 API?

На данный момент более половины известных сервисов хранения бизнес-данных предлагают S3-совместимые хранилища. Amazon S3 API де-факто является промышленным стандартом работы с хранением данных. Поддержка S3 API позволяет прозрачно мигрировать между хранилищами, просто изменив адрес точки входа и ключи доступа.

S3-совместимость позволяют использовать объектное хранилище Айри прямо сейчас, если вы храните данные в облаке Amazon. И сделать это в соответствие с российским законодательством и существенно дешевле (цены на хранение от 1 руб/Гб в месяц) аналогов.

Для доступа к S3-хранилищу сейчас существуют большое количество приложений и готовых библиотек, и это отлично подходит для быстрого старта использования хранилища Айри.

Какие задачи решает хранилище?

Во-первых, это хранение любой служебной информации второстепенной важности, например, логи доступа или записи с камер. Эта информация может потребоваться, но обычно через некоторое время, дни, недели или месяцы, она становится неактуальной. Загрузка этой информации в хранилище Айри, удаление устаревших данных и быстрый доступ через Айри CDN при необходимости. Например, уже сейчас логи доступа к сайтам, подключенным к Айри, и запись видео-трансляций могут автоматически выгружаться в ваше облачное хранилище Айри.

Во-вторых, это хранение пользовательских данных, изображений, видео или документов, которые требуются время от времени. Двойная физическая репликация данных гарантирует отсутствие потерь при хранении, а Айри CDN обеспечит быструю и стабильную раздачу файлов.

В-третьих, облачное хранилище может быть использовано как Push CDN — CDN с предварительной загрузкой данных — например, для раздачи терабайтных архивов или бинарных файлов. В этом случае все данные располагаются в хранилище и доступы для быстрой загрузки на территории России, СНГ и Европы. Это можно использовать и для хранения полностью статических сайтов: когда все файлы сайта можно загрузить в CDN и раздавать напрямую.

Как использовать хранилище?

Предварительно вам нужно зарегистрироваться в Айри. Хранилище доступно для всех тарифных планов Марс и выше по единой цене: от 0,033 рубля/Гб в день (1 рубль/Гб в месяц). В Личном кабинете вам нужно перейти в раздел Хранилища и создать свое хранилище. При создании будут сгенерированы ключи доступа (Access Key и Secret Key) для S3 API, доступные на вкладке Настройки.

Для загрузки файлов в хранилище вы можете использовать любое приложение или любую библиотеку, реализующую S3 API (например, для PHP) и указать в настройках:

  • Точка доступа: s3.airee.cloud
  • Адрес хранилища, bucket: (32 символа в начале адреса вашего хранилища в Личном кабинете перед .s3.airee.cloud)
  • Ключ доступа (Access Key): из настроек хранилища в Личном кабинете
  • Секретный ключ (Secret Key): из настроек хранилища в Личном кабинете

При использовании хранилища в Личном кабинете будет выведена вся статистика по нему: размер и количество объектов, трафик по домену.

Для удаления хранилища вам необходимо через приложение или по API удалить все объекты, только после этого возможно полное удаление хранилища из Айри.

Сколько стоит хранилище?

Стоимость хранилища складывается из двух частей: стоимость хранения данных, 1-2,5 рубля/Гб, в зависимости от объема. И стоимость загрузки/раздачи данных, 0,8-1,3 руб/Гб в зависимости от вашего тарифного плана. Для большинства пользователей при текущих ежедневных лимитах по трафику (от 200 Гб/день) дополнительная стоимость загрузки/раздачи данных будет нулевой, и будет взиматься только плата за хранение данных.