Pull to refresh
247.87
Rating
Инфосистемы Джет
российская ИТ-компания

Облако OpenStack: мифы и реальность

Инфосистемы Джет corporate blog Open source *
Проект OpenStack возник по инициативе двух производителей и объединил их продукты – объектное хранилище Rackspace и систему управления гипервизорами NASA. «OpenStack призван помочь организациям предоставлять облачные вычислительные ресурсы, запущенные на стандартном оборудовании», – заявляют вендоры. В данном материале мы попробуем разобраться, так ли это на самом деле.

OpenStack сегодня


Первый релиз OpenStack вышел в октябре 2010 г. Так компания Rackspace стала одним из ближайших конкурентов другого облачного провайдера IaaS – Amazon Web Services (AWS), который в то время сильно терял свои позиции. По сути, OpenStack – копия AWS: многие сервисы и процессы в этих платформах одинаковы и даже совместимы между собой.

IaaS: OpenStack vs. Amazon Web Services



OpenStack состоит из нескольких модулей, которые взаимодействуют между собой через каталог сервисов. Сегодня платформа включает:
  • средство управления гипервизорами (Nova)
  • объектное хранилище (Swift)
  • хранилище образов виртуальных машин (Glance)
  • веб-интерфейс управления (Horizon)
  • каталог пользователей и сервисов (Keychain)
  • средство управления сетевой инфраструктурой (Neutron)
  • блочное хранилище (Cinder)
  • оркестратор облачных приложений (Heat)
  • инструмент учета потраченных ресурсов (Ceilometer)
  • средство предоставления БД как услуги.

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

О мифах


Является ли OpenStack технологией будущего, мейнстримом? Как знать. Возможно, это такой же неизведанный пока Клондайк, как Linux начала 90-х гг, когда мало кто о нем знал и совсем немногие видели. OpenStack обладает большим потенциалом, но на сегодня трудно назвать его готовым продуктом. И вот почему.

Функционал решения постоянно трансформируется, дополняется и документация не всегда успевает за этими изменениями. Зачастую в новом релизе появляются возможности, которые не отражены в инструкции к продукту.

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

Внедрение OpenStack требует серьезной работы программистов. Если вы собираетесь продавать облачные услуги на основе данного продукта (пусть даже в рамках одной своей компании), имеющегося в нем функционала будет явно недостаточно. Например, вы не сможете ограничить сетевой трафик одной виртуальной машины так, чтобы она не мешала другим. Базовые возможности OpenStack не позволяют плавно регулировать потребляемые ресурсы и даже мигрировать виртуальную машину на другой хост. Средств мониторинга доступности тоже нет. Наконец, хороший пример готовности OpenStack как продукта – процедура добавления и удаления узлов с гипервизорами. Добавляются они определенной процедурой, а вот для удаления compute-ноды нет специальной команды. Приходится идти в специальную таблицу MySQL и делать это вручную:

mysql> delete from compute_nodes where hypervisor_hostname='nova4’;
Query OK, 1 row affected (0.00 sec)
mysql> delete from services where host='nova4’;
Query OK, 1 row affected (0.00 sec)
mysql>

Безвозмездно, то есть даром? Скачать OpenStack вы можете абсолютно бесплатно. Однако в силу неготовности продукта его «бесплатность» выливается в серьезные трудозатраты в части доработки.

Разрабатывается свободным сообществом? На сайте OpenStack можно посмотреть статистику: кто и в какой степени участвовал в разработке кода решения.

За всю историю существования OpenStack



Больше остальных отличилась компания Rackspace, зарабатывающая на предоставлении пользователям инфраструктуры как услуги. Далее идут Red Hat, которая занимается продажами, внедрением и поддержкой решений OpenStack; затем – HP и IBM, предоставляющие облачные услуги на базе OpenStack. Как видим, доля свободных программистов-энтузиастов (OpenStack Foundation) минимальна, а по количеству пользователей это всего 5–10 человек за все 4 года.

Релиз Juno (октябрь 2014)


Если смотреть на последнее полугодие 2014-го – картина несколько изменилась, но лидеры остались практически те же. Плюс появились новые игроки – Mirantis, продающая только OpenStack (инсталляции и поддержку), а также компания SUSE. Замыкают список производители, у каждого из которых собственные цели. NEC обеспечивает поддержку своего оборудования, работающего с OpenStack. VMware пытается защитить свою экосистему, «возглавив» реализацию совместимости OpenStack с ESXi.

С OpenStack у меня будет свой Amazon? Является ли данная технология ключевым фактором успеха для облачного провайдера? Нет, не является. Это хорошо видно по магическому квадранту Гартнера. Подавляющее число компаний используют VMware, чуть менее популярен KVM. А вот платформе Xen отдали предпочтение как IBM, Fujitsu и GoGrid, так и явный лидер Amazon. Понятно, что дело вовсе не в гипервизоре.



Можно ли заменить традиционные виртуальные машины облачными? Особенности двух подходов к виртуализации отражены в сравнительной таблице (спасибо Red Hat за нее).

Традиционные ВМ ( ESXi, RHEV) Облачные ВМ (OpenStack, AWS)
Большие. Данные хранятся внутри ВМ Маленькие. Данные хранятся снаружи ВМ
1 приложение — 1 ВМ 1 приложение — много ВМ
Цикл жизни ВМ – годы Цикл жизни ВМ – от часов до месяцев (приложения находятся не внутри ВМ, а снаружи)
Увеличить ту или иную ВМ с приложением можно лишь до размеров ее хоста При увеличении/уменьшении числа пользователей можно динамически создавать/удалять ВМ
Вертикальное масштабирование (наращивается производительность ВМ) Горизонтальное масштабирование (увеличивается количество ВМ)
Приложение находится внутри и не переживет сбой ВМ, т.е. важно обеспечить отказоустойчивость В случае сбоя ВМ облачное приложение создает ее с нуля, оставаясь в рабочем состоянии
SLA требует обеспечения доступности приложения через Live Migration, HA и другой подобный функционал SLA требует возможности добавления/удаления экземпляров ВМ для поддержания доступности приложения

Эксплуатация. В OpenStack нет средств обеспечения высокой доступности и конкретных планов по ее реализации. Системы резервного копирования для ВМ также нет. Если сервер виртуализации вышел из строя, то и виртуальные машины мы потеряли – придется создавать новые (и это нормально).

Рекламируется, что OpenStack работает во всех гипервизорах, однако это не так. Основная система управления, по которой ведется разработка и тестирование продукта, – KVM. Остальные либо тестируются не полностью (например, Microsoft Hyper-V, гипервизоры VMware, Citrix XenServer 6.2), либо не тестируются вовсе (Baremetal, Docker, LXC через libvirt, Xen через libvirt) и их работа в OpenStack не может быть гарантирована. В последнем случае при запуске вы увидите сообщение вроде: «The libvirt driver is not tested on xen/x86_64 by the OpenStack project and thus its quality can not be ensured».

При этом возможность живой миграции (Live Migration), т.е. переноса ВМ с одного физического сервера на другой без остановки сервисов, в OpenStack отключена по умолчанию. Несмотря на то, что данный функционал поддерживается основным гипервизором – KVM.

Применение OpenStack


Несмотря на обозначенные особенности и недостатки, платформу OpenStack вполне можно использовать для различных задач. Один из вариантов: у вас уже есть какая-то облачная среда (например, тот же Amazon или Rackspace), но вы хотите переехать, развернув облачные сервисы у себя.

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

Если есть регулярная потребность в тестировании или нужна облачная платформа для разработки нового приложения, также есть смысл обратить внимание на OpenStack. Как вариант, можно задействовать только какой-то отдельный модуль OpenStack. Например, используя труд нескольких программистов, написать и реализовать нечто вроде корпоративного Dropbox на основе Swift.
Tags:
Hubs:
Total votes 8: ↑5 and ↓3 +2
Views 31K
Comments Comments 7

Information

Founded
1991
Location
Россия
Website
jet.su
Employees
1,001–5,000 employees
Registered