Newton обретает равновесие

31.05.2016
Newton обретает равновесие
Стратегия динамической балансировки, предложенная «Сервионикой», станет частью нового релиза OpenStack
Под управлением открытой платформы OpenStack находятся тысячи облачных серверов в мире, включая компоненты инфраструктуры таких крупных компаний, как Walmart, BMW, AT&T, PayPal, eBay, а также крупных исследовательских проектов типа CERN (Европейский центр ядерных исследований) и правительственных ведомств вроде американской НАСА, где OpenStack и зародилась. Отчасти это связано с тем, что OpenStack легко масштабируется от десятков до тысяч физических серверных узлов. Известны, например, такие инсталляции OpenStack, где под управлением одного кластера находится более 2000 серверов.

Тем не менее, несмотря на такие масштабные пользовательские кейсы, до недавнего времени в рамках платформы OpenStack не существовало автоматизированного механизма, который бы позволял управлять объемом загрузки физических серверов в рамках облачной вычислительной инфраструктуры. Как показывает практика, в облачной инфраструктуре некоторые вычислительные узлы остаются недогруженными – работают в пределах 30-40% от их потенциальной мощности, а некоторые, наоборот, перегружены – до 90%.

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

Команда «Сервионики», будучи активным членом коммьюнити OpenStack, поставила перед собой задачу разработать инструмент, который автоматизировал бы описанный процесс. В итоге созданный «Сервионикой» механизм динамической балансировки нагрузки вычислительных ресурсов в рамках проекта Watcher на OpenStack войдёт в очередной официальный релиз OpenStack Newton, который увидит свет осенью 2016 года.

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

Почему изначально речь идёт только о принятии стратегии для нового релиза? Дело в том, что процесс работы над официальными версиями платформы OpenStack выстроен таким образом, что общая концепция очередного релиза обсуждается в ходе регулярных саммитов разработчиков, после чего заявленные возможности дорабатываются коммьюнити и включаются OpenStack Foundation в релизе. Ядро экосистемы OpenStack составляют шесть сервисов: Nova, Neutron, Swift, Cinder, Keystone и Glance, а остальные могут быть выбраны опционально, то есть подключены к основной платформе в качестве опций в зависимости от потребностей конкретного проекта. Это похоже на принцип работы сотовых компаний, которые предлагают основной тарифный план и дополнительные опции и пакеты к нему.
Проект Watcher как раз не относится к сервисам ядра: он входит в состав официально поддерживаемых OpenStack проектов, так называемый OpenStack Big Tent, и будет включен в официальный релиз OpenStack Newton, о чём было объявлено 25-29 апреля 2016 года в ходе саммита Newton Release Design Summit.

Если в вышедшем 7 апреля 2016 года релизе OpenStack Mitaka акцент был сделан на инструментах развёртывания облачной платформы, то в Newton больше внимания будет уделено производительности IaaS, в том числе – благодаря Watcher. Его использование обеспечивает гибкую и масштабируемую оптимизацию ресурсов в рамках разнородной облачной инфраструктуры, находящейся под управлением OpenStack. Кроме того, Watcher предоставляет подключаемую архитектуру, на базе которой могут быть созданы новые алгоритмы оптимизации и разработаны новые метрики для неё.

Пока функционал динамической балансировки вычислительных ресурсов в Watcher может работать только в рекомендательном режиме («advise mode»), то есть оставлять за администратором IaaS право выбора оптимальной для него схемы работы серверов. Однако ведётся работа и над созданием режима непрерывной оптимизации данной опции («active mode»), а также опционального режима для более детальной настройки («verbose mode»): эти возможности будут включены в Newton.

Компания «Сервионика» входит в десятку крупнейших контрибьюторов Watcher наряду с компаниями B<>Com, IBM, AT&T, Ericsson, Intel. EasyStack, Huawei и другими. «Сервионика» не только создаёт оригинальный код для Watcher, но и участвует в процессе устранения багов, а OpenStack инженер «Сервионики» Александр Чадин, по данным Stackalytics, входит в глобальный топ-10 программистов, наиболее активно участвующих в процессе устранения ошибок кода. Всего «Сервионикой» за время работы над Watcher написано 1249 строк кода, опубликовано 36 патчей и исправлено 8 программных ошибок. На проект потрачено около 450 человеко-часов.

Несмотря на то, что Watcher пока не является частью официального релиза платформы, он уже используется для целей конкретных проектов в тех случаях, когда вычислительные кластеры в облачных средах испытывают высокие нагрузки. А с выходом OpenStack Newton и функционалом Watcher в этой новой версии платформы «Сервионика» станет полноправным контрибьютором OpenStack наряду с такими крупнейшими мировыми ИТ-компаниями, как Red Hat, IBM, Intel, Huawei.

Назад к разделу "Публикации"