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

До того, как концепт виртуализации был реализован на практике, в индустрии серверов и ЦОДов существовала проблема низкой эффективности использования физической инфраструктуры. И теперь проблема, казалось бы, решена. Но не тут-то было!

utilize3

Как ни странно, виртуализация вовсе не решила проблемы низкой эффективности использования серверов. Более того, сегодня это одна из главных трудностей в корпоративных ИТ и вообще в отраслях, так или иначе связанных с вычислениями. Если вы заметили, то всевозможные аналитические отчёты вовсе не пестрят сообщениями о том, каких уровней эффективности работы физической инфраструктуры удалось добиться той или иной компании. А все потому, что если ИТ-департамент решит обнародовать подобные цифры, то головы полетят с плеч, поскольку цифры эти неприлично низки. Это плохая новость, а хорошая – в том, что такие цифры, которые не принято показывать, есть у всех. А значит, это беда всей индустрии, над которой компании ИТ-сектора будут работать сообща.

В англоязычных исследованиях эта самая эффективность использования инфраструктуры фигурирует под названием utilization rate. Несмотря на то что латинское слово utile несёт позитивную коннотацию, в русском языке применить «утиль» к инфраструктуре ЦОДа — не слишком благородная затея. Поэтому об утилизации дата-центров мы сегодня говорить не будем, а вот обсудить эффективность их использования будет не лишним.

  • Так как проблема отраслевая, то открывать собственные цифры решаются далеко не все компании. Это удел исключительно исследовательско-аналитических фирм и крупных корпораций вроде Google. Цифры, которые удалось обнаружить, вовсе не вселяют оптимизм.
  • Исследование McKinsey в 2008 году показало, что эффективность использования дата-центров находится на уровне 6%
  • Отчёт Gartner в 2012 году свидетельствовал, что средняя эффективность ЦОДов по индустрии — не более 12%.
  • Аналитики Accenture в течении недели мониторили несколько машин Amazon EC2 и обнаружили, что эффективность использования физической инфраструктуры составляет 7%.
  • Интересные данные пришли из Google. В течение трёх месяцев отслеживалась эффективность двух серверных кластеров суммарно на 20 тысяч машин. Типичная ситуация показана в левой части графика: большую часть времени серверы нагружены лишь на 20–40%. Высокие показатели в правой части графика обусловлены тем, что кластер выполнял регулярные, пакетные операции.

utilize1

Разумеется, видя эти цифры, гиганты ИТ-индустрии стараются всеми возможными способами их увеличить, поскольку эти показатели напрямую влияют на маржинальность компании. Сегодня большинство разговоров об эффективности использования и распределении нагрузки сводятся к так называемым энергетически пропорциональным вычислениям. Пионером здесь является Google, активно работающая над увеличением utilization rate. Ещё в 2007 году специалисты компании заметили, что наименее энергоэффективные составляющие серверов являются в то же время наиболее востребованными. Это компоненты, выполняющие повторяющиеся операции, несущие типичные нагрузки. Чтобы решить эту проблему, Google предлагает сделать серверы энергетически пропорциональными, то есть распределить электроэнергию по компонентам в соответствии с выполняемыми операциями, но сделать это равномерно. Результатом внедрения такой архитектуры, по расчётам компании, станет значительная экономия электроэнергии, а также повышение уровня эффективности использования серверных компонентов (по большей части — памяти и CPU) до 40%.

Если принимать во внимание инфраструктурные тренды в информационных технологиях, то такое повышение эффективности использования дата-центра поможет индустрии сделать огромный шаг вперёд. Сейчас основной вектор развития вычислительных мощностей можно упаковать в одну аббревиатуру — EaaS (Everything as a Service). Под EaaS имеется в виду предоставление практически любых вычислительных услуг через облако. Это значит, что провайдерам вроде Amazon нужно выжимать максимум прибыли из каждого доллара, затрачиваемого на сдаваемые в аренду машины. Наладив процесс постоянного увеличения эффективности, провайдеры смогут освободить большие потоки средств, которые затем можно реинвестировать в инфраструктуру. То же самое справедливо и для частных корпоративных облаков. Виртуализация виртуализацией, а подняв эффективность на 10%, можно сэкономить большие деньги.

Но вендоры, производящие инфраструктурные компоненты для облачных провайдеров, тоже не стоят на месте, и мы часто пишем о всевозможных изменениях, связанных с технологической структурой дата-центров. Речь идёт о всевозможных микросерверах, беспроводной архитектуре, жидкостном охлаждении, интеллектуальных сетях, ARM-архитектуре и многих других технологиях, которые, с одной стороны, повышают эффективность серверов, а с другой – делают их необыкновенно сложными устройствами. Сложными для поиска точки, к которой необходимо прилагать усилия. И практически все компании на рынке ищут собственный подход к вопросу увеличения эффективности использования физических компонентов. Например, Intel и Facebook работают над тем, чтобы масштабировать память и процессорную мощность независимо друг от друга. Ведь что процессор становится проблемой только после того, как заканчивается память. А значит, решать нужно именно вопрос эффективности использования памяти. Похоже, что максимальный прирост, который способны обеспечить производители в текущей, сравнительно однородной архитектуре — это 10–20%. А что будет, когда архитектура продолжит усложняться теми же темпами, какими она усложняется сейчас?

blue stat business background

Вопрос, конечно, поставлен с некоторой долей пессимизма. Но хорошая новость в том, что виртуализация — это всё-таки двусторонняя улица. В том смысле, что, кроме “железной” составляющей, есть ещё и софтверный слой. А в нём сейчас тоже происходит немало любопытного. И одно из интереснейших направлений, которое мы уже недавно обсуждали, — это контейнерная виртуализация, которая позволяет значительно увеличить эффективность использования виртуальных машин. Популяризация таких технологий, как Docker, позволяет говорить о контейнерах не только в Solaris и FreeBSD, но и в Linux-среде. Подробно о Docker я рассказывал в колонке «Docker: контейнеры, которые могут совершить софтверную революцию»:

“Контейнерная технология, которая в ближайшее время наверняка наберёт популярность, важна потому, что она вполне может оказать такое же экономическое воздействие на рынок облаков и виртуальных машин, какое оказали 40-футовые контейнеры на логистический рынок. Docker позволяет запускать приложения в изолированных контейнерах, которые, тем не менее, делят между собой операционную систему и библиотеки. Следовательно, нет необходимости выделять по виртуальному серверу на каждое приложение. Docker как бы нарезает на кусочки виртуальную машину, делит её на множество контейнеров, и это позволяет сильно сэкономить на вычислительных мощностях — просто за счёт оптимизированного распределения ресурсов. Эффективность использования виртуальных машин, таким образом, сильно возрастает”.

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