Среди предлагаемых сервисов можно найти платные и бесплатные, популярные и не очень, удобные и так себе. Одним словом, рынок насыщен предложениями, вот только выбрать действительно адекватный инструмент бывает не так просто, как хотелось бы.
Поэтому мы решили рассказать о сервисе, способном решать различные задачи. Речь пойдет об услуге облачного объектного хранилища IT-GRAD Swift Cloud Storage, предлагаемой компанией «ИТ-ГРАД». Но сначала немного теории.
Разница в типах хранилищ
Чтобы понять, как работает сервис на основе объектного подхода, уделим внимание понятию хранилище объектов и рассмотрим, чем оно отличается от хранилищ, использующих блочный и файловый доступ.
# Объектное хранилище
Облачное объектное хранилище позволяет клиентам хранить данные в виде объектов в плоском пространстве имен. Здесь отсутствует файловая система, а объекты имеют уникальные идентификаторы, благодаря которым извлекаются необходимые данные. Объектная система хранения полностью виртуализирует физическую реализацию логическим представлением и позволяет работать с данными наиболее обобщенным способом.
Механизм, заложенный в принципах работы объектных хранилищ, схож с регистрацией багажа на рейс в сравнении с проносом его в виде ручной клади. В случае сдачи багажа (хранения данных в виде объектов), чемодан помещается на ленту, регистрируется в системе и уезжает в багажный отсек. Быть в курсе дальнейшей истории следования чемодана вовсе не обязательно, вы просто получаете его на стойке выдачи уже по месту прибытия. В случае с ручной кладью пассажир должен точно знать в любое время, где она находится.
Плюсы: позволяет хранить практически бесконечные объемы данных в исходном формате, обеспечивая безопасность, надежность, высокую доступность, масштабируемость и гибкость управления. Характеризуется относительно низкой стоимостью реализации.
Минусы: нельзя использовать под БД и для совместного редактирования файлов. В объектные хранилища можно только загружать и выгружать файлы без возможности их изменения или переименования (можно выгрузить, изменить и снова загрузить).
# Блочное хранилище
Блочные системы хранения позволяют использовать хранилище как жесткий диск, а значит, выполнять операции как с любым логическим носителем, будь то форматирование, установка ОС или что-то другое. При блочном подходе файлы разбиваются на отдельные части равной величины и размещаются на диске по заданному адресу. Максимальный эффект от блочного доступа к данным получают приложения, требующие высокой производительности, например базы данных или почтовые системы. В сетях доступ к блочным узлам организуется средствами SAN за счет использования протоколов Fibre Channel, iSCSI или AoE. Блочное хранилище зачастую используется для хранения образов виртуальных машин и пользовательских данных.
# Файловое хранилище
Файловый доступ не уступает по популярности блочному и широко используется в обиходе. Сетевые хранилища документов, файлообменные ресурсы, домашние папки пользователей – все это файловые варианты хранения. Здесь мы никуда не уходим от файлов и папок, образующих иерархическую структуру, доступ к которой организуется через соответствующие клиентские интерфейсы.
Плюсы: удобство и простота работы с небольшими объемами данных, относительно низкая стоимость.
Минусы: ограниченность и трудность управления в условиях роста количества хранимых данных.
Каждый из рассмотренных вариантов по-своему хорош, но применимость того или иного типа хранилища зависит от характера решаемых задач и используемого программного обеспечения. Также можно заметить, что, несмотря на массовое использование файлового и блочного хранилищ, объектный подход является достойной альтернативой столь привычным технологиям.
Три кита – данные, метаданные и unique ID
Говоря об объектных хранилищах, важно понимать, что помимо хранения объектов в плоском пространстве имен к ним могут прикрепляться метаданные (аналог свойств объекта) и агрегироваться в контейнеры. Таким образом, любой объект представляет собой информативное трио, состоящее из данных, метаданных и уникального идентификатора в виде присвоенного адреса. Получить доступ к такого рода хранилищу можно с помощью браузера или URL, поскольку API репозитория основан на использовании протокола HTTP.
Поскольку в объектном хранилище нельзя изменять файлы, вместо традиционных приложений для работы с файлами используется специальный API. К тому же здесь отсутствует классическая иерархия каталогов, а все объекты хранятся в Bucket, представляющем собой аналог точки монтирования в файловой системе. Именно к нему может быть предоставлен доступ в виде стандартного URL. При этом Bucket не может быть вложен друг в друга, ровно так же, как в одном хранилище не могут существовать два одинаковых Bucket, их имена должны быть уникальными. Примечательная особенность – хранилище объектов может быть распределено по большому количеству серверов, при этом путь доступа к каждому из объектов имеет следующую структуру:
Поскольку в объектном хранилище нельзя изменять файлы, вместо традиционных приложений для работы с файлами используется специальный API. К тому же здесь отсутствует классическая иерархия каталогов, а все объекты хранятся в Bucket, представляющем собой аналог точки монтирования в файловой системе. Именно к нему может быть предоставлен доступ в виде стандартного URL. При этом Bucket не может быть вложен друг в друга, ровно так же, как в одном хранилище не могут существовать два одинаковых Bucket, их имена должны быть уникальными.
Примечательная особенность – хранилище объектов может быть распределено по большому количеству серверов, при этом путь доступа к каждому из объектов имеет следующую структуру:
account/container/object,
где object (объект) – уникальное имя, account (аккаунт) и container (контейнер) – способ группировки объектов.
Особенности услуги IT-GRAD Swift Cloud Storage
Как видно из названия, в основе услуги IT-GRAD Swift Cloud Storage лежит протокол OpenStack Swift, а это говорит о том, что сервис открывает широкие возможности интеграции с различными приложениями.
Услуга позволяет сохранять резервные копии файлов, сайтов, баз данных, а также просто статичного контента (видео, аудио, изображения и др.) при помощи приложений, реализованных на базе технологии OpenStack Swift. К тому же существенным плюсом сервиса является то, что используемое в его основе хранилище адаптируется под увеличивающиеся нагрузки и автоматически масштабируется. Помимо озвученного, облачное хранилище может использоваться для раздачи статического контента и хранения рабочих файлов проектов.
Что получает клиент
Облачное хранилище по протоколу Swift API является услугой на основе совокупности функционирующего серверного и сетевого оборудования, специального программного обеспечения Openstack Swift и администрирования задействованных систем. Используя такой подход, клиент получает возможность размещать файлы в облаке средствами HTTP-запросов к Swift API (Object Storage API), протокола FTP и частично поддерживаемого S3 API.
Дополнительные особенности сервиса:
- IT-GRAD Swift Cloud Storage – это отказоустойчивая инфраструктура, предоставляемая под ключ в день обращения.
- При использовании IT-GRAD Swift Cloud Storage нет необходимости приобретать собственную систему хранения данных, тратить на это время и средства.
- Работа с хранилищем организуется с помощью API-интерфейса.
- Для безопасной передачи данных с помощью Swift API используется шифрование трафика (SSL).
- Все варьируемые характеристики и качественные показатели услуги фиксируются в соглашении об уровне обслуживания (Service Level Agreement, SLA).
- Для работы с облачным хранилищем требуется аутентификация, которая реализована с помощью службы Keystone. Аутентифицировавшись в службе Keystone через Identity API, пользователь получает токен, который необходимо указывать в запросах к облачному хранилищу. В рамках услуги поддерживается Identity API версий 2 и 3.
Заключение
В этой статье мы рассмотрели особенности облачной услуги IT-GRAD Swift Cloud Storage, уделив внимание принципам работы объектного хранилища. Следите за новыми материалами первого блога о корпоративном IaaS. В следующей статье поговорим о том, как выполнить подключение к репозиторию объектов, используя Swift API, протокол S3 и FTP.