Клиенты розничных или телекоммуникационных компаний вряд ли уже будут снижать свои требования к надежности, удобству, широте выбора предоставляемых им сервисов, а услуги провайдеров связи абоненты считают такими же необходимыми, как электроснабжение и водопровод. Проникновение сотовой связи в России достигло 170%, а в городах-миллионниках — 200%, однако важнейший для отрасли показатель среднемесячной выручки на одного клиента снижается в среднем на 8% в год, и удерживать клиентов только за счет снижения тарифов уже практически невозможно. Все меньше доходов провайдерам приносят такие традиционные виды связи, как передача голоса и текста, однако постоянно растет объем передачи данных. С аналогичной ситуацией сталкиваются торговые сети — все больше покупок осуществляется через Интернет. В какой-то момент окажется, что инфраструктура провайдера услуг связи, банка или торговой сети будет не готова к новому уровню нагрузок, поэтому компании, работающие на массовом рынке, заинтересованы в решениях нового типа, способных поддерживать высоконагруженные облачные сервисы. Одна из таких виртуальных сервисных платформ — «Ру-Стэк», созданная компанией «Сервионика» на базе технологий OpenStack.

Причиной выбора OpenStack стала популярность и динамика этой открытой платформы, которая все больше востребована при работе с облаками всех видов. У компании «Сервионика» уже есть опыт работы с данной платформой: в 2012 году был создан облачный конструктор MakeCloud — сервис для построения виртуальной инфраструктуры IaaS для публичного облака, полностью реализованный на OpenStack. Кроме того, в арсенале компании имелась платформа eCloud, ориентированная на поддержку высоконагруженных корпоративных облачных сред, в которой использованы проприетарные гипервизоры VMware и KVM. «Ру-Стэк» поставила перед собой задачу построения единой виртуальной сервисной платформы, которая бы позволяла устранить «зоопарк» средств виртуализации и реализовать идею виртуальных программно-конфигурируемых коммуникаций при обеспечении независимости от проприетарных решений.

Платформа OpenStack позволяет создавать облачные решения любых масштабов, предоставлять сервисы распределенного хранилища объектов, управления сетями, аутентификации, а также инструментальную панель управления и ряд других функций. Важным преимуществом OpenStack является независимость от гипервизоров — виртуальные машины можно создавать на стандартном оборудовании, в том числе и на унаследованных системах.

Типичная виртуальная сервисная платформа состоит из двух частей — технологической и сервисной. Технологическая базируется на физической инфраструктуре и гипервизорах от Microsoft, VMware или Citrix либо на открытых решениях. В «Ру-Стэк» используют собственную платформу на базе открытого кода, позволяющую автоматизировать типовые процессы и задачи для облачной среды: управление базами данных, лицензиями, создание и запуск виртуальных ресурсов, удаленный мониторинг, оптимизацию, резервное копирование и др. В состав сервисной платформы входят два компонента: модуль, осуществляющий биллинг потребляемых пользователями ресурсов, и портал самообслуживания, позволяющий пользователю заказывать необходимые ресурсы, строить виртуальные среды и оформлять подписку на различные приложения. Платформа «Ру-Стэк» включает в себя оба этих уровня.

«Ру-Стэк» ориентируется на построение масштабируемых частных облаков с предоставлением пользователям средств управления ресурсами, реализации различных сценариев их потребления, запуска и масштабирования приложений. Платформа развертывается «из коробки» и может быть настроена для задач компаний любого масштаба. Кроме системных средств управления, в нее входят модули управления бизнес-процессами, а также система учета потребленных ресурсов. В рамках «Ру-Стэк» можно развертывать IaaS, SaaS и PaaS, что позволяет формировать универсальный спектр услуг, разнообразные пакетные предложения и персональные сервисы.

В основе аппаратной части «Ру-Стэк» лежит спецификация OpenRack, претендующая на роль нового стандарта дизайна серверных стоек. Она разработана в рамках проекта Open Compute, поддерживаемого Facebook, и предназначена для проектирования высоконагруженных стоек для ЦОД этой социальной сети. Кроме того, аппаратная часть «Ру-Стэк» поддерживает концепцию программно-конфигурируемых сетей, что позволяет автоматизировать функции управления виртуальными сетями и трафиком, а также развертывать облака на любой доступной заказчику ИТ-конфигурации. Сегодня пользователям предоставляется либо возможность арендовать ЦОД «ТрастИнфо», управляемый компанией «Сервионика», либо строить распределенные кофигурации на нескольких произвольных ЦОД. В основе программной части «Ру-Стэк» лежат конструктор MakeCloud и платформа eCloud, что в рамках единой системы управления средами виртуализации позволяет управлять как стеком продуктов VMware, так и гипервизором KVM.

Модульная архитектура «Ру-Стэк» (см. рисунок) позволяет в зависимости от потребностей заказчика задействовать набор необходимых компонентов: модули OpenStack (Nova, Ceilometer, Cinder, Quantum, Designate и Python-Novaclient), портальные модули и модули PaaS, а также собственные разработки, которые были добавлены в стек OpenStack. Однако стоит отметить, что применение модулей OpenStack для серьезных инфраструктурных проектов требует их значительной доработки, это и было сделано при создании платформы «Ру-Стэк». Например, в модуль Nova (контроллер вычислительных ресурсов), обеспечивающий виртуализацию ресурсов массовых серверов (процессоров, памяти, сетевых адаптеров и жестких дисков) и поддерживающий соответствующие функции для повышения коэффициента использования ресурсов и автоматизации, был внесен ряд изменений. Они коснулись обеспечения сохранности данных при «холодной» миграции (остановка системы и перезапуск виртуальных машин), оптимизации механизмов кэширования и обработки запросов при создании сервера и передачи дополнительных параметров его идентификации. Кроме того, был усовершенствован процесс создания мгновенных «снимков» виртуальных машин, изменен шаблон создания OpenSSL-сертификата, а также реализован ряд других исправлений и дополнений. При этом следует учесть, что модуль Nova появился в OpenStack одним из первых и служит основой стека, обеспечивая управление виртуальными машинами и их интеграцию с набором поддерживаемых гипервизоров.

Архитектура «Ру-Стэк»
Архитектура «Ру-Стэк»

 

Другой модуль — Neutron — также играет важную роль в стеке OpenStack, и в процессе работы над «Ру-Стек» его тоже пришлось доработать: усовершенствован механизм миграции между модулями расширения, устранены дублированные строки кода, выявлена и устранена некорректная работа ряда модулей расширения. Данный модуль отвечает за управление локальными сетями с поддержкой виртуальных сетей (VLAN) и протоколов DHCP и IPv6. Вполне естественно, что разработчики ожидают безупречного выполнения этих критически важных функций. В общей сложности в исходные модули OpenStack было внесено более 500 исправлений, а объем добавленного кода, необходимого для работы платформы «Ру-Стэк», составил около миллиона строк, однако результат стоил таких усилий. Модульная структура платформы позволяет пользователям выбирать и оплачивать только необходимый функционал из достаточно широкого спектра, а суммарная стоимость владения оказывается ниже, чем для платформ, созданных на базе проприетарных решений. С другой стороны, в случае необходимости (например, появились новые бизнес-задачи или возникла потребность в масштабировании) платформа может быть оперативно расширена путем добавления новых функциональных модулей. Администратор может выбрать необходимые модули из каталога и добавить их через единую централизованную консоль, на которую выведены сгруппированные элементы управления всеми компонентами, ресурсами и платформой в целом. Дистрибутивы OpenStack поставляются вместе со средствами автоматизации развертывания (скриптами), помогающими создавать различные конфигурации кластера, а при соответствующем проектировании эти конфигурации могут сосуществовать внутри пулов аппаратных средств.

Уже есть ряд пилотных проектов, выполненных на платформе «Ру-Стэк», что позволяет выделить три типовых сценария ее применения.

  • Создание сквозных сред разработки и тестирования приложений, поддерживающих весь жизненный цикл разработки, начиная от системы контроля версий до развертывания приложений для промышленной эксплуатации.
  • Построение автоматизированной среды управления тестовыми окружениями. Посредством модуля OpenStack Murano можно сформировать каталог приложений и развернуть их в облаке (создать виртуальные машины, логические устройства системы хранения данных, установить и настроить ОС, системное и прикладное ПО, настроить взаимосвязи между всеми компонентами и т. д.).
  • Миграция между различными средами виртуализации, а также их интеграция — управление имеющимися проприетарными платформами виртуализации (VMware vShpere, MS Hyper-V) как единой облачной платформой с возможностью переноса части нагрузки на открытые гипервизоры.

Виртуальная сервисная платформа «Ру-Стэк» позволяет компаниям учитывать потребности многих категорий клиентов, в том числе из телекоммуникационной отрасли, где с помощью инструментов создания и объединения различных сервисов провайдер может предоставить абонентам — физическим лицам доступ к популярным услугам (электронная почта, файловые хранилища, антивирусные программы, цифровое ТВ), а для корпоративных клиентов сформировать пакетные предложения с учетом отраслевой специфики или масштабов их бизнеса. Благодаря масштабируемости у провайдера появляется возможность обслуживать абонентов независимо от их местонахождения и типа подключения к сети, а банк или страховая компания могут (например, при продвижении в регионы) оперативно развернуть любое необходимое количество мобильных точек продаж или новых офисов. Кроме того, возможности аналитики и мониторинга позволяют точно оценить объем и структуру потребления ресурсов и извлечь дополнительную выгоду, начав с предоставления виртуальной инфраструктуры и ресурсов в аренду: коммерческие сервисы — для внешних клиентов (хранение и передача данных, хостинг, электронная почта и т. п.), а ресурсы — для внутренних проектов. Корпоративных клиентов привлекут простая и безопасная интеграция платформы с внешними сервисами и бизнес-приложениями, а также возможность оперативного подключения дополнительных ресурсов.

***

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

Ярослав Фаробин (farobin@servionica.ru) — руководитель направления, компания «Сервионика», группа компаний «Ай-Теко» (Москва).