Мы представляем восьмое из серии интервью с техническими руководителями проекта OpenStack в блоге Mirantis. Наша цель – обучить более широкое сообщество технических специалистов и помочь людям понять, как они могут внести вклад в проект OpenStack и извлечь из него выгоду. Естественно, ниже изложена точка зрения интервьюируемого, а не компании Mirantis.
Ниже приведено интервью с Майклом Баснайтом (Michael Basnight), техническим руководителем проекта OpenStack Trove.
Mirantis: Расскажите о себе.
Майкл Баснайт: Я – ведущий инженер компании Rackspace, над проектом OpenStack работаю 24 часа 7 дней в неделю. В компании Rackspace я уже более 7 лет. Отвечал за аналитику данных, облачный
Вопрос: Какова Ваша история взаимоотношений с OpenStack? Почему Вы участвуете в проекте?
Ответ: Когда мы создавали Trove в компании Rackspace, ни я, ни другие разработчики не думали об OpenStack. Мы начали манипулировать полным стеком Java, OSGI, Zookeeper и т.п. … стандартными программами на языке Java. В то время Rackspace решила сделать ставку на OpenStack. Видя, что наше будущее связано с OpenStack, я решил (будучи в то время ведущим разработчиком и руководителем) свернуть начатые нами испытания для проверки концепции и начать использовать контроллер Nova в качестве механизма провижининга. Мы сталкивались с некоторыми трудностями на своем пути, поскольку инициатива OpenStack тогда только начала развиваться. Но у меня была возможность представить изменения почти ко всем проектам OpenStack в процессе их развития, а теперь у нас серьезный проект поверх OpenStack, который может надстраиваться к любой существующей установке на базе OpenStack.
Вопрос: Каковы Ваши обязанности в качестве технического руководителя проекта Trove?
Ответ: Хех, хороший вопрос. Это почти рецепт. Я начинаю с основы владения и управления продуктом, чтобы концепция проекта развивалась в направлении, наиболее оптимальном для сообщества. Добавляю щепотку управления проектом, разработки детального плана и отслеживания того, кто над чем работает. Перемешиваю и медленно добавляю управление людьми, чтобы убедиться в том, что они действительно выполняют обязательства в соответствии со своими обещаниями. Добавляю щедрую порцию проверки кода, щепотку кода «-1» и, если ПОВЕЗЕТ, когда все готово, я немного глазирую все это тем, что разрабатываю сам.
Вопрос: Какова роль Trove в составе OpenStack? Почему проект Trove важен?
Ответ: Проект Trove важен, потому что важно хранение данных. Вы не сможете назвать ни одного проекта, который бы не нуждался в хранении или кэшировании данных. Trove – это универсальное решение для хранения данных. Идет ли речь о Redis, хранилище данных в реальном времени с высокой степенью доступности, или о MySQL для хранения всей информации о вашем зоомагазине, или о MongoDB для хранения телеграфных сообщений фирмы «Маркони». Концепция Trove заключается в том, чтобы обеспечить все это, сделать так, чтобы кластеры были настроены и работали онлайн. Также Trove предлагает резервное копирование и восстановление реализуемых с его помощью сервисов, а функции типа автоматического бэкапа / восстановления на определенный момент времени находятся сейчас в разработке.
Вопрос: Что поистине уникального и прорывного в проекте Trove?
Ответ: Над Trove работает огромное количество экспертов в области систем хранения данных. Мы привлекли ключевых людей из сообщества для реализации множества проектов и сервисов. В их числе разработчики, администрировавшие MySQL, начиная с версии 3.23. Мы набираем людей, которые писали проекты по внедрению кластеров в MySQL. Мы проводим консультации с экспертами Redis в процессе его внедрения. Мы являемся экспертами как в области разработки, так и в области хранения и обработки данных. Если мы не знаем, как это делается, мы знаем тех, кто это знает.
Вопрос: Расскажите о сообществе Trove – кто с вами сотрудничает?
Ответ: У истоков стояли несколько высококлассных разработчиков из Rackspace, а затем идею подхватили разработчики облачных сервисов HP. Они действительно помогли придать импульс развитию. Поскольку мы уже перешли в «инкубационный период», мы привлекли к разработке Mirantis. Также в проекте участвуют UnitedStack и ряд разработчиков из Новой Зеландии. Кроме того, есть люди, которые заинтересованы в тонкостях кластеризации. Также я провел несколько отличных бесед с людьми, которые очень заинтересованы в Galera Cluster и Tungsten Replicator. Начав с 2 часовых поясов, всего за несколько месяцев мы охватили весь мир!
Вопрос: Каковы на сегодняшний день достижения сообщества Trove?
Ответ: У нас есть сервис, который уже некоторое время функционирует в Rackspace. Мы превратили в науку провижининг БД! Мы знаем все о работе сервиса MySQL. Кроме того, мы определили свою роль для сообщества как механизм провижининга реляционных и нереляционных БД. Мы сделали немало в области установления отношений с компаниями и продвижения продукта. Мне интересно увидеть, что будет с Trove через полгода после выхода релиза Icehouse. Я ожидаю увидеть в нем такой функционал, как кластеризация, возможность менять конфигурацию, а также внедренное хранилище данных Redis.
Вопрос: Какие возможности будет предоставлять Trove в релизе OpenStack Havana?
Ответ: Компонент Trove работает с MySQL. Он обеспечивает провижининг инстансов, группы безопасности, а также создание и модификацию пользователей БД. Он поддерживает изменение размера, и мы контролируем, чтобы конфигурация и сервис работали после этого в нормальном режиме. Он позволяет осуществлять резервное копирование и восстановление. Собственно, в нем есть все, что бы вы хотели видеть в сервисе MySQL, управляемом с одного инстанса.
Мы потратили немало времени на то, чтобы Trove стал более гибким в настройке для данной итерации, и наши усилия были сконцентрированы на том, чтобы сделать все необходимое для возможности интеграции. Мы устранили большое количество накопившихся технических долгов, в том числе добавив возможность интеграции с RHEL и создания шаблонного конфигурационного файла. Наконец, что не менее важно, мы добавили возможность интеграции с Heat, которая в релизе Havana будет опциональной.
Вопрос: Что бы Вы хотели, чтобы люди знали об этом проекте?
Ответ: Я хочу, чтобы люди знали, что мы больше, чем просто «MySQL как сервис». В релизе Icehouse мы планируем полную поддержку кластеризации для СУБД Cassandra и MongoDB, а также кластеризацию MySQL. Это включает тиражирование типа «ведущий – ведомый» и симметричное тиражирование и кластеризацию Galera/Tungsten.
Вопрос: Есть ли какие-либо распространенные заблуждения относительно Trove?
Ответ: Опять же могу повторить о заблуждении в том, что мы просто «MySQL как сервис» или «SQL как сервис». Мы больше, чем это. Мы хотим обеспечивать провижининг и сопровождение хранилищ данных SQL и NoSQL. Мы не хотим, чтобы на нас повесили ярлык «узкоспециальный проект».
Вопрос: Вы упомянули о концепции Trove. Можете рассказать об этом подробнее?
Ответ: Кластеры. Кластеры. Кластеры. Наиболее перспективным направлением развития для Trove я вижу его превращение в API для провижининга / кластеризации хранилищ данных. Люди не хотят использовать собственные кластеры. Они просто хотят, чтобы их продукт работал. Trove хочет обеспечить простоту установки, конфигурации и обслуживания данных кластеров.
Вопрос: Кто входит в вашу целевую группу?
Ответ: Я думаю, можно угадать, что я отвечу … люди, которым нужны кластеры! Будущее за резервированием данных. То же самое можно сказать о кластеризации. Клиентам нужны их данные и гарантии того, что они будут доступны, когда в них будет необходимость. В этом поможет поддержка кластеризации.
Вопрос: Каковы необходимые предварительные условия для запуска и надлежащей работы Trove на данный момент (в будущем)?
Ответ: Самое серьезное изменение в ближайшие полгода – это проект Heat. Мы рассчитываем на то, что Heat будет поддерживать установку кластеров. Это может означать объединение с командой Heat, а они очень хорошие ребята, так что с этим не будет трудностей! Помимо этого, все, что вам будет нужно, – это соблюдать стандартные требования OpenStack. Как только мы будем лучше интегрированы в DevStack, что произойдет очень скоро, чтобы начать работать, вам потребуется всего лишь запустить DevStack и использовать Trove.
Вопрос: Кого бы Вы хотели видеть в числе участников проекта Trove?
Ответ: Я бы хотел видеть в проекте людей двух типов. Людей, страстно увлеченных данными. Тех, кто знает такие технологии хранения данных, как Galera Cluster, или Cassandra, или какие-либо другие. И, что даже более важно, людей, которые хотят управлять системой. Операторы имеют наилучшее представление о системе в целом, потому что им необходимо знать все ее «ходовые части». Я провел огромное количество интеллектуальных бесед с нашими инженерами и операторами, что позволило мне улучшить продукт Trove.
Вопрос: Какую функциональность необходимо усовершенствовать и протестировать?
Ответ: Я думаю, необходимо усовершенствовать поддержку компонента Heat в силу его новизны. Мне видится, что Trove может сделать многое с Heat в будущем. Мне бы хотелось видеть большее количество людей, которые бы тестировали поддержку нами RHEL/CentOS. Огромную помощь в налаживании работы RHEL/CentOS в полном объеме оказывает команда Mirantis, за что я им благодарен. Я бы хотел, чтобы в этом к ним присоединились и другие компании, что позволит нам оставаться честными в вопросах поддержки RHEL/CentOS.
Вопрос: Как именно люди могут начать работу?
Ответ: Забавно. Мы как раз работаем над упрощением вывода Trove на рабочий режим. Мы используем ряд нестандартных методов, и одна из моих обязанностей в качестве технического руководителя проекта – стандартизация. Мы только что закончили работу над обеспечением поддержки DevStack, и она уже на подходе! Это, наряду с другими возможностями, которые скоро появятся в DevStack, позволит использовать Trove без какой-либо дополнительной настройки. Но пока вам нужно раскрыть diskimage-builder, создать образ диска и выгрузить его в Glance. После этого все так же просто, как с использованием нашего клиентского приложения Trove для провижининга инстанса. Кроме того, в хранилище для интеграции с Trove доступны некоторые вспомогательные скрипты, обновлением которых я займусь в ближайшие дни для обеспечения возможности работы при новом объединении с DevStack. Через несколько недель, когда улягутся страсти, начать работать с Trove будет до смешного просто. А если у кого-то возникнут вопросы, у нас в #openstack-trove есть армия умных людей и один-два робота.
Вопрос: Большое спасибо, Майкл!
Ответ: Не за что!
Автор: Mirantis_OpenStack