2020/06/02 18:31:47

Чек-лист: что важно учесть при использовании объектных хранилищ?

TAdviser продолжает серию публикаций в новом формате – «Чек-лист». В этих материалах мы делимся полезной прикладной информацией, содержащей советы и инструкции по применению различных технологий. На что важно обратить внимание при использовании объектных хранилищ S3, помог разобраться Георгий Мегрелишвили, исполнительный директор компании «СБКлауд»

Содержание

До начала использования

Особенности объектных хранилищ:

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

Чек-лист: что важно учесть при использовании объектных хранилищ

Преимущества объектных хранилищ: Неограниченная расширяемость; Просто организуемая репликация данных на разные площадки, что нередко используется и как сеть доставки контента (CDN); Поддержка версионности объектов; Легкий доступ к данным, так как используется протокол http(s), то вопросы совместимости с различными ОС или оборудованием не встают: получить данные можно просто из командной строки, из скрипта или из браузера; Простая миграция, как между хранилищами облачных поставщиков, так и между собственным хранилищем и хранилищем облачного поставщика; Важным плюсом является возможность добавления произвольных метаданных к каждому объекту, что позволяет сделать архитектуру приложения проще, а его логику прозрачнее.

Недостатки:

Низкая производительность (в пока еще привычном для инженеров СХД понимании). В сравнении с блочными или файловыми хранилищами отдельная операция будет выполняться крайне долго, как по причине достаточно высокой задержки на выполнение операции, так и из-за невозможности выполнить операцию над частью объекта. Невозможность или неразумность использования уже эксплуатируемых legacy-приложений.

Самые подходящие сценарии для использования объектных хранилищ:

Хранение медиа-контента с предоставлением доступа к нему для широкого круга лиц; Хранение неструктурированной гетерогенной информации; Архивы долговременного хранения

Для чего совсем не подходят объектные хранилища

Для классических реляционных баз данных.

Опасайтесь «болезни новизны»

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

CapEx в OpEx

Инвестиции в собственную ИТ-инфраструктуру, в том числе для хранения данных, – это всегда значительные расходы для бизнеса, которые окупаются небыстро. Не стоит также забывать про прямые и косвенные затраты на эксплуатацию и поддержку всех развернутых систем. Сейчас это особенно актуальна в связи с валютными рисками.

«
Переход от CAPEX к OPEX – а объектное хранение это, в первую очередь, услуга – позволяет значительно сократить издержки. Во-первых, платить приходится только за то, что действительно необходимо для поддержки бизнеса. Во-вторых, сотрудничество с провайдером позволяет обеспечить резерв ресурсов, который может быть жизненно важен при возникновении пиковых нагрузок или появлении новых бизнес-задач. Держать неограниченные ресурсы «про запас» в собственной серверной просто невозможно. В-третьих, переход в облако – это гибкость управления потреблением: объемы можно наращивать или сокращать, в зависимости от потребностей бизнеса. Объектное хранение, безусловно, не панацея – но при правильном использовании оно может сэкономить значительные средства бизнесу.
Георгий Мегрелишвили, исполнительный директор компании «СБКлауд»
»

При выборе поставщика

Что влияет на стоимость сервиса

Стоимость потребления хранилища провайдера обычно складывается из следующих параметров:

Трафик до хранилища. Учтите, что одни провайдеры тарифицируют и входящий, и исходящий трафик, другие только исходящий, третьи – ограничивают ширину полосы пропускания, четвертые закладывают свое представление о среднем сценарии использования по рынку в цену объема хранения. Важно отметить, что трафик между облаком провайдера и его объектным хранилищем обычно бесплатный. Цена объема пространств хранения. За объем платить придется неизбежно, цена зависит от количества реплик данных, метода репликации (копия данных или Erasure Coding), числа ЦОД, в которых данные будут расположены, времени предоставления доступа к данным. Например, зарубежные провайдеры для архивных данных предлагают хранилища для архивов, объекты из которых выгружаются в уровень оперативного взаимодействия в течение максимум 12-ти часов. Интенсивность взаимодействия с хранилищем (число операций put, get, select, copy и т.п.). Большинство операторов взымают плату за число операций, хотя бывают и исключения.

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

«
СБКлауд придерживается, пожалуй, наиболее простой модели: мы берем плату только за объем хранения, не тарифицируя запросы или трафик, – комментирует Георгий Мегрелишвили. – Таким образом, у нас нет скрытых платежей или ограничений использования ресурсов. При этом мы помогаем специалистам заказчика с миграцией или настройкой, чтобы эффект от использования наших ресурсов для бизнеса был максимальный.
»

Что влияет на производительность

Производительность определяется не только производительностью самого хранилища, но и пропускной способностью и задержкой интернет-доступа к нему, если таковой требуется. Для тестирования широко используются утилиты COSBench и s3tester.

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

Российский или иностранный провайдер

Когда в объектном хранилище хранятся персональные данные, следует помнить о требованиях регуляторов. Иными словами, если вы работаете с персональными данными, одним из важнейших качеств вашего облака – или облака провайдера, с которым вы сотрудничаете – должно быть соответствие российскому 152ФЗ и другим требованиям отечественных регуляторов, связанным с ПДн. Способность провайдера поддерживать техническую сложность и уникального вашего сервиса, безусловно, также важна.

При миграции

Зачастую миграция экономически целесообразна только для cloud native приложений

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