LXF161:Что за штука OpenStack?
|
|
|
Что за штука…OpenStack
Грэм Моррисон избегает облачных метафор, пытаясь удержать почву под ногами.
В
OpenStack ведь не такая уж и новинка, не так ли? Что-то вы перестали успевать за событиями.
О
Да, вы правы. Об OpenStack уже наслышаны. Еще в 2010-м компания Rackspace, известная хостингом многих сайтов, начала сотрудничать с NASA – агентством, прославленным якобы отправкой астронавтов на Луну. Их совместный проект стартовал после публикации записи в блоге одного из сотрудников NASA. Заголовок был: «Вышла NOVA – Облачная технология под лицензией Apache, на Python. Живая, кривая, бета. Проверяйте». И далее, NASA и Rackspace вместе творили своего рода фантастический сетевой мир, где хранение, ресурсы и производительность существуют как нечто само собой разумеющееся, и маленькие стартапы могут спокойно строить в облаках свои башни из слоновой кости, зная, что когда их день придет, они смасштабируют все вверх, быстро и эффективно, прежде чем продаться Facebook.
С OpenStack такое стало реальностью: ведь это открытый код, работающий подобно всему Linux. Да многие и называют это «Linux облачных вычислений». Можете оплатить кому-нибудь слежение за вашим OpenStack, а можете просто поэкспериметировать с ним, зная, что эту игрушку всегда можно превратить в мощное орудие. Как и Linux.
В
Нет. Пожалуйста, только не про облака. Я ничего в этом не понимаю.
О
Пожалуй, главная аналогия между облачными вычислениями и обычными облаками – то, что никто не может дать им точного определения: определения здесь переменчивы, как погода. Можно сказать, что это и Gmail, и Google Docs, но это и ваша учетная запись на Facebook, и календарь Exchange.
Если вы трудитесь в технической сфере, вполне возможно, что IT-отдел вашей компании уже меняет стойки серверов на арендуемое пространство где-нибудь на облаке; или, скажем, вам нужно передать большой объем научных данных на EC2 от Amazon и получить результаты вычислений за минуты, а не за недели, как это будет на обычном настольном ПК.
В
То есть более конкретно о функциях OpenStack сказать нельзя?
О
Если говорить конкретнее, есть риск погрязнуть во всяких страшных сокращениях, например, IaaS – и ослиный клич здесь вовсе ни при чем, ведь это означает Infrastructure as a Service [Инфраструктура как Услуга]. В этом случае облако сродни IT-отделу из предыдущего примера, когда компания меняет собственную инфраструктуру на ту, что она получает в облачном объеме. Это та сфера бизнеса, которую Rackspace жаждет контролировать, и не без серьезной причины.
Когда одна компания управляет инфраструктурой, позволяя сэкономить любой компании из тех, что желает избавиться от своего IT-отдела, на этом можно сделать огромную прибыль. И это более чем привлекательная модель бизнеса. OpenStack работает на том же уровне. Его можно использовать как IaaS, ведь вы можете делать с ним, что хотите – как с виртуальной машиной, например.
На другом конце шкалы окажется SaaS, то есть Software as a Service [Программное обеспечение как услуга]. Это проще понять, поскольку вы управляете не целой инфраструктурой, а лишь одним конкретным приложением. Это может быть ваша внутренняя система управления работой с клиентами, или любая другая глобальная система, работающая на постоянный доступ.
Существенное различие между SaaS и прежними моделями серверов заключается в том, что сами приложения предоставляются владельцем облака. Вот простейший пример: вы платите Google за право корпоративного доступа к почте, календарю и документам, вместо того, чтобы создавать подобные программы самостоятельно или платить другой компании за хостинг ваших серверов.
С SaaS вам не нужно заботиться об установке, развертывании и поддержке (если, конечно, это не услуги, предоставляемые на вашем облаке). OpenStack становится сходным с SaaS, если вы настроите его так, чтобы на нем была некая услуга, которую вы будете продавать клиентам – к примеру, почта или редактирование документов.
В
Хорошо, но что же особенного именно в OpenStack?
О
Есть ряд причин, делающих его особенным и достойным вашего внимания. И первая – это действительно открытый код. Все его компоненты выпущены под лицензией Apache, немного более либеральной, чем GPL.
Это значит, например, что любые изменения можно публиковать под другой лицензией, и эта особенность стала своего рода визитной карточкой команды OpenStack. Вот фрагмент из пятиминутного обзора проекта: «Мы твердо верим, что открытая модель разработки – единственный путь стимулировать так необходимые нам облачные стандарты, забыть об угрозе приватизации облачной сферы и создать огромную экосистему сосуществующих облачных провайдеров». При открытом API, открытых форматах и полностью свободных исходниках, вы поймете, почему OpenStack очень важен именно сейчас, когда на облачные технологии тратится столько денег. С большой вероятностью можно утверждать, что компании, пока что работающие со своими частными облаками во внутренних сетях, со временем передадут их провайдерам OpenStack, таким как Rackspace, когда посчитают нужным.
Другая причина в том, что OpenStack уже стал своеобразным феноменом. Стоит только посмотреть на официальный список из 180 компаний, которые признали, что используют его. Помимо Rackspace, cреди них вы найдете Dell, AMD, Cisco, HP, AT&T, Broadcom и Yahoo. NASA, увы, перебирается на Amazon.
Можете заглянуть и в список Linux-гигантов, все чаще обращающихся к OpenStack – здесь и RedHat, и SUSE, и Canonical. У RedHat прежде были свои облачные проекты, такие как Aeolus – довольно удачное решение для создания собственной виртуальной машины, как внутренней, так и развернутой на множестве несовместимых облаков. Но в апреле, перейдя на новую систему управления, они все же приняли OpenStack.
В
Но ведь Canonical вроде тоже активно развивала собственный облачный проект, Eucalyptus?
О
Да, это так. Но около года назад владельцы Ubuntu объявили о переходе на OpenStack. По-видимому, такое решение было продиктовано тем, что Eucalyptus менее открытый проект, чем OpenStack. Это тоже открытый код, но релизы, к примеру, выходят раз в полгода. А в OpenStack проприетарные компоненты отсутствуют в принципе.
В
То есть в OpenStack несколько компонентов?
О
Да, как таковых, их три. Первый называется OpenStack Compute. Это та самая ‘Nova’, о которой говорилось в первом посте, и это собственно инфраструктура. Среда обитания виртуальных машин. Сompute предоставляет через API доступ для настройки и управления ими. Здесь разработчики могут не просто работать на виртуальном оборудовании, но также заниматься масштабированием и распараллеливанием.
Несмотря на низкоуровневую природу упомянутых операций, Compute написан на Python, и многие разработчики предпочитают использовать именно привязки на Python. Реализована поддержка различных гипервизоров (систем выполнения виртуальными машинами). В этом его отличие от Eucalyptus, который поддерживает только Xen и KVM, что стало возможно только после значительного содействия со стороны Canonical.
OpenStack же поддерживает не только KVM и Xen, но и VMWare, LXC (Linux Containers – ищите учебник в следующем номере), User Mode Linux и даже Qemu, хотя в документации в отношении двух последних сказано, что их лучше использовать в разработке, нежели сами по себе.
В
А что вы можете сказать про другие компоненты?
О
В то время как инфраструктурой управляет Nova, следующим обязательным требованием для облачной системы является хранилище. В отличие от компьютера, на котором вы это читаете, хранение в облаке невозможно без распределенных систем, процессов и динамической емкости.
Этот компонент в OpenStack называется Object Storage, или Swift, и был изначально разработан Rackspace. Как и Nova, он написан на Python и поддерживает и файлы (объекты), и блоки, что пригодно для долгосрочного хранения образов дисков виртуальных машин.
Есть также множество дополнительных функций, таких как возможность легко увеличивать емкость или автоматически исправлять повреждения, и масштабировать до размеров, которые большинство пользователей себе даже не представляет – множества петабайт и миллиардов объектов.
Наконец, Swift связан с Nova при помощи OpenStack Image Service, который отвечает за поиск, регистрацию и доставку образов виртуальных дисков. |