Беседовал Рафаэль Кнут (Rafael Knuth)
Представляем вам 10-е интервью из серии бесед с техническими руководителями проектов инициативы OpenStack в блоге Mirantis. Наша цель – обучение как можно большего числа членов технического сообщества и содействие понимаю того, каким образом можно внести вклад в OpenStack и как извлечь выгоду из него. Разумеется, ниже изложена точка зрения интервьюируемого, а не компании Mirantis.
Итак, интервью с Сергеем Лукьяновым, техническим руководителем OpenStack Savanna.
Mirantis: Расскажите, пожалуйста, о себе.
Сергей Лукьянов: Я старший разработчик и технический руководитель в Mirantis Inc, где я работаю уже более 3 лет. В основном я отвечаю за проектирование архитектуры и относящуюся к OpenStack сообществу деятельность. У меня есть опыт участия в проектах по обработке больших объемов данных и работы с соответствующими технологиями — Hadoop, HDFS, Cassandra, Twitter Storm и др., а также разработки проектов промышленного масштаба. На данный момент я участвую в разных open-source проектах, в том числе Twitter Storm и OpenStack.
Вопрос: Как Вы пришли в OpenStack? Почему Вы участвуете в проекте?
Ответ: Активно я занимаюсь OpenStack примерно около года, а еще до этого я наблюдал за его развитием начиная с Diablo релиза. Активная разработка началась для меня с написания той части кода облачного хранилища Swift, которая позволила узнавать извне на каких физических машинах располагаются те или иные данные (в дальнейшем это помогло в реализации локальных вычислений для Savanna). Затем я, непосредственно, начал работать над проектом Savanna и параллельно принимать участие в разработке других OpenStack проектов — Oslo, Swift, Nova client, Hacking, Pbr, Jeepyb и др. Моя основная задача в рамках OpenStack — это увеличение числа сервисов и возможностей, которые он предоставляет, для того, чтобы разработчикам приложений было удобнее использовать эту платформу, и чтобы она получила как можно большее распространение.
Вопрос: За что Вы отвечаете как технический руководитель проекта Savanna?
Ответ: в основном я занимаюсь курированием проекта. Это подразумевает мониторинг и менеджмент багов и блюпринтов на Launchpad’е, координирование работы по проверке нового кода с использованием системы Gerrit, проведение еженедельных IRC митингов с нашей командой и встреч на OpenStack Design Summit. Как мне кажется, технический лидер проекта — это в первую очередь тот человек, который координирует работу всех команд в рамках своего проекта, и следит за тем, чтобы общее направление его развиия совпадало с задачами и поставленными целями. Вдобавок я занимаю одно из первых мест по количеству новых изменений, вносимых в мой проект, а также по количеству проведенных проверок написанного кода от других членов команды.
Вопрос: Какую роль играет проект Savanna в OpenStack? В чем его значимость?
В моем видении OpenStack — это не только и не сколько техническая инфраструктура, а скорее обширное сообщество разработчиков, работающих над невероятно большой экосистемой тесно связанных между собой и активно развивающихся проектов. И именно все это целиком и представляет собой облачную платформу. И здесь я вижу прекрасную возможность для будущего развития этой экосистемы путем внедрения и интеграции ее с другими open-source инициативами и сообществами, их разрабатывающими. И как раз интеграция OpenStack с Apache Hadoop — прекрасный тому пример. С точки зрения пользователя обработка больших обьемов данных может, в конечном счете, быть полезной для большинства проектов инициативы OpenStack.
Вопрос: Что поистине уникального и нового в проекте Savanna?
Ответ: Проект Savanna подал заявку на становление официальным incubated OpenStack проектом на последнем этапе цикла Havana в составе программы Data Processing. На сегодняшний день Savanna обеспечивает выполнение основных инфраструктурных операций в следующих двух областях:
-обеспечение работы и управление Hadoop кластерами на базе инструментов вендоров Hadoop, таких как Apache Ambari для предоставления доступа к платформе обработки данных Hortonworks;
-планирование и обработка Hadoop задач, включая создание, выполнение и т.д.
Я также хотел бы пояснить, что Savanna не предлагает какого-либо Data API по причине очень длинного списка потенциальных проблем с обработкой больших данных. В дальнейшем мы планируем поддержать не только Hadoop, но и другие средства обработки больших объемов данных.
Вопрос: Расскажите о сообществе Savanna – кто участвует в этом проекте?
Ответ: Проект начинался небольшой командой в компании Mirantis. Сегодня над ним работает порядка 30 человек в рамках цикла Havana, костяк команды – сотрудники Mirantis, Red Hat и Hortonworks, остальные участники – сотрудники HP, IBM, UnitedStack и Rackspace.
Вопрос: Чего на данный момент достигло сообщество Savanna?
Ответ: На сегодняшний день у нас есть сервис, который обеспечивает работу и управляет кластерами с поддержкой масштабирования (и увеличения, и уменьшения размеров кластера, в том числе добавления новых типов вычислительных узлов), anti-affinity (в том числе для гарантии надежности узлов данных) и использования локально хранящихся данных для вычислений (для более эффективного выполнения Hadoop задач). Для хранения данных о конфигурации кластеров мы используем шаблоны групп узлов и кластеров. Если говорить о нашей второй и основной функциональной возможности Elastic Data Processing (EDP), то в проекте Savanna поддерживается простое выполнение задач типа jar, Pig и Hive через планировщик заданий Oozie, включая возможность чтения и записи данных из и в хранилище Swift. Что касается возможности расширения фунциональных возможностей, то этот принцип обеспечивается наличием плагинного механизма, содержащего сейчас два плагина для доступа к кластерам Hadoop: плагином Vanilla, который просто осуществляет установку всех необходимых сервисов, и плагином Hortonworks Data Platform, который осуществляет установку Apache Ambari для автозагрузки и конфигурации кластера Hadoop. И, разумеется, плагин для панели OpenStack Dashboard, отражающей всю функциональность нашего проекта.
Вопрос: Какие функциональные возможности предоставит Savanna в рамках релиза OpenStack Icehouse?
Ответ: Основной целью является повышение эффективности интеграции с другими проектами и инфраструктурой OpenStack. Основное изменение, запланированное в рамках Icehouse релиза, – это поддержка Heat для управления ресурсами для того, чтобы заменить им прямое управление через прочие OpenStack сервисы. Также мы ведем работу над интеграцией Savanna и DevStack gate для проверки новых изменений, вносимых в проект (в самом Devstack уже реализована поддержка Savanna), и переходим к тестированию API и комплексному тестированию в Tempest. Кроме того, я надеюсь увидеть в Savanna Icehouse так называемые guest-agents, которые решат все текущие проблемы доступа между облачным контроллером и запущенными на нем гостевыми операционными системами; отпадет необходимость в прямом вызове ssh/API. В рамках функциональности EDP нам бы хотелось усовершенствовать выполнение потоков заданий в целом, реализовать поддержку новых функций, типов задач, источников данных и т.п. Также я ожидаю, что будет реализован, как минимум, еще один новый плагин, поддерживаемый вендорами, например, уже рассматриваемый IDH (Intel Distribution для проекта Apache Hadoop).
Вопрос: Что бы Вам хотелось, чтобы люди знали о проекте?
Ответ: Целью проекта Savanna является обеспечение сообщества OpenStack инструментами для обработки данных. На данный момент наше внимание сконцентрировано на экосистеме Hadoop, но уже идут обсуждения и разрабатываются концепции для поддержки других инструментов, например, Apache Spark и Twitter Storm. То есть в настоящее время мы работаем над сбором пожеланий по EDP и добавлением новых функций и инструментов обработки данных.
Вопрос: Есть ли всеобщие заблуждения в отношении проекта Savanna?
Ответ: Мнение о наличии Data API в нашем проекте. В Savanna нет Data API, но есть API двух уровней управления: один обеспечивает функционирование кластеров/управление ими; другой управляет процедурой выполнения заданий и их потоков. И еще раз о цели проекта. Мы бы хотели предлагать комплексные решения и инструменты в сфере обработки данных, а не разовое решение для одной инфраструктуры. Область нашей деятельности – обработка данных.
Вопрос: В каких случаях может использоваться Savanna?
Ответ: В ходе реализации проекта Savanna мы держим в уме несколько сценариев использования. Во-первых, управление кластерами обработки данных (на сегодняшний день кластеров Hadoop). Еще одним вариантом применения для облачных платформ является использование незадействованных вычислительных мощностей при возникновении пиковых нагрузок. А также возможность управления нагрузкой в процессе обработки данных (различные задания Hadoop на данный момент) в несколько кликов без специальных знаний в области инструментов обработки данных.
Вопрос: Каково Ваше видение проекта Savanna?
Ответ: Я вижу Savanna как сервис, предоставляющий инструменты обработки данных/поддержки кластеров, основной функцией которого является обеспечение операций эластичной обработки данных, например, выполнения некоторых задач и др.
Вопрос: Кого бы Вы хотели видеть среди участников проекта Savanna?
Ответ: Я бы хотел видеть участников двух типов. Нам нужны люди, заинтересованные во внедрении различных дистрибутивов Hadoop и (особенно) других сред обработки данных. Также нам очень нужны операторы – люди, которые начнут использовать Savanna с целью управления нагрузкой по обработке своих данных и помогут нам, присылая нам свои замечания и предложения по усовершенствованию проекта.
Вопрос: Какие функциональные возможности нуждается сейчас в усовершенствовании и тестировании?
Ответ: В тестировании нуждается интеграция с Heat, т.к. это заменит очень большую часть кода для управление ресурсами. Мы работаем над переносом комплексного интеграционного тестирования в Tempest, и здесь нам нужна помощь как в переносе старых тестов на эту платформу, так и в написании новых. А также нужно продолжать тестирование Savanna в различных операционных системах в сочетании с различными гостевыми операционными системами.
Вопрос: Как люди могут начать работать с Savanna?
Ответ: Я надеюсь, сейчас это не очень трудно. Установку можно выполнить с помощью DevStack, нужно будет только загрузить в Glance образ диска на базе diskimage-builder, доступного в CDN. На docs.openstack.org/developer/savanna представлены детальные руководства по использованию для разработчиков, администраторов и пользователей. И, разумеется, наша команда работает над упрощением этого процесса, особенно ввиду ожидания разработчиков новых плагинов и, как следствие, новых участников проекта. Если у вас есть вопросы, нашу команду можно найти на IRC канале #savanna в freenode.net или используя электронную рассылку openstack-dev@lists.openstack.org (указав в теме письма префикс [savanna]).
Вопрос: Спасибо, что уделили нам время, Сергей.
Ответ: Спасибо Вам.
Автор: Mirantis_OpenStack