Существует несколько определений SDS. Наиболее простым и понятным из них мне представляется следующее: «Программно-определяемая СХД — это способ построения системы хранения данных на базе серверов стандартной архитектуры и обычных дисков, как встроенных, так и внешних дисковых массивов(JBOD)» (цитата из «Словаря менеджера» на сайте компании Mirantis). Поставщиками таких систем являются производители традиционных СХД и серверов (это и понятно, лучше возглавить не слишком благоприятное движение, чем потом потерять все), разработчики гипервизоров виртуализации (Citrix, Microsoft, VMware), а также компании, специализирующиеся исключительно на SDS. Среди последних есть как коммерческие структуры, так и команды, работающие по модели FOSS (free and open source software — ПО с открытым кодом и СПО).
В последнее время интерес к программно-определяемым СХД перешел в сугубо практическую плоскость, причем это относится к самым разным категориям заказчиков. Вызывает удивление лишь то, что данный процесс идет не так быстро, как мог бы.
Вызовы современности
Пожалуй, главный вызов состоит в скорости увеличения объемов данных. В начале нашего столетия они удваивались каждые 18 месяцев, в последние несколько лет говорят уже о ежегодном их утроении.
Столь значительное ускорение связано с развитием Интернета вещей, а также с тем, что данные видеонаблюдения требуют довольно продолжительного хранения. Зато данные эти позволяют получать весьма ценную информацию, так как появились методы их анализа в реальном времени. Причем такие аналитические системы способны практически сразу давать осязаемый эффект, будь то выявление преступлений и правонарушений по горячим следам или обнаружение покупательских предпочтений, благодаря чему могут увеличить свою выручку магазины, аптеки и кафе.
Еще одним вызовом стал значительный рост количества систем, работающих в мультиарендном (часто термин multitenancy оставляют без перевода) режиме. Этому способствует развитие облачных услуг, прежде всего на базе модели «ПО как услуга» (SaaS). Раньше в таком режиме работали только довольно ограниченно применяемые системы высокопроизводительных вычислений или обработки «тяжелого» медиаконтента, например видео в высоком разрешении.
Между тем ИТ-бюджеты если и растут, то куда медленнее, чем объемы данных. Даже в благополучные нулевые темпы увеличения затрат на ИТ во всём мире увеличивались на 5–7% в год. А по мере того, как дела в экономике начинают идти не слишком хорошо, ИТ-бюджеты как минимум перестают расти, а то и сокращаются.
Так чем же плохи традиционные СХД?
Недостатков у привычных СХД немало. Главный из них — высокая конечная цена. Для удовлетворения нужд более-менее крупной компании необходимо приобретать систему не ниже среднего (middlerange) уровня. А стоят такие решения многие десятки, а то и сотни тысяч в твердой валюте. Более дешевые младшие модели не подойдут вследствие недостаточной производительности и функциональности. Со временем же скорее всего придется потратиться еще и на лицензирование дополнительных функций. Тут очень многое зависит от политики разных вендоров, что добавляет головной боли ИТ-специалистам при выборе и сайзинге систем.
При этом срок службы традиционных СХД не так уж велик и очень редко превышает тот, что установлен вендором в качестве гарантийного. Данное оборудование чрезвычайно быстро морально устаревает, а возможности его модернизации ограничены. Таковы издержки прогресса в этой области. И действительно, системы где-то трехлетней давности рассчитаны на использование высокоскоростных магнитных дисков SAS (serial attached SCSI) и имеют очень слабую поддержку флэш-накопителей. А SAS-диски с частотой обращения шпинделя 15 000 об/мин живо напоминают известную шутку о сале в шоколаде, которое дорого и невкусно. И действительно, у этих дисков небольшая по нынешним меркам емкость, они дороги, не слишком долговечны, а их быстродействие по сравнению с SSD-накопителями оставляет желать много лучшего. И в этом нет никакого злого умысла, ведь три года назад никто не думал о том, что спустя пару лет твердотельные диски существенно подешевеют… Но что самое скверное, заменить устаревшие диски на новые не так уж и просто, поскольку устаревшие контроллеры будут обращаться с SSD-накопителями как с обычными винчестерами, что самым пагубным образом будет влиять на быстродействие и срок службы.
Кроме того, многие СХД имеют существенные ограничения по объему оперативной памяти. Стоит также иметь в виду, что далеко не все вендоры допускают саму возможность самостоятельной модернизации СХД.
Всё сказанное означает, что традиционные СХД очень быстро достигают «потолка», выше которого масштабировать их невозможно. И выходом тут может быть только приобретение системы более высокого класса, которая стоит уже других денег.
Можно возразить, что существуют средства виртуализации СХД, которые позволяют продлить жизнь устаревшим системам. Но они представляют собой довольно сложные и дорогостоящие программно-аппаратные комплексы.
Кроме того, традиционные СХД, особенно прежних лет выпуска, громоздки. Многие заказчики выбирали программно-определяемые решения только лишь потому, что для их размещения достаточно десяти юнитов в стандартном монтажном шкафу-стойке, тогда как традиционный комплекс занял бы две стойки как минимум. Не надо напоминать, что место в ЦОДе является очень ценным и дорогостоящим ресурсом. Это в равной степени относится как к собственному ЦОДу, так и к внешнему.
Традиционные СХД, что бы ни говорили вендоры, не могут быть универсальным решением. Лишь очень небольшая их часть способна работать в мультиарендном режиме, причем речь идет о довольно специфичных и дорогих системах, использование которых для нужд хранения таблиц реляционных СУБД будет сродни стрельбе из пушки по воробьям.
Наконец, использование СХД требует подготовленного, а следовательно, дорогостоящего и крайне дефицитного персонала. При этом навыки, полученные при работе с оборудованием одного вендора, будут неприменимы к системам другого. Более того, даже разные продуктовые линейки одной и той же компании могут иметь серьезные различия в том, что касается администрирования и особенностей эксплуатации. А ошибки чреваты потерями данных и простоями, что автоматически ведет к прямым убыткам. Только по этой причине очень многие пытались отложить внедрение СХД и долго держались за локальные диски серверов.
И, надо сказать, перечисленным выше недостатки традиционных СХД не исчерпываются. При желании нетрудно найти и другие, и именно они, вполне возможно, для кого-то окажутся наиболее критичными.
Чем хороши программно-определяемые СХД
В докладе IDC «Программно-определяемые системы хранения данных — реализация корпоративной ИТ-инфраструктуры нового поколения», выпущенном в ноябре 2014 года, аналитики Аших Надками и Карла Аренд указали на следующие преимущества программно-определяемых СХД (цитата по http://i.dell.com/sites/doccontent/business/solutions/brochures/ru/Documents/249383_RU_Web.pdf):
- «повышение автономности и гибкости при закупке ресурсов хранения данных (гибкость закупок позволяет ИТ-организациям выбрать подходящую физическую или виртуальную аппаратную платформу для развертывания программно-определяемой СХД);
- экономические преимущества от стандартизации инфраструктуры хранения данных на недорогих серверах и в JBOD-системах отраслевого стандарта;
- комбинирование и согласование аппаратных платформ и нагрузок нескольких поколений, а также разделение циклов обновления аппаратного и программного обеспечения, позволяющее ускорить возврат инвестиций в инфраструктуру хранения данных».
К этому можно добавить, что использование программно-определяемых СХД является одним из путей импортозамещения. Можно построить систему практически любого уровня с использованием серверного оборудования и дисковых полок любых производителей, в том числе и российских. Благо существует ПО для построения программно-определяемых СХД со свободными лицензиями, на распространение которого нет никаких ограничений. Например, такое решение входит в популярный комплекс для создания облачных сред OpenStack, составной частью которого является в том числе и файловая система Ceph, также весьма популярная для построения территориально распределенных программно-определяемых СХД.
При этом в качестве ресурса хранения можно использовать и унаследованные традиционные СХД. Для этого нет необходимости приобретать дорогие виртуализаторы. Да, производительность старой СХД вряд ли будет выдающейся, но для хранения резервных копий ее вполне достаточно. Естественно, при условии, что в серверной хватает места и показатели энергоэффективности старой СХД не слишком удручающи.
Экономические преимущества программно-определяемых систем хорошо иллюстрирует следующий пример. Программно-аппаратный комплекс, построенный компанией DataCore из двух физических серверов Lenovo System x3650 M5 стандартной архитектуры с Windows Server, где было установлено восемь жестких дисков и шестнадцать SSD-накопителей, показал удельную стоимость одного IOPS в 8 центов, а время отклика — в 0,25 мс (см. рисунок). Стоимость всего этого комплекса составила около 39 тыс. долл., для его размещения было достаточно десяти юнитов в стандартной монтажной стойке. Для сравнения: традиционные СХД с теми же показателями по функциональности, емкости хранения и отказоустойчивости разработки EMC, NetApp или HP обошлись бы раз в пятнадцать дороже, а для их размещения необходимо выделить две стойки полностью. Платой за более низкую цену было небольшое, приблизительно на треть, снижениепроизводительности. И то при более тщательном проектировании комплекса этот недостаток можно исправить, при этом не слишком увеличив стоимость всего решения. Благо по возможностям модернизации нет никаких ограничений. Именно по этой причине в компании NTT Communication Russia выбрали программно-определяемое решение. «За счёт интеграции технологий Mellanox и Ceph мы получили возможность гибко наращивать хранилище без дополнительных затрат на связь Infiniband», — прокомментировал Максим Берёзин, руководитель виртуального дата-центра КРОК, результаты проекта по модернизации облачной инфраструктуры с использованием технологий программно-определяемых СХД.
Как видно, преимущества программно-определяемых СХД наиболее значимы для двух противоположных типов предприятий. С одной стороны, это относительно небольшие фирмы и филиалы с ограниченными средствами, а с другой — поставщики облачных сервисов и очень крупные компании, которым необходимы решения с высоким уровнем масштабируемости, в том числе и территориально распределенные. Однако и те, кто находится между этими полюсами, найдут что-то для себя полезное.