Что эффективнее — добавлять ресурсы процессоров, памяти, ввода-вывода в один сервер, меняя его на более мощный по достижении физического предела наращивания, или же добавлять второй, третий, четвертый, приспосабливаясь к растущим запросам приложений?


Темпы роста серверов 2006—2011 гг. Источник: IDC
Темпы роста серверов 2006—2011 гг. Источник: IDC

В первую очередь, это зависит от способности приложений к распараллеливанию, но в расчет принимается и множество других факторов. Основная дискуссия ведется в рамках двух стратегий — вертикального (scale-up) и горизонтального (scale-out) масштабирования.

Масштабирование: scale-up и scale-out

Доминирование модели scale-up эпохи мэйнфреймов класса IBM S/360, пройдя через прообраз нынешних blade-систем — мини-компьютер DEC PDP-11, сменилось двумя десятилетиями популярности модели scale-out. Этому способствовало развитие в 80-е годы ПК и клиент-серверной модели вычислений, а в 90-е — коммерческого интернета и веб-ориентированных приложений. Росло многообразие инфраструктурных задач, а с ним крепло мнение о скором вытеснении scale-up на периферию серверного парка как систем, оправданных лишь для узкого круга приложений. Коррективы внесло время. Резкий рывок в производительности сделали многопроцессорные системы традиционной для ПК архитектуры x86 на многоядерных процессорах, достигли состояния зрелости технологии виртуализации для массовых платформ. Переломным же моментом стал кризис управляемости и сопровождения распределенных систем, помноженный на кадровый голод.

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

Что масштабируется вертикально, а что — горизонтально?

В общих чертах «вертикальный» (scale-up) подход отличается от «горизонтального» (scale-out) следующим:

ставкой на высокую производительность единой SMP-среды (многопроцессорной, с общей памятью);

использованием «вертикальных» приложений, обрабатывающих большое количество запросов к данным;

опорой на запас аппаратных ресурсов в качестве инструмента повышения производительности, а не на программное распараллеливание;

ступенчатой моделью затрат на оборудование при сниженных издержках на администрирование.

Основной движущей силой систем scale-up всегда были серверы баз данных, в первую очередь для «тяжелых» корпоративных систем автоматизированного управления. Приложения, обслуживающие базы данных, требовательны к объему оперативной памяти и процессорной мощности, их отличает многопоточность и сильная взаимосвязанность запросов к данным. 

Зрелость технологий виртуализации позволила привлечь к развитию вертикально масштабируемых информационных систем новые инструменты. Распространенное мнение, что scale-up-приложения не подлежат виртуализации (ведь они и так захватывают все доступные ресурсы системы), отчасти справедливо. Но, предполагая, что задачей виртуализации является эффективное и непрерывное управление ресурсами, следует согласиться, что мобильность и независимость от физического оборудования достижимы только с применением виртуализации. Более того, наиболее качественный эффект от виртуализации можно получить как раз при запуске нескольких ресурсоемких приложений, ранее разнесенных на несколько серверов (scale-out), на одном высокопроизводительном (scale-up).

Горизонтальное масштабирование подходит для приложений с небольшими потребностями в неразделяемой оперативной памяти, множеством независимых запросов, разнообразием ОС. Например, веб-сервер или поисковый сервер — типично «горизонтальные» приложения. В отличие от баз данных, веб-серверы изначально наделены высоким параллелизмом, и наращивание способности к обработке веб-страниц не требует высокой производительности базовых серверов — достаточно добавления новых узлов обработки. Данные веб-сайтов размещаются на разделяемом ресурсе хранения — таком как NAS, а основные веб-серверы, Apache и IIS, великолепно умеют утилизировать разделяемые ресурсы файловых систем, серверов и процессов.

Кризис управляемости

Традиционно, приложения x86 не разрабатывались с расчетом на многопроцессорные платформы, что предопределило доминирующую стратегию 90-х годов в сегменте массовых задач: «одно приложение/один сервер» — то есть типичный scale-out. Задачи усложнялись, серверов становилось все больше, их мощность росла. ИT-проблемы организации центров обработки данных (ЦОД) померкли перед проблемами инженерными — привлечения электрической мощности для запитывания ЦОД и отвода из них избыточного тепла. Энергоэффективность стала одним из основных вызовов рынку серверов наряду со смежными задачами повышения утилизации вычислительных ресурсов и снижения операционных расходов на содержание ЦОД. Недогруженность серверов обесценивает инвестиции. Очевидной кажется идея увеличения загрузки серверов, но в условиях распределения приложений по предписанным физическим серверам это не так легко сделать. Значительную часть операционных расходов составляют затраты на управление системой в целом. Разрастание парка небольших серверов отвлекает ресурсы и капитал. Силы тратятся на согласование работы частей информационной системы, а не на усиление инновационного эффекта от внедрения ИT.

Использование scale-up-окружения предоставляет возможность консолидировать приложения, повысить утилизацию общих вычислительных ресурсов, снизить совокупные расходы на энергопотребление и вентиляцию, упростить управление серверным парком. Технологии виртуализации позволяют обслуживать консолидированные ресурсные пулы, изменяя саму суть управления: распределять между приложениями виртуальные ресурсы мощных серверов (процессоров, памяти, магистралей ввода-вывода), а не раздавать нагрузку по физическим серверам. Аналитики уже сейчас отмечают и прогнозируют дальнейшее превышение спроса на системы scale-up с числом процессорных гнезд от четырех и более (так называемого класса 4P+) в сравнении с малыми серверами. После повышенного «горизонтального» энтузиазма двух последних десятилетий внимание к моделям scale-up и scale-out выравнивается. IDC формулирует две основные тенденции: консолидация и виртуализация. То и другое опирается на укрупнение базовых систем для обслуживания совокупной нагрузки, прежде обрабатываемой несколькими физическими серверами.

Консолидация и виртуализация

Консолидация вычислительных ресурсов — одна из ступеней развития ИТ-инфраструктуры, ключ к управляемости, безопасности данных и снижению затрат на владение (администрирование серверов, техническое обслуживание, стоимость развертывания и обновления приложений и т.д). Консолидация приложений позволяет разместить несколько виртуальных серверов на одном физическом. Серверы х86 — благодатная среда для виртуализации, поскольку эффект от перехода с двухпроцессорных систем на 4- и 8-процессорные позволяет получить существенный прирост производительности в режиме пиковых нагрузок и высокую степень утилизации вычислительных ресурсов без существенных инвестиций в доработку ПО. Попутно снижаются затраты на энергоснабжение и охлаждение, требования к пространству ЦОД. Кроме того, существенно уменьшаются затраты на управление и поддержку инфраструктуры.


Доли серверов по числу сокетов. Источник: IDC
Доли серверов по числу сокетов. Источник: IDC
Виртуализация — широкий термин, подразумевающий абстрагирование от аппаратных вычислительных ресурсов. Это может быть представление одного физического ресурса (сервера и его процессоров, памяти, устройств ввода-вывода, операционной системы или приложения) как множества логических ресурсов. Или наоборот, множество физических серверов может быть представлено одним логическим. Долгое время виртуализация была спутником высокоуровневых систем — например, RISC-серверов, работающих под Unix. Технологии виртуализации использовались для изоляции нагрузок и управления ими. Стандартная для систем x86 практика «одно приложение/один сервер» не способствовала приходу виртуализации в сегмент серверов массового применения — пока не начали остро ощущаться сложности с нехваткой площадей, недостатком энергоснабжения и отводом тепла. В последние годы роль виртуализации была переосмыслена как часть стратегии улучшения управляемости информационных систем — посредством повышения утилизации и энергоэффективности серверов, снижения ТСО, а также — как средство повышения доступности данных, мобильности и безопасности, шаг к процессному управлению.

Где уместно применение blade-серверов

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

Традиционно blade-серверы используются для построения ферм веб-серверов и приложений, хостинговых площадок, небольших баз данных, активно задействующих распределенные вычисления, поисковых систем, среднеуровневых приложений обработки данных и сред терминального доступа к приложениям или рабочему столу. Они подходят для развертывания в удаленных от центрального офиса филиалах, где есть дефицит квалифицированных специалистов. Отдельные лезвия в шасси может заменить любой персонал филиала, тогда как настройка и управление всей серверной фермой проводится специалистами удаленно через консоль или веб-браузер. Лезвия blade-серверов можно объединять в кластеры и работать как с единым ресурсом, добиваясь высокой доступности данных и балансировки нагрузки. Из-за высокой плотности компоновки blade-серверы удобны для развертывания комплексной инфраструктуры с большим количеством вспомогательных задач: межсетевых экранов, веб-, proxy-, сетевых служб, почтовых, обмена сообщениями, файловых серверов и серверов печати, серверов удаленного доступа и т.д.

Продвигая идею повсеместной «блейдизации», производители умалчивают о неприятном. Согласно исследованиям, даже довольно крупные предприятия СНГ обладают сравнительно небольшим парком ПК и серверов. Более трех четвертей локальных сетей объединяет сто ПК и меньше. Зачем такой сети много серверов? 

Возможности масштабирования в blade-системах фактически сводятся к добавлению новых лезвий. Цена лезвия с числом процессорных гнезд больше двух — серьезный удар по бюджету. Для приложений «вертикального» типа запаса производительности двух, пусть даже многоядерных процессоров, уже недостаточно. Кроме того, далеко не все приложения имеют встроенные средства для работы в многоузловых средах кластеров и blade-систем. Выходит, что предпочтение дискретным SMP-серверам открытой архитектуры класса 4P+ отдают там, где критична скорость работы с основным ресурсом  процессоров и памяти. Межузловые пересылки систем scale-out не могут конкурировать со скоростными межпроцессорными и внутрисистемными магистралями серверов scale-up. С точки зрения технологии виртуализации, распределяющей физические ресурсы между логическими устройствами, потолок аппаратной производительности сервера может оказаться сдерживающим фактором при обслуживании пиковых нагрузок. У двухпроцессорного лезвия запас производительности невелик, тогда как запуск на одном 8-процессорном сервере нескольких ресурсоемких приложений в режиме распределяемых и дополняющих друг друга нагрузок обеспечит суммарно более высокую производительность и масштабируемость для каждой из задач за счет динамического перераспределения ресурсов в моменты пиковых нагрузок.

Мировой и украинский рынок серверов

Распространение 64-разрядных серверных ОС и доступность многопроцессорных платформ на основе четырехъядерных CPU существенно подняли потолок вычислительной мощности серверов архитектуры x86. Сегодня x86/x64-серверы посягают на часть рынка, традиционно принадлежавшую RISC- и EPIC-серверам, одно из главных преимуществ которых заключается в повышенной вертикальной масштабируемости. Следовательно, все больше организаций, прежде всего крупных и динамично развивающихся, по-новому подходят к построению ИT-инфраструктуры. Общая перспектива миграции на сервис-ориентированную инфраструктуру (SOI) предполагает консолидацию вычислительных мощностей, хранилищ данных, ресурсов сетевого взаимодействия с последующим созданием операционных сред для бизнес-приложений и/или их компонентов. При этом принято активно использовать средства виртуализации на базе созданных ресурсных пулов. Данная тенденция стимулирует спрос на многопроцессорные x86/x64-серверы среднего и высокого уровня, снабженные развитыми средствами виртуализации. Главным потребителем серверов x86 4P+ являются крупные предприятия, внедряющие промышленные приложения для автоматизации основных бизнес-процессов.

По прогнозам IDC, мировой серверный рынок в целом будет расти до 2011 года со среднегодовой скоростью 5,8%, но наибольшую динамику демонстрирует сегмент серверов х86 4P+ — порядка 10,7%, что почти вдвое быстрее рынка в целом. Украинский рынок серверов х86 вырос за последний год на 40% в денежном выражении, при этом рост поставок высокопроизводительных scale-out-систем составил почти 100%. Серверы x86 4P+ уверенно шагнули из весовой категории entry level (<$25 тыс.по классификации IDC) в сегмент midsize ($25—100 тыс.) и уже замахиваются на enterprise (>$100 тыс.). Спрос в Украине на x86-серверы класса 4P+ сконцентрирован в секторах, где происходит динамичная консолидация финансовых активов либо происходит интенсивный рост предприятия. Яркий пример — банковский сектор. Бурное развитие филиалов и точек продаж услуг потребовали немедленного увеличения вычислительной мощности обслуживающих серверов «здесь и сейчас», без буфера по времени для оптимизации или замены базового для бизнеса программного обеспечения. 4P+ cерверы x86/x64 оказываются наиболее подходящим инструментом, снимая проблему нехватки вычислительных ресурсов и позволяя в плановом, а не авральном режиме производить модификацию бизнес-приложений.

Что дальше

Таким образом, scale-up-системы вообще и массовые серверы архитектуры х86 класса 4P+ в особенности сегодня набирают популярность в таких приложениях:

серверы нагруженных БД, обслуживающие множественные запросы к связанным данным;

консолидация ресурсоемких, критически важных бизнес-процессов (core-business), включая транзакционные в режиме on-line (OLTP), планирование ресурсов (ERP), взаимоотношений с клиентами (CRM) и аналитические (BI);

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

Ускоренный спрос на перечисленные приложения сбалансировал подходы ИT-служб компаний к масштабированию и постепенно возвращает scale-up к золотым временам.

Характерный пример — недавний выход нового продукта от апологета и бесспорного лидера рынка blade-серверов, компании HP. Выпустив мощный и масштабируемый 8-процессорный сервер стандартной архитектуры ProLiant DL785 G5 на базе 4-ядерных процессоров Quad-Core AMD Opteron, HP откликается на растущий рыночный спрос. Противоречия между технологиями «blade» и «4P+» нет, есть разные области применения и много общего в обеспечении управляемости, отказоустойчивости и энергоэффективности. Рынок распробовал и технологии удаленного управления и мониторинга, и технологии виртуализации благодаря востребованности в blade-серверах. В промышленном же масштабе именно 4P+ серверы x86 способны обеспечить демократизацию задачи создания ресурсных пулов корпоративных ЦОД и стать наиболее эффективной основой для массового перехода к виртуализации приложений.

Независимый опрос участников рынка ЦОД и масштабируемых приложений на сайте www.SearchDataCenter.com «Каким вы видите будущее ЦОД, scale-up или scale-out?» дает такие цифры: 26% — в пользу scale-up, 12% — за scale-out, 62% — за сосуществование двух стратегий роста. Спрос есть на все решения, и никакая мода не заменит разумного подхода к проектированию будущего.


С автором статьи 
можно связаться по адресу
yz@entry.kiev.ua