Rambler's Top100
Статьи
Николай НОСОВ  25 декабря 2019

Будни OpenStack

Решения на основе открытой платформы начали превосходить по надежности проприетарные аналоги, а OpenStack становится основой импортозамещения в области облачных платформ.

Об этом свидетельствует опыт, которым на прошедшем в Москве митапе российского сообщества OpenStack OpenInfra Russia, поделились крупнейшие отечественные компании.

«Ванильный» дистрибутив без доработок

Молодой департамент Big Data компании MTC, исследующий возможности законной монетизации огромного объема (6 Пбайт) накопленных оператором мобильной связи данных, не устраивала работа в рамках неповоротливой enterprise-инфраструктуры. Разработки требовали долгих согласований: нужно было составить заявку и купить серверы (шесть месяцев), выделить виртуальные машины (неделя), установить ОС (неделя), сконфигурировать сеть (неделя), получить сетевой доступ (неделя). И так для каждого проекта, которых в департаменте много.

Для повышения оперативности работы департамент приобрел пять блейд-корзин общей емкостью 80 лезвий. Решаемые отдельными командами задачи разные, и соответственно требования к техническим характеристикам нод кластера Hadoop тоже разные. Поэтому было признано разумным развернуть на блейд-серверах облачную платформу, обеспечивающую нужную гибкость и оперативность.

Ресурсы позволяли эксплуатировать сразу две облачные платформы. Полтора года назад на одной блейд-корзине развернули VMWare Integrated OpenStack, на другой – дистрибутив OpenStack Kolla, созданный open source-сообществом.

«Через полгода эксплуатации и проверок мы поняли, что продукт VMWare нам не подходит по надежности. Какое-то время все было хорошо, но потом что-то «переклинило», и полтора месяца мы безуспешно общались со службой поддержки в России и Индии. В итоге от проприетарного решения отказались и остановились на хорошо зарекомендовавшем себя продукте open source», – рассказал ведущий разработчик облачного направления департамента Big Data компании MTC Андрей Юртайкин.

Заявление достаточно неожиданное. Сложилось мнение, что «ванильный» (т.е. созданный open source-сообществом) дистрибутив OpenStack при использовании в серьезных enterprise-проектах требует доработки и уступает проприетарным решениям на его основе. Однако, как показал опыт МТС, «ванильный» дистрибутив уже достиг уровня промышленных систем.

В настоящее время 70 продуктовых команд MTS Big Data используют 500 виртуальных машин. В каждом ЦОДе (в Москве, Краснодаре и Самаре) развернуты облачные платформы OpenStack, объединенные единым пользовательским входом в систему (Cloud Warden – разработка МТС). Теперь при запуске нового проекта больше всего времени (примерно пять месяцев) уходит на согласования с поддерживающими работу основной enterprise-инфраструктуры специалистами по сетям, хранилищам и информационной безопасности, а развертывание OpenStack в новом ЦОДе занимает не более месяца. 


В итоге команды разработки каждого нового продукта получают полноценное частное облако, «заточенное» под их проект. В облаке развернуты сloud native-приложения, что позволяет пользователям не думать о работоспособности отдельных нод. «На типовом «железе» OpenStack можно эксплуатировать без привлечения Python-программистов. За полтора года ни одной строчки кода не было исправлено. При использовании в таких масштабах в трех ЦОДах все работает прекрасно», – с удовольствием сообщил Андрей Юртайкин, добавив, что проблемы появляются при установке нестандартного «железа», в частности для сети хранения данных (SAN) пришлось дописывать драйверы.

В департаменте MTS Big Data работают 250 человек, а облаком занимаются только трое. Это говорит о том, что для поддержки OpenStack уже не требуется большая команда разработчиков. Облачная платформа OpenStack используется и в других департаментах, ведутся работы по созданию общего облака компании на этой платформе.

Иногда лучше написать самим

Можно порадоваться за МТС, но чаще разработчикам компаний дорабатывать «ванильный» OpenStack под свои нужды все же приходится. 

Например, сервис подключения к сети OpenStack Neutron имеет большой набор сетевых функций, но обладает архитектурными недостатками, ограничивающими его применение в корпоративной системе. Чтобы обойти эти ограничения, в компании Mail.ru Cloud Solutions (MCS) даже создали свою программно определяемую сеть (SDN), которая получила название SPRUT. Разработчик IaaS-направления Mail.ru Cloud Solutions Александр Попов пояснил, что наличие хорошей команды специалистов позволило компании за год создать небольшой по объему (менее 15 тыс. строк кода на языке Python) продукт с микросервисной архитектурой, использующий программный коммутатор OpenVSwitch на передающем уровне (data plane), интегрированный с уровнем взаимодействия с сетевыми ресурсами OpenStack Neutron и отвечающим за создание, запуск, перезапуск, остановку виртуальных машин компонентом OpenStack Nova. 

В настоящее время SPRUT находится в режиме закрытого бета-тестирования. О возможности передачи продукта в open source и его доступности для сообщества разработчиков пока ничего не сообщается.

Особый интерес решения MCS вызывают в свете получения материнской компанией Mail.ru Group контракта на создание первой очереди системы управления государственной единой облачной платформой (ГЕОП). Наличие собственных разработок на базе платформы с открытым кодом вполне соответствует требованиям заказчика по импортозамещению. Таким образом OpenStack становится основой импортозамещения в области облачных платформ для государственных информационных систем.

Обеспечиваем катастрофоустойчивость

Интересы сообщества расширились и стали охватывать не только OpenStack, но и другие решения с открытым кодом для ИТ-инфраструктуры. Это нашло отражение в названии российского сообщества – OpenInfra Russia. Да и сами open source-решения для инфраструктуры стали более сложными. Так, компания «Тионикс», входящая в ГК «Ростелеком», запускает катастрофоустойчивое облако, созданное на продуктах open source. Облако базируется на трех московских ЦОДах (Moscow M9 на ул. Бутлерова, а также дата-центрах SafeData «Москва-I» на Остаповском проезде и «Москва-II» на пл. Академика Курчатова), соединенных каналами 10 Гбит/с.

По словам руководителя отдела DevOps компании «Тионикс» Андрея Сомова, перед командой была поставлена задача сформировать такой распределенный ЦОД с распределенными СХД, чтобы даже полный выход из строя одного из дата-центров не влиял на работу клиентов. Задача решена на продуктах open source. Основные компоненты платформы виртуализации ЦОДа – контроллер, компьютерные ноды и ноды устройств хранения данных (OSD) в кластере CХД Ceph. 

На контроллере располагаются DNS-сервер Bind, внешний и внутренний балансировщики нагрузки Haproxy, а также высокодоступный кластер Galera для MySQL. Кроме того, в контроллер входят упакованные в контейнеры Kubernetes сервисы OpenStack и модули Tionix, среда для загрузки компьютера с помощью сетевой карты без использования локальных носителей данных (PXE) для OSD и вычислительных узлов, а также мониторы Ceph.

На компьютерных нодах находятся отвечающие за создание, запуск и остановку виртуальных машин компоненты OpenStack Nova, программы для эмуляции и виртуализации работы операционных систем QEMU и агенты Tionix.


Отказоустойчивость контроллеров обеспечивает распределенный по трем площадкам кластер Kubernetes, отказоустойчивость базы данных – распределенный по трем площадкам кластер MySQL Galera. Внутри площадки отказоустойчивость контроллеров обеспечивает балансировщик Haproxy. Вычислительные узлы взаимодействуют с сервисами OpenStack через кластер Kubernetes. Автоэвакуацию оcуществляет модуль мониторинга и балансировки Tionix Node-control. Распределенное хранилище Ceph позволяет производить «живую» миграцию нагрузки между ЦОДами.

Время хайпа вокруг OpenStack давно закончилось, продукт прошел и «долину разочарований», начались рабочие будни промышленной эксплуатации.
Заметили неточность или опечатку в тексте? Выделите её мышкой и нажмите: Ctrl + Enter. Спасибо!