Программно-конфигурируемую СХД SDS (Software-Defined Storage) часто путают с гиперконвергентной инфраструктурой HCI (Hyper-Converged Infrastructure), потому что и то и другое решение абстрагирует систему хранения от оборудования уровнем ниже. Оба решения работают на стандартных серверах, оба хорошо подходят для решений виртуализации. Поэтому многие профессионалы часто используют одно понятие вместо другого.

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

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

Что такое гиперконвергенция

Вендоры внесли достаточно много путаницы в этот вопрос. Часть их считают, что это вычисления и хранение данных в едином модуле, но это далеко не исчерпывающее определение.

Традиционная и гиперконвергентная структура

Традиционная и гиперконвергентная структура

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

Гиперконвергентные системы дают следующие преимущества:

  • Гибкость: легкость масштабирования вверх или вниз в соответствии с изменениями требований к ресурсам.
  • Снижение стоимости: гиперконвергентная инфраструктура дает возможность снизить капитальные затраты за счет более низкой удельной стоимости оборудования и меньших операционных расходов, поскольку требуется меньшее число персонала, а квалификация его при этом может быть ниже.
  • Высокая доступность: система стандартных узлов обладает функцией автоматического резервирования, модификация ПО производится без простоев системы.
  • Защита данных: автоматическое защитное резервирование означает, что данные не привязаны к одному уязвимому элементу оборудования.
  • Эффективность данных: гиперконвергентная инфраструктура снижает требования к объему хранения, полосе пропускания и IOPS.
  • Ориентация на виртуализацию: гиперконвергентные системы не просто облегчают виртуализацию, они именно для нее и разрабатывались.

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

Что такое программно-конфигурируемая СХД (SDS)

Общая архитектура SDS

Общая архитектура SDS

Наиболее распространенная модель SDS – это пул СХД общего пользования на стандартных серверах с программным уровнем, который представляет исходный объект хранения (обычно LUN или «том», volume) для приложений. Цель SDS – абстрагирование уровня управления от физического оборудования СХД, обычно путем создания общего пула СХД на базе стандартных серверов. Это избавляет от необходимости иметь дело с традиционным оборудованием СХД, т. к. оно скрыто под программным уровнем. Однако эти СХД управляются отдельно от серверов или гипервизоров.

SDS может быть использована для многих сценариев. Проблема в том, что многие вендоры решений SDS часто называют их «гиперконвергентными». Но это всего лишь отдельные СХД, и это очень важно понимать при выборе инфраструктурной платформы.

Преимущества SDS:

  • Независимость от оборудования: нет привязки к вендору.
  • Гибкость: архитектура может эволюционировать программным путем.
  • Интеграция: нет раздельных систем, максимизация использование ресурсов
  • Доступность: быстрая модификация элементов без остановки системы.
  • Интеллектуальность: оптимизация использования существующих и новых систем.

Как отличить SDS от HCI

Как и в традиционных СХД, ресурсы SDS должны управляться независимо от виртуальных машин. Решение SDS предоставляет узлы LUN или тома (volumes), которые нужно отображать в хранилище данных виртуальной среды. При создании виртуальной машины необходимо обеспечить ей доступное СХД либо назначить ей хранилище в другом местоположении. Это имеет значение для определенных приложений, и важно не путать эти два подхода.

Гиперконвергенция – это больше, чем СХД. Здесь нужно управлять только виртуальными машинами, контейнерами или тем и другим вместе. Это тоже программно-конфигурируемая инфраструктура, но она ориентирована именно на виртуальные машины и контейнеры, в отличие от СХД. Это действительно гиперконвергентная инфраструктура, где все управляется на уровне виртуальных машин. Здесь уже не нужно отдельное управление узлами LUN или томами.

Как видим, если в HCI основной акцент сделан на аппаратное решение (интеграция всего комплекса оборудования в одном аппаратном модуле, к которому привязано и программное решение тоже), то в SDS главное место занимает программируемый подход, а аппаратные решения уже вторичны. Это видно из двух рисунков выше.

Какая инфраструктура нужна в том или ином случае

IT-инфраструктура может иметь целый спектр различных моделей управления. С одной стороны, это традиционная 3-уровневая архитектура, с серверами, СХД и сетевым оборудованием. Для управления ей нужна команда узких специалистов. С другой стороны – модель DevOps с автоматизированной инфраструктурой, где никому не нужно заботиться о ее повседневной работе, поскольку она просто работает, как холодильник на кухне.

Зависимость модели управления от инфраструктуры

Зависимость модели управления от инфраструктуры

Программно-конфигурируемая СХД SDS

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

Гиперконвергентная инфраструктура HCI

HCI абстрагирует оборудование СХД, сети и вычислений и представляет эти ресурсы непосредственно гипервизору в присущем ему формате. Например, в HCI vSphere компании VMware, СХД представлена просто как объект хранения datastore. Кластер HCI не требует для управления много ресурсов. Если нужно что-то изменить, то это делается из единой для всей инфраструктуры консоли. Это может сделать IT-менеджер без участия узкого специалиста.

Как SDS и HCI влияют на капитальные и операционные затраты

Эти две архитектуры разнятся по затратам, особенно – операционным. Прежде чем сделать выбор в пользу того или иного решения, важно понимать это.

SDS может снизить капитальные затраты, но повышает операционные

Большинство решений SDS работают на стандартном серверном оборудовании. Это значит, емкость хранения в систему можно добавлять постепенно, по мере роста потребности в объемах хранения – часто просто подключением дополнительных дисков.

Основные капзатраты при этом приходятся на сами диски. Некоторая часть из них определяется требованиями производительности приложений. Например, если требуется задержка менее 1 миллисекунды, это потребует как минимум недорогих SSD-дисков NVMe или PCI. Однако то, насколько эффективно SDS использует СХД, также оказывает большое влияние на капитальные затраты (что также относится и к HCI). Решения с более эффективным сжатием, дедупликацией и возможностью контроля таких вещей, как фактор репликации, могут снизить уровень капитальных затрат.

Операционные затраты на администрирование SDS составляют значительную часть всех затрат. Для таких решений необходим как минимум один, а лучше несколько специалистов по СХД. Кроме того, ввод в работу, администрирование и оптимизация СХД требуют определенного времени. В этом отношении SDS ненамного лучше обычных массивов хранения.

Гиперконвергенция снижает капитальные и операционные затраты – если сделан правильный выбор

Как и SDS, HCI может использовать стандартное оборудование и тем самым снизить капитальные затраты почти на 80 % по сравнению с традиционной трехуровневой архитектурой. Но при этом есть опасность скрытых расходов.

Модульные решения часто приводят к тому, что добавление дополнительной емкости или дополнительной мощности процессора выражаются в добавлении новых модулей. Это ограничивает гибкость в том, чтобы закупить соответствующее количество оборудования в начале и при последующем добавлении емкости. Так закупается больше вычислительных ресурсов или СХД, чем нужно. Модульные решения также обходятся гораздо дороже при апгрейде, потому что нужно заново закупать те модули, оборудование которых жестко привязано к софту.

HCI также исключает необходимость в администрировании СХД, поэтому даже IT-менеджер без узкой специализации может выполнить эту работу. Ввод большего объема СХД делается очень просто, что может снизить операционные расходы до 60 % по сравнению с традиционными СХД или даже SDS.

Критерии выбора решения – тип приложений и режим администрирования

HCI практически всегда является лучшим выбором для приложений виртуализации. Это решение разрабатывалось именно под виртуализацию и предоставляет ресурсы непосредственно гипервизору. Поэтому для решений виртуализации, независимо от того, модернизируется ли существующее решение или начинается новый проект, имеет смысл выбирать именно HCI, а не традиционную СХД или SDS.

Также HCI хорошо подходит для работы с контейнерами, большинство из которых работают внутри виртуальных машин, поскольку HCI полностью абстрагирует уровень хранения для виртуальной системы.

SDS полезна для приложений, которые не подлежат виртуализации. Например, это могут быть приложения IoT или сбора данных, которые работают на границе сети. Для баз данных или других систем, которые могут потребовать непосредственного подключения к СХД, также лучше выбирать SDS.

Поэтому для выбора того или иного решения нужно хорошо понимать, какая задача перед вами стоит. Оба решения, как HCI, так и SDS, могут минимизировать сложности, связанные с традиционными СХД и повысить гибкость, но HCI лучше подходит для приложений виртуализации. Иногда (при различных типах нагрузок различных приложений) имеет смысл иметь оба решения, применяя каждое в соответствующем случае.

HCI эволюционирует в ACI

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

Основная ценность HCI в том, что она снижает сложность IT-инфраструктуры, и это даже более справедливо в случае с контейнерами, т. к. помогает достичь цели подхода DevOps. Она состоит в том, чтобы иметь как можно меньше взаимодействия с нижележащей IT-инфраструктурой. Следовательно, будет довольно трудно использовать традиционную СХД и SDS для контейнеров, поскольку они требуют администрирования СХД и некоторой квалификации в системах хранения.

В некоторых случаях контейнеры могут развертываться внутри виртуальных машин, и для такого сценария HCI – действительно хорошее решение. Однако для наилучшего использования возможностей контейнеров и систем их оркестрации в HCI должны поддерживаться оба режима абстрагирования: контейнеры и виртуальные машины.

Следует ожидать, что рост контейнеризации и продолжающее активное использование виртуальных машин породит эволюцию HCI в новую концепцию: ACI (Abstraction Converged Infrastructure), т.е. «абстрактно-конвергированную инфраструктуру», конвергентную структуру для абстрагирования.

HCI Software – есть ли такое понятие?

В индустрии IT много говорят о «программном подходе к HCI». Тут явно происходит подмена понятий. Многие производители оборудования HCI ввели понятие HCI Software лишь для того, чтобы перевести свой бизнес из категории «оборудование» в категорию «программное обеспечение» и тем самым повысить рыночную привлекательность своего бренда для инвесторов. При этом не учитывается то, что HCI Software работает все-таки на интегрированном модульном оборудовании, а не просто на каких-то абстрактных серверах. Да, для системы администрирования они абстрактные, – а гипервизор имеет дело с реальным оборудованием.

Истинно «программный подход» означает то, что заказчик может установить ПО на существующее оборудование от любого вендора и ввести его в продакшн, а не только для тестов или испытаний «proof of concept». Заказчик также должен при этом иметь возможность использовать в единой инфраструктуре разные бренды серверов и модели различных производителей, а также устанавливать закупленное и предварительно сконфигурированное ПО на все эти серверы. При этом лицензирование должно быть преемственным и переходить с одной модели сервера на более новую, а не закупаться вновь при ее смене. Обеспечивается ли все это в неясном HCI Software, которое должно работать на каком-то конкретном оборудовании конкретного вендора? Наверное, но далеко не всегда.

В инфраструктуре HCI с моделью HW+SW примерно так и есть. Там можно просто расширять систему помодульно, не заботясь о совместимости или дополнительных лицензиях. Но пропагандировать некое HCI Software, которое все перечисленное обеспечивает не всегда – это подход для инвесторов и акционеров, а не для конечных заказчиков, которые работают с решениями в реальных IT-системах.