Мы представляем девятое из серии интервью с техническими руководителями проекта OpenStack в блоге Mirantis. Наша цель – обучить более широкое сообщество технических специалистов и помочь людям понять, как они могут внести вклад в проект OpenStack и извлечь из него выгоду. Естественно, ниже изложена точка зрения интервьюируемого, а не компании Mirantis.
Ниже приведено интервью с Деванандой ван дер Вином (Devananda van der Veen), техническим руководителем проекта OpenStack Ironic.
Mirantis: Расскажите о себе.
Девананда ван дер Вин: Я – старший системный инженер в HP Cloud. Работаю здесь уже более 1.5 лет, в данный момент возглавляю проект Ironic. До этого я работал консультантом и администратором БД MySQL.
Вопрос: Какова Ваша история взаимоотношений с OpenStack? Почему Вы участвуете в проекте?
Ответ: Многие годы я работал с Монти Тэйлором (Monty Taylor) и, когда он заговорил со мной об OpenStack, моя реакция была: «О, э, здорово! Звучит прикольно!». На тот момент я уже хотел переключиться с MySQL на что-то новое и мне было ясно, что OpenStack будет следующим этапом в развитии технологий. MySQL показала по-настоящему бурный рост, начиная примерно с 2005 г. Поэтому я тогда направил свою карьеру в то русло, и я вижу, что сейчас то же самое происходит и с OpenStack. Я считаю, что процесс, в создании которого мы здесь участвуем, окажет влияние на всю сферу ИТ, и я хочу быть частью этого.
Вопрос: Каковы Ваши обязанности в качестве технического руководителя проекта Ironic?
Ответ: Определение направления и координация деятельности разработчиков, во многом те же обязанности, что и в других технических проектах OpenStack. Я отвечаю за разработку концепции, осуществляю управление проверкой кода, руководство разработчиками, но нахожусь в стороне от непосредственно разработки. Вдохновляю сообщество на развитие вокруг Ironic.
Вопрос: Что самое существенное из того, что Вам необходимо сделать, чтобы поддерживать активность проекта?
Ответ: Я хочу создать проект, содействуя которому большое количество различных вендоров аппаратных средств ощущали бы себя комфортно и не чувствовали, что они конкурируют за проприетарные биты или дробят проект на части. Собственно Ironic представляет собой сервис по провижинингу аппаратных средств или «голого железа» в OpenStack. У всех вендоров аппаратных средств, таких как HP, Dell и IBM, имеются инструменты собственной разработки для управления «железом», например, механизм удаленного управления серверами iLO компании HP или контроллер удаленного доступа DRAC компании Dell. Все они привносят дополнительную функциональность в стандартную спецификацию интерфейса IPMI, а некоторые из них реализуют его немного иначе.
Вопрос: Вы можете объяснить, какова роль проекта Ironic в рамках OpenStack? Почему он важен?
Ответ: Это можно объяснить двумя разными способами, я постараюсь выбрать один.
До сих пор в процессе развития OpenStack нам приходилось использовать другие инструменты для развертывания OpenStack, будь то пара серверов в вашем серверном шкафу или стойке либо целый дата-центр. Оборудование обязательно было внешним по отношению к OpenStack.
Роль Ironic заключается в том, чтобы обеспечить уровень провижининга аппаратных средств, которого раньше в OpenStack не было. На основе данной роли одна из целей Ironic – сделать возможным TripleO (OpenStack-on-OpenStack). Весь инструментарий, который вы используете для развертывания комплексного приложения в облаке, может быть повторно использован для развертывания облака, которое в итоге является другим комплексным приложением.
Вопрос: В чем различие между Ironic и TripleO?
Ответ: Ironic – это сервис, который управляет мощностью физической машины и пишет образ на машину. Кроме того, у нас в планах сделать возможными и другие задачи по управлению. TripleO располагается на более высоком уровне в стеке и использует не только Ironic, но и множество других сервисов для развертывания облака OpenStack и управления им.
Вопрос: Расскажите о сообществе Ironic – кто содействует проекту?
Ответ: HP, Red Hat, Mirantis, IBM и другие. Из числа вендоров аппаратных средств с нами сотрудничают и HP, и IBM. До сих пор IBM по большей части участвовала в смежном проекте – создании драйвера IPMI целиком на языке Python, который был перенесен из xCAT в сообщество OpenStack. Он будет использован Ironic как более масштабируемая замена библиотеке ipmitool, унаследованной из кода Baremetal компонента Nova.
Вопрос: Вам бы хотелось видеть большую вовлеченность со стороны вендоров аппаратных средств?
Ответ: Да, хотелось бы. Несомненно, мне бы хотелось видеть Dell. Пока что они не задействованы в нашем проекте. Ironic – очень молодой проект, и, возможно, некоторые вендоры аппаратных средств пока еще серьезно не участвовали в нем, просто потому что не был готов код. Я думаю, мы стремительно приближаемся к уровню полной готовности кода, когда народ сможет быстро к нам присоединиться и добавить свои собственные аппаратные драйверы.
Вопрос: Чего достигло сообщество Ironic на данный момент?
Ответ: Провижининг «голого железа» унаследовал большое количество ограничений, поскольку изначально была попытка его запуска в рамках процесса Nova Compute. Последние месяца 4 или около того мы «вырывали» Ironic из состава Nova, превращая его в автономный сервис OpenStack самого высокого уровня. Он имеет собственный API-сервис, который можно масштабировать. У него есть собственные очередь сообщений и серверная часть БД, а также сервис Conductor – что-то среднее между сервисами Nova Conductor и Nova Compute. Совсем недавно мы добавили поддержку DevStack и конструктора образа диска, а также python-клиента; тесты Tempest находятся в разработке. Все это необходимо для любого проекта OpenStack, но мне кажется, это довольно большое достижение для небольшой команды за период всего в 4 месяца!
Вопрос: Какие возможности реализует Ironic в следующем релизе OpenStack?
Ответ: Я не могу точно сказать, какие функциональные возможности Ironic будут доступы в Icehouse.
Вопрос: Если бы Вы могли взмахнуть волшебной палочкой прямо сейчас и превратить Ironic именно в то, чем Вы хотите его видеть, что бы это было на данный момент?
Ответ: Я бы хотел его видеть масштабируемым и отказоустойчивым. Мое определение высокой доступности в данном контексте – это его устойчивость к сбоям, а не полное отсутствие таковых. Отказ аппаратных средств неизбежен, но Ironic должен быть способным восстанавливаться после сбоев.
Я бы хотел видеть в его составе разные драйверы от различных вендоров аппаратных средств. Я бы хотел, чтобы сами драйверы были общедоступными, а не проприетарными. Мне бы хотелось, чтобы Ironic мог управлять всевозможными видами аппаратных средств, начиная с ARM-устройств и заканчивая «большим железом» – всем существующим разнообразием оборудования, о котором я лично могу не знать. Я бы хотел, чтобы другие люди внесли вклад в виде драйверов для того, чтобы все это было реализуемым и осуществимым.
Вопрос: Есть ли какие-либо заблуждения относительно Ironic?
Ответ: Одно из них – это то, что Ironic не является БД конфигурации и что он не будет хранить историю состояний. Меня спрашивали: «Вы будете отслеживать скорость работы вентилятора, температуру ЦП, а затем предпринимать какие-либо действия, если что-то перегреется?». Мой ответ: «Нет!».
Но самым большим заблуждением на данный момент является то, что можно использовать Nova Compute или Ironic для реализации незащищенных многопользовательских облаков на основе «голого железа». Это наша цель, но на сегодня мы точно еще не достигли ее. Есть ряд существенных скрытых проблем, связанных с безопасностью незащищенных пользователей облаков, работающих на базе «голого железа». Если бы я снова мог взмахнуть волшебной палочкой, я бы хотел, чтобы все эти проблемы были решены. Это потребует огромной совместной работы вендоров аппаратных средств по разработке надежного аппаратного обеспечения, а также решения вопросов безопасности на уровне встроенного ПО, а не только относительно загрузки сети и изоляции пользователей. Некоторая работа над этим уже ведется, но я считаю, что мы все еще далеки от решения данных проблем. Тем временем, я хочу, чтобы люди знали, что сегодня нельзя запускать облака под незащищенными пользователями на «голом железе».
Вопрос: Еще один вопрос из серии «мне бы хотелось». Кого бы Вы хотели видеть в числе людей, задействованных в проекте Ironic? Кто Ваш идеальный участник на данный момент?
Ответ: Разработчики, которые знают, как работать с сообществом открытого исходного кода, поскольку их не всегда легко найти. Люди с хорошим опытом администрирования систем в дополнение к программированию, поскольку большая часть того, чем мы занимаемся в Ironic, происходит на низком уровне. Да, он написан на Python, но мы делаем многое для интеграции с такими процессами, как DHCP, IPMI и PXE, и мне будут нужны люди, которые понимают в вопросах безопасности встроенного ПО. Потребность в таких членах команды, как мне кажется, на данный момент не полностью удовлетворена.
Вопрос: Спасибо, что уделили нам время.
Ответ: Спасибо Вам.
Автор: Mirantis_OpenStack