Интервью с Джоном Гриффитом, руководителем проекта OpenStack Cinder (блочное хранение данных)

в 19:45, , рубрики: api, cinder, cloud, grizzly, LVM, open source, openstack, ptl, python, SATA, solidfire, wiki page, Блог компании Mirantis/OpenStack, мирантис

Это интервью – третье из серии наших интервью с техническими руководителями проектов OpenStack, размещённое в блоге Мирантис. Нашей целью является просвещение компьютерного сообщества в вопросах, связанных с проектом OpenStack. Ответы на эти вопросы предоставляет сам опрашиваемый. Интервью публикуется с купюрами в связи с ограничением длины статьи.
Итак, это интервью с Джоном Гриффитом, техническим руководителем проекта OpenStack Cinder.

Мирантис: Представьтесь, пожалуйста? Расскажите Вашу историю, как вы попали в OpenStack и почему решили принять участие в этом проекте?

Джон Гриффит: В 2011 году перед саммитом в Бостоне меня пригласили заниматься проектом OpenStack в компанию SolidFire. Я начинал так же, как и многие в индустрии хранения данных: создавал драйвера, исправлял ошибки. Во время конференции в Сан- Франциско мы с коллегами выдвинули идею проекта Cinder, как идею своего собственного проекта, и для меня это было только началом.

Что касается «почему», то для меня OpenStack — это построение открытого «облака», и что OpenStack собой представляет. Этот проект для меня — фантастический и необходимый фактор, меняющий правила игры в индустрии. Мне очень нравится, что я являюсь частью этого проекта, создаю его, проповедую его и пользуюсь им.

М.: Какие обязанности Вы выполняете, как технический руководитель Cinder?

Дж.: В инструкции для Технических Руководителей Проекта (PTL) очень хорошо расписано, что значит быть техническим руководителем в OpenStack. А если вкратце: действуй как руководитель и представитель проекта.

Должность PTL оказалась одной из самых сложных работ в моей жизни. Техническая часть работы, конечно же, сложна, но есть ещё и руководство самим проектом: устранение ошибок, работа с сообществом и партнёрами для дальнейшего развития проекта; это действительно работа на полный рабочий день, и я считаю, что каждый, кто берётся за роль PTL, должен быть воодушевлённым идеей проекта и преданным ему.

М.: Вы не могли бы пояснить роль Cinder в системе OpenStack, и в чем заключается важность этого элемента?

Дж.: Cinder представляет собой сервис блочного хранения данных в системе OpenStack. Блочное хранение данных — это высокопроизводительный сервис, который позволяет OpenStack снабжать Вас любыми необходимыми данными на постоянной основе.

Cinder много значит, так как блочная система хранения данных предельно важна для облачной модели. Я имею ввиду то, что Cinder позволяет системе OpenStack справиться с нагрузками сильнее тестовых, и стать полноценной службой постоянного высокопроизводительного доступа к данным (в частности на предприятиях/для личного пользования «облака»). Это позволит запускать базы данных и работать при любых нагрузках.

М.: Что принципиально нового и уникального в Cinder?

Дж.: Ну, в области инноваций облачного хранилища (по сравнению с традиционной блочной системой хранения) Cinder отличается возможностью подстраивать свой объём и дробить данные на ячейки. С Cinder Вы можете контролировать свои данные на уровне томов; Вы можете развернуть один том для Ваших вычислений в отличие от целого запоминающего устройства, из которого придётся вычленять нужные данные. Есть также преимущества в изменении размеров хранилища и хранения разнородных объектов. У Вас может быть несколько запоминающих устройств, каждый со своими сильными и слабыми сторонами, доступные в любой момент времени при первой необходимости. Короче говоря, Cinder есть воплощение программно- управляемого хранилища.

М.: Каковы успехи сообщества Cinder на данный момент?

Дж.: Я, конечно же, несколько пристрастен в своих оценках, но наше сообщество добилось серьёзных успехов всего за год. Мы создали и запустили проект, добились его развития, сделали его более надежным в работе, добавили некоторые ключевые возможности. Помимо таких возможностей, как упрощенный запуск тома, конфигурации нескольких устройств хранения и некоторых довольно классных возможностей расширенного планирования, мы увидели интерес со стороны продавцов хранилищ и добавили несколько драйверов в релизе Grizzly и отладили совместимость с API и их интерфейсом.

М.: Какие нововведения мы увидим в релизе OpenStack Havana?

Дж.: Есть довольно большой список вещей, которые мы хотим расширить и улучшить касательно качества и надежности нашего сервиса, а также в рамках нового функционала. Мы работаем над введением процесса развертывания гипервизора на голое железо, позволяющего делить тома между несколькими пользователями и прикреплять их к нескольким запросам сразу.

М.: Нарушает ли Cinder классическую систему хранения корпоративных данных или она дополнительная?

Дж.: Я определённо считаю, что нарушает, и это очевидно по попыткам поставщиков хранилищ приладить свои традиционные драйвера к нашему сервису. Программно-управляемое хранилище изменяет правила игры, и сейчас мы находимся в стадии, когда хранилища данных из ИТ – технологий превращаются в полноценный Сервис с инфраструктурой. Для тех компаний, которые осознают преимущества и потенциал программного обеспечения, как услуги, это станет определенно взрывным моментом.

М.: Где лучше всего проявляет себя Cinder? И как с наибольшей пользой его использовать?

Дж.: Первое, что приходит в голову – расширяемость и знание ваших требований. Cinder отлично абстрагирует различные типы хранилищ данных и предоставляет блочное хранение данных как сервис, однако важно помнить, что разные хранилища имеют разную производительность. Вы можете назначить определённые хранилища для конкретных нагрузок и сделать это прозрачным для пользователя, однако в таком случае нужно знать наперёд, каковы будут запросы пользователей и как они собираются использовать Cinder.

Примечательно в блочном хранилище то, что Вы можете обработать несколько запросов одним развёртыванием Cinder с обращением к нескольким устройствам хранения. Это даёт возможность распределять и подстраивать данные под ежедневные нужды. Здесь лучше всего себя проявит динамическая вместимость: если Ваши требования к объёму хранилища буду возрастать, то Cinder (и в целом OpenStack) подстроится под эти запросы.

М.: Возникают ли у людей трудности в обращении с Вашим сервисом и стоит ли им воспринимать его не так, как традиционные виды сервисов?

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

В этом отличие и от старой парадигмы взглядов на блочную систему хранения, которая выглядела следующим образом: «Итак, у меня есть большая куча дисков с RAID 10, и на основе этого я хочу использовать их. Я подсоединю их к компьютеру и настрою характеристики X Y Z. Потом запущу систему, к которой смогут обращаться машины из другого конца моей сети…» и так далее. С «облачной системой» хранения всё завязано на том, что все данные на одном ресурсе, и Вы можете обращаться к ним когда угодно, где угодно и сколько захотите.

М.: Как Вы считаете, как люди смогут рассчитать необходимую мощность для обеспечения необходимого объема блока хранения данных в облачной системе OpenStack?

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

М.: Существуют ли такие вещи, о которых бы вы хотели проинформировать людей? Какие -то скрытые преимущества, о которых люди не знают?

Дж.: Что касается скрытых преимуществ, я не думаю, что есть что-то скрытое. Но я считаю, что люди все еще воспринимают службу работы с блочными устройствами хранения данных как постоянное хранилище, к которому можно прикрепить какой-либо компонент и использовать для тестирования или разработки приложений. На самом деле вы можете перенести приложения и рабочие задачи и получить реальную производительность, в том числе для электронной коммерции, баз данных и прочего.

M.: Что необходимо для развертывания Cinder?

Дж.: С позиции OpenStack вообще требований довольно мало. Вы, безусловно, должны иметь хорошее представление обо всех компонентах, которые входят в состав OpenStack.

Требования к оборудованию Cinder зависят от того, что вы в итоге устанавливаете для хранения ваших данных. Если вы хотите использовать эталонную версию LVM (менеджер логических томов), то вам необходимо пара терабайт памяти на жестком диске SATA и мощный процессор.

M.: Сколько времени потребуется на развертывание Cinder?

Дж.: Это очень сложный вопрос. Я думаю, что если вы действительно хотите понять OpenStack, иметь возможность его настраивать и обслуживать, то вам нужен человек, который бы специализировался на управлении OpenStack. При работе с Cinder вам, возможно, достаточно недели, чтобы набрать скорость, понять все достаточно хорошо, поддерживать в рабочем состоянии и обеспечивать необходимыми средствами, но, как я уже сказал, вам необходим ресурс, который бы отвечал за управление OpenStack.

M.: Кого бы вы хотели видеть в качестве разработчиков Cinder?

Дж.: В первую очередь тех, кто страстно увлечен OpenStack, а также свободным программным обеспечением в целом. У многих, конечно же, есть свои собственные интересы или бизнес-причины для содействия сообществу, но те, кто действительно выделяются – люди, которые сохраняют баланс между собственным интересом и проектом в целом.

С точки зрения навыков, есть пара пунктов. Конечно, вы хотите кого-то, кто является замечательным разработчиком программного обеспечения и знает Python, так как в OpenStack Python – это всё. Но также важны и те, кто разбирается в масштабных вычислениях. Короче говоря, нужен кто-то, кто разбирается в «облачной системе», и понимает динамику и парадигму системы в сравнении с традиционными компьютерными технологиями.

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

M.: На каких из трех перспективных разработок должны сосредоточиться новые сотрудники?

Дж.: Да, так как количество улучшений уменьшается, люди возможно хотят видеть то, что называется конечным автоматом, хотят, чтобы Cinder лучше отслеживал состояние и структуру тома на протяжении всего жизненного цикла тома. Мы хотим увидеть то, как делаются некоторые вещи, такие как поддержка канала ввода-вывода, ее расширение и улучшение.

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

M.: Какие первые шаги должны сделать потенциальные участники?

Дж.: Общение через списки рассылок и через IRC является хорошей отправной точкой. На первый взгляд это непреодолимо, но все не так плохо, как кажется в начале, просто заглядывайте в канал #openstack-dev — общее место для разработчиков. По вопросам развития работы Cinder также существует свой канал #openstack-cinder. Я рекомендую начать знакомство с OpenStack How to Contribute wiki page и с devstack.org. Это дает вам возможность освоиться в рабочей среде OpenStack, вы можете покопаться в информации и тем самым, понять, как работают те или иные компоненты.

M.: Большое спасибо, Джон!

Дж.: Пожалуйста.

Автор: Mirantis_OpenStack

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js