W 00475 А.В. Ставицкий1, И.Г. Ашавский1, Д.В. Волков2
DOI: http://dx.doi.org/10.21686/1818-4243-2018-6-39-50
1ООО СбКлауд, Москва, Россия 2Российский экономический университет им. Г.В. Плеханова,
Москва, Россия
Разработка курса для обучения современным облачным технологиям
Цель исследования. Целью исследования является создание курса обучения современным облачным технологиям на основе облачной платформы виртуализации openstack.
Популярностью платформы openstack обуславливается выбор ее в качестве основной платформы для построения облачных технологий во многих крупных российских и международных компаниях различных сфер бизнеса.
В процессе разработки курса была поставлена цель придерживаться принципов открытого образования. Предпосылками к разработке курса являются рост популярности облачных технологий в большинстве ИТ-компаний и потребность в квалифицированных специалистах в данной сфере. Материалы и методы. В качестве основных материалов для проведения исследования были отобраны аналитические отчеты в области современных трендов развития облачных технологий, материалы о существующих тенденциях в найме сотрудников по отраслям, а также официальная документация по проектам, использующимся в курсе.
В ходе разработки и реализации проекта использованы педагогические приемы:
• самостоятельное получение нового знания с опорой на уже имеющиеся;
• работа в коллективе и демонстрация коммуникативных умений; выдвижение учебных гипотез по разрешению проблемных ситуаций;
• планирование достижения поставленной цели (получение результата);
• частные приемы учебной деятельности студентов (детализация задач, начальных условий и хода изучения). Результаты. В результате исследования была обоснована необходимость создания образовательного курса для студентов, а также был разработан специальный курс по обучению работе
с облачной платформой виртуализации openstack, включающий в себя перечень необходимых материалов (презентации, лекции, семинары, а также платформа и лабораторные стенды для студентов с возможностью доступа через Интернет). Была создана веб-страница спецкурса, на которой потенциальные студенты имеют возможность ознакомиться с описанием и базовыми компонентами курса, отправить запрос на участие, а также получить доступ к материалам (после подтверждения участника администратором).
Ежегодно, разработанные материалы, платформа и лабораторные стенды обновляются ввиду выхода новых версий openstack, добавления нового функционала и актуализации потребностей бизнеса. Заключение. В заключении был сформулирован вывод о целесообразности создания специального курса для студентов и заинтересованных специалистов. Разработанный курс был апробирован в ведущих высших учебных заведениях страны, и является удобным инструментом как для самих студентов, так и для компаний, заинтересованных в квалифицированном персонале в области облачных технологий. Спецкурс был апробирован на студентах факультетов вычислительной математики и кибернетики, механико-математическом факультете Московского Государственного Университета, Финансового Университета, Российского Экономического Университета им. Г.В. Плеханова, Университета Иннополис и Московского Технического Университета Связи и Информатики. По результатам спецкурса был проведен отбор студентов на практику и стажировку, что подтвердило эффективность разработанного курса.
Ключевые слова: облачные вычисления, ИТ-инфраструктура, виртуализация, виртуальные рабочие места, открытое образование
Aleksandr V. Stavitskiy1, Ilya G. Ashavskiy1, Denis V. Volkov2
1SbCloud LTD, Moscow, Russia 2Plekhanov Russian University of Economics, Moscow, Russia
Development of a course for training in modern cloud technologies
Purpose of the study. The aim of the study is to create a course on modern cloud technologies based on the openstack cloud visualization platform.
The popularity of the openstack platform makes it the main platform for building cloud technologies in many large Russian and international companies in various business areas.
In the process of developing the course, the goal was to adhere to the principles of open education.
Development of the course was motivated by the growing popularity of cloud technologies in most IT companies and demand for qualified specialists in this field.
Materials and methods. Analytical reports in the field of modern trends in the development of cloud technologies, materials on current trends in hiring employees by industry, as well as official documentation on projects, used in the course are selected as the main materials for the study.
During the development and implementation of the project, the following pedagogical techniques were used:
• acquisition of new knowledge based on pre-existing one;
• teamwork and demonstration of communication skills; making educational hypotheses to resolve problematic situations;
• planning to achieve the goal (getting results);
• private methods of students' learning activities (detailing the tasks, initial conditions and the course of the study).
Results. As a result of the study, the necessity of creating an educational course for students was substantiated, and a special course was developed for teaching the openstack cloud virtualiza-tion platform, which includes the necessary materials (presentations, lectures, seminars, as well as a platform and laboratory stands for students with access via the Internet). A special course web page was created where potential students have the opportunity to familiarize themselves with the description and basic components of the course, send a request for participation, and also get access to the materials (after confirmation of the participant by the administrator).
Every year, the developed materials, the platform and laboratory stands are updated due to the release of new versions of openstack, adding new functionality and updating business needs. Conclusion. In conclusion, a decision was formulated on the advisability of creating a special course for students and specialists. The developed course was tested in leading higher educational institutions of the country, and is a convenient tool for both students and companies, interested in qualified personnel in the field of cloud technologies.
The special course was tested on students of the Faculties of Computational Mathematics and Cybernetics, the Faculty of
Mechanics and Mathematics of Lomonosov Moscow State University, Financial University under the Government of the Russian Federation, Plekhanov Russian University of Economics, Innopolis University and Moscow Technical University of Communications and Informatics.
According to the results of the special course, students were selectedfor internships and practical training, which confirmed the effectiveness of the developed course.
Keywords: cloud computing, IT-infrastructure, virtualization, virtual workplaces, open education
Введение
Образование является неотъемлемой частью жизни современного человека. Растут потребности бизнеса, а с ними развиваются технологии, для удовлетворения возрастающих потребностей необходимы квалифицированные кадры. Онлайн-курсы — один из самых современных и удобных инструментов для получения требуемых знаний в короткие сроки с минимальными затратами.
Постановкой задачи данного исследования является разработка курса открытого образования по теме облачных технологий и апробация данного курса на студентах некоторых ведущих высших учебных заведений России.
Для дальнейшего построения курса, необходимо придерживаться основных принципов открытого образования
[3][1]:
• удовлетворение спроса населения на образовательные услуги, не обеспеченные традиционными системами обучения;
• предоставление возможности получения образования по месту жительства широким слоям населения, совмещения работы и учебы;
• минимизация затрат учащихся — на образование, учебных заведений — на организацию образовательного процесса;
• расширение круга потребителей образовательных услуг, в том числе в труднодоступных, малонаселенных регионах, в районах, удален-
ных от научных и культурных центров страны;
• повышение качества обучения слушателей и студентов независимо от их местонахождения;
• решение проблемы занятости и повышения уровня подготовки специалистов за счет обучения в дистанционной системе повышения квалификации и переподготовки кадров;
• предоставление возможности получения основного и дополнительного образования по российским программам русскому и русскоязычному населению зарубежных стран;
• развитие механизмов экспорта и импорта российских образовательных услуг с целью укрепления экономической базы образования и влияния России на международной арене.
В дальнейшем, в процессе разработки курса будем придерживаться данных принципов.
Исследование принципов и методов открытого образования представлены в работах следующих авторов: Лупано-ва В.Н., Буров К.С., Зубаревой К.А. [8][1][5]
Исследование методов применения облачных технологий (в том числе в процессе образования) представлены в работах следующих ученых: Кудрявцева А.О., Кошелева В.К., Избышева А.О., Дудиной И.А., Курмангалеева Ш.Ф., Аветисяна А.И., Иванникова В.П., Велихова В.Е., Рябинкина Е.А., Еловикова А.Е. [7][4]
Актуальность данного исследования обуславливается
ростом популярности облачных технологий в большинстве ИТ-компаний и потребностью в квалифицированных специалистах в данной сфере.
Предложенное новое решение представляет из себя разработанный образовательный курс по обучению слушателей работе с облачной платформой виртуализации орешТаск, включающий лекционные и практические материалы, а также платформу для интерактивного взаимодействия.
1. Тенденции развития облачных технологий
Эксперты и консалтинговые компании фиксируют и прогнозируют рост затрат компаний на информационные технологии в 2017—2020 годах и, значительную часть в общем бюджете занимают облачные технологии. [15]
В мировых развитых странах все больше распространяются технологии так называемых облачных вычислений (cloud computing). На российском рынке они еще не так заметны, но все равно постепенно начинают проникать в отечественную бизнес-структуру. «Конкурентная борьба между предприятиями требует от информационных систем обеспечения их развития, адаптации к рыночным изменениям и обеспечения конкурентных преимуществ» [2, 229]. ИТ-инфраструктура организаций является одной из самых затратных статей в расходах и компании стремятся оптимизировать использование физических ресурсов,
усилив таким образом свое конкурентное преимущество. Под физическими ресурсами в ИТ-инфраструктуре традиционно понимаются вычислительные узлы, сетевые устройства, устройства хранения и репликации данных. Таким образом, главной проблемой, которая ставится перед облачными технологиями, является неоптимальное использование вычислительных и временных ресурсов (настройка сервера под конкретную задачу занимает время системного администратора).
На сегодняшний день выделяют следующие модели предоставления облачных услуг:
• PaaS: Platform as a Service «платформа как услуга»;
• IaaS: Infrastructure as a Service «инфраструктура как услуга»;
• SaaS: Software as a Service «ПО как услуга».
Таким образом, при модели SaaS, в итоге пользователь экономит на покупке лицензии, а разработчик защищает свой продукт от несанкционированного использования и распространения [12, 239].
Популярность облачных технологий определяет тренды их развития, которые влияют на облачный рынок в целом, и на необходимость найма все большего количества квалифицированных специалистов. Эта необходимость, в свою очередь, повышает спрос на образование в данной сфере [13].
Для предоставления услуг по моделям представленным выше, необходима ИТ-инфраструктура, которая, в большинстве случаев, обеспечивается облачными технологиями.
Важным аспектом облачных технологий является их экономическая целесообразность и энергоэффективность.
Мы, вслед за Дэвидом Мэ-йснером (David Meisner) будем считать, что в режиме простоя выделенные вычислительные узлы потребляют 60% энергии от энергопотребления пиковой
нагрузки [17, 1], а стандартное использование ресурсов в вычислительных центрах редко превышает 20—30%. Это свидетельствует о том, что для повышения энергоэффективности необходимо либо использовать простаивающие ресурсы, либо переводить их в режим энергосбережения. Облачные технологии направлены на распределенное использование ресурсов между пользователями и их проектами.
К одному из важнейших преимуществ «облачного» подхода к построению ИТ-инфраструктуры относится возможность быстрого и удобного масштабирования и изменения фактических показателей вычислительных мощностей по требованию клиента.
Базовой технологией реализующей облачный подход является технология виртуализации.
Виртуализация — предоставление набора вычислительных ресурсов или их логического объединения, абстрагированное от аппаратной реализации, и обеспечивающее при этом логическую изоляцию друг от друга вычислительных процессов, выполняемых на одном физическом ресурсе [9].
Основным и наиболее популярным примером виртуализации является возможность запуска и поддержки нескольких гостевых операционных систем на одной: при этом, у каждого из экземпляров таких гостевых операционных систем свой набор логических ресурсов (процессорных, оперативной памяти, устройств хранения), предоставлением которых из общего пула, доступного на уровне оборудования, управляет хостовая операционная система — гипервизор. Также может быть подвергнута виртуализации сетевая инфраструктура, системы хранения данных, платформенное и прикладное программное обеспечение.
Существует три основных области применения виртуализации:
• виртуализация серверов/ рабочих станций (виртуальные машины);
• виртуализация ресурсов;
• виртуализация приложений.
Виртуальная машина — это вычислительное окружение, которое «гостевая» операционная система видит как аппаратное. Тем не менее, это программное окружение, эмулируемое программным обеспечением хостовой системы (гипервизором).
Виртуализация (разделение) ресурсов (англ. partitioning) может представляться как разделение одного физического сервера на несколько выделенных частей, каждая из которых предоставляется пользователю и доступна ему как отдельный сервер.
Виртуализация приложений — процесс использования приложения, которое было преобразовано из требующего установки в операционную систему в не требующее.
Для предоставления конечных ресурсов виртуализации (виртуальных машины, ресурсов или приложений) по «облачной» модели недостаточно исключительно технологии виртуализации, как правило, ее дополняют платформы построения виртуальной ИТ-инфраструктуры, включающие в себя также и набор дополнительных компонентов.
Платформа виртуализации — комплекс проектов программного обеспечения, обеспечивающий реализацию виртуализации инфраструктурных компонентов, таких как виртуализация сети, виртуализация ресурсов персональных компьютеров, виртуализации хранилищ. Администратору платформы предоставляется панель управления, из которой осуществляется оркестрация вышеупомянутыми компонентами. В качестве основных платформ, на Российском рынке можно выделить следующие: VMware, openstack,
Citrix, а также Microsoft Hyper-V Windows Server [10]. Ниже рассмотрены основные компоненты, которые обычно используются платформами виртуализации.
Управление виртуальными машинами
Модуль — контроллер, управляющий работой виртуальной машиной (далее — ВМ). Отвечает за выполнение всех необходимых операций по поддержке жизненного цикла ВМ в инфраструктуре, реализует следующий набор функций и возможностей:
• управление жизненным циклом ВМ;
• управление вычислительными ресурсами;
• управление сетью ВМ;
• управление идентификацией и авторизацией пользователей на ВМ;
• предоставление интерфейса взаимодействия REST-based программного интерфейса приложения (далее — API).
Управление Сетью
Модуль, обеспечивающий сетевое подключение между устройствами интерфейса, управляемыми другими службами. Предоставляет возможность создания сетевых топологий и настраивания сетевых политик в облаке.
Управление блочными
устройствами
Модуль хранения блочных устройств, предназначенный для представления ресурсов хранения конечным пользователям, которые могут быть использованы модулем управления ВМ. Он виртуализирует управление устройствами хранения блоков и предоставляет конечным пользователям API самообслуживания запрашивать и потреблять эти ресурсы, не требуя каких-либо знаний о том, где их хранилище фактически развернуто или на каком типе устройства.
Физические носители данных, будь то диски или твердотельные диски, могут быть расположены внутри или на-
прямую подключены к узлам модуля, или они могут быть расположены во внешних системах хранения от сторонних поставщиков.
Управление образами Гостевых операционных систем (далее - ОС)
Модуль управления образами включает обнаружение, регистрацию и извлечение образов виртуальной машины. Образы ВМ, доступные через модуль, могут храниться в разных местах от простых файловых систем до систем хранения объектов.
Управление доступом
Модуль управления доступ должен использоваться для аутентификации и авторизации.
Серверная ОС
Серверная ОС или «Хосто-вая операционная система» — это операционная система, установленная на реальное оборудование. В рамках этой операционной системы устанавливается программное обеспечение виртуализации, как обычное приложение.
Гипервизор
Гипервизор — это сущность, которая отделяет операционную систему компьютера или приложения от физического оборудования. Обычно представляет собой программное обеспечение, хотя создаются и встроенные гипервизо-ры, например, для мобильных устройств. Гипервизор является движущей силой концеп-
ции виртуализации, позволяя физическому хост-компьютеру управлять несколькими виртуальными машинами в качестве гостевых ОС, что в свою очередь помогает максимально эффективно использовать вычислительные ресурсы, такие как память, пропускная способность сети и количество циклов процессора. Ниже, в табл. 1 представлено сравнение существующих популярных платформ виртуализации.
Несмотря на то, что платформы от Microsoft и VMware по-прежнему являются несомненными лидерами, когда дело касается построения вир-туализированных инфраструктур для крупного бизнеса, в последние годы присутствует значительный рост интереса к платформам виртуализации на базе гипервизора KVM [16]. Наиболее популярной и распространенной платформой на базе этого гипервизора является платформа openstack.
openstack — это комплекс проектов свободного программного обеспечения, который может быть использован для создания инфраструктурных облачных сервисов и облачных хранилищ, при том как публичных, так и частных. Все проекты комплекса распространяются под лицензией Apache License [21].
По своей структуре, «openstack» представляет из себя совокупность компонен-
Таблица 1
Сравнение платформ виртуализации
VMware openstack Citrix Hyper-V
Лицензирование (проприетарный — 0, открытая лицензия — 1 балл) 0 1 0 0
Импортозамещение 0 0 0 0
Наличие средств управления 1 0 1 1
Наличие сертификата ФСТЭК 0,5 0 0 0
Возможность Аттестации 0,5 0 0 0
Подробная русскоязычная документация 0 0,5 0 0
Управление виртуальными машинами 1 1 1 1
Управление виртуальной сетевой инфраструктурой 1 1 1 1
Управление виртуальной дисковой подсистемой 1 1 1 1
Рис. 1. Структура компонентов openstack
тов, каждый из которых является отдельным проектом, взаимодействующим с другими с помощью REST API. Каждый из этих компонентов отвечает за отдельный функционал в реализации построения облачной инфраструктуры.
Структура компонентов openstack представлена на рис. 1.
Как было сказано выше, данный программный продукт состоит из компонентов, решающих различные задачи в построении облачной инфраструктуры:
1. Compute — это основной компонент «openstack», который выступает в роли контроллера, управляющего работой виртуальных машин. Проектом, относящимся к этому классу компонента, относится «Nova», выполняющая такие функции как обработка запросов на создание виртуальных машин, соединение их с внешним миром, контроль за работоспособностью и распределением нагрузки на физические машины и каналы связи, а также реакция на сбои.
2. Dashboard — сервис, через который можно осуществлять взаимодействие с различными сервисами «openstack», например, запустить виртуальную машину, получить доступ к подчиненному хранилищу файлов, попробовать задать разные сетевые настройки (IP-адреса, доступы и т.д.). Основным проектом этого класса на данным момент является «Horizon», тем не менее, некоторые пользователи «openstack» разрабатывают собственные решения, которые также можно подключить к остальным компонентам, благодаря сервис-ориентированной архитектуре программы.
3. Object Storage — это полностью распределенное «безграничное» хранилище, которое характеризуется отказоустойчивостью и высокой надежностью. Данные функции в проекте выполняет «Swift», практически полно -стью основанный на разработках компании «Rackspace» и аналогичный Amazon S3.
4. Image (проект «Glance») — это услуги по отбору, реги-
страции и поиску виртуальных «machine images», т.е. образов виртуальных машин.
5. Network (проект «Neutron») — компонент для подключения к сети, который предоставляет возможность для созданной с помощью «Nova» и «Glance» виртуальной машины задать сетевой интерфейс, настройки IP-адреса, сетевого экрана (firewall) и т.д. Благодаря его модульной архитектуре с возможностью подключения различных устройств разные вендоры, например, Nicira (сегодня это компания VMware, известная своим предложением SDN и NSX) и Arista Networks (другой игрок на рынке SDN, широко известный благодаря своим коммутаторам 7000 Series), могут органично интегрировать свои решения с «openstack».
6. Block Storage (проект «Cinder») — это сервис блочного хранения данных. Это постоянное хранилище можно представить как дополнительный том (диск D: или E: в Microsoft Windows Server), ко-
Сравнительная таблица образовательных площадок
Площадка Кол-во курсов Ценовой разброс Наличие курса на русском языке
Udemy 20 20-199$ 0
Edx 3 100-1000$ 0
Coursera 3 25-50$ 0
Universarium 0 - -
HTMLacademy 0 - -
Uniweb 0 - -
торый можно прикрепить/ назначить виртуальной машине. Это не локальное хранилище, на котором установлена ОС и с которого идет ее загрузка (как диск C: в Windows).
7. Identity (проект «Keystone») — компонент, предоставляющий услуги идентификации и авторизации и, фактически, отвечает за безопасность в «openstack».
Взаимодействие перечисленных выше сервисов обеспечивает пользователя возможностью построения облачной инфраструктуры. Открытый исходный код проекта дает возможность расширять или модернизировать функционал под свои нужды.
Популярностью платформы openstack обуславливается выбор ее в качестве основной платформы для построения облачных технологий во многих крупных российских и международных компаниях различных сфер бизнеса. [14] По этой причине, было принято решение проанализировать наличие и доступность курсов, обучающих взаимодействию с данной платформой.
2. Анализ курсов по платформе openstack
Ниже в списке представлены наиболее популярные онлайн-образовательные площадки для ИТ-специалистов в мире и России:
• udemy.com
• edx.org
• coursera.org
• universarium.org
• htmlacademy.ru
• uniweb.ru [20] [11]
В табл. 2 представлен перечень доступных образовательных курсах по теме облачной платформы openstack на данных площадках.
Из результатов, представленных в таблице, можно сделать вывод о том, что в мире курсы обучающие работой с платформой openstack присутствуют и популярны, но тре-
буют финансовых вложений, и недоступны на русском языке. На российском рынке среди рассматриваемых площадок необходимых курсов найти не удалось.
На базе российских Высших учебных заведений удалось найти один курс — «openstack Administrator» на площадке МГТУ им. Баумана, стоимость курса с человека 36950 руб., что подтверждает сложность в получении требуемых компетенций в данной сфере. [19]
Организация Linux
Foundation и крупнейший сайт по найму специалистов в области ИТ Dice.com провели совместное исследование рынка труда. В отчете Open Source Jobs Survey and Report за 2018 г. говорится, что значительно вырос спрос на специалистов по облачным технологиям — потребность в них ощущает 64% компаний; на ИБ- и веб-разработчиков — 49%, администраторов сетей — 46%.
Таблица 2
Ниже на рис. 2 представлен график роста спроса на специалистов из конкретных ИТ-сфер в 2018 году по сравнению с 2017 годом [18].
Для решения большого количества поставленных бизнес-задач требуется соответствующий этому количеству штат квалифицированных специалистов. Для получения такого количества специалистов требуются профильные образовательные курсы, которые удовлетворяют требованиям открытого образования.
3. Характеристика разработанного спецкурса по платформе openstack
Выводы сделанные на основе проведенного анализа, определяют целесообразность создания собственного, доступного для студентов и специалистов, обучающего курса по платформе openstack на русском языке.
Курс предназначен для ознакомления слушателей с методиками и технологиями разработки платформ виртуализации на базе ведущей на сегодняшний день платформы с открытым кодом для облачных вычислений openstack.
В результате прохождения курса студенты получают знания и компетенции в области архитектуры openstack, его модулей, интеграционных возможностей платформы, в области развертывания и администрирования openstack, среды виртуализации на ги-первизоре KVM, а также облачных решений на их базе.
Глобально, по содержанию, разрабатываемый курс состоит из двух частей:
• теоретической — состоит
из:
о вводной лекции, на которой рассказывается подробная структура курса, рассматривается история становления облачных технологий, методология дальнейшего обучения, и даются полезные источники литературы, позволяющие более подробно ознакомиться с теоретической основой тематики;
о на второй лекции рассказывается теория openstack, дающая представление об архитектуре платформы в целом и о компонентах архитектуры в частности;
о на третьей лекции более подробно рассматриваются компоненты openstack; рассматривается веб-панель управления платформой — Horizon, компонент управления образами ВМ — Glance; компонент управление ВМ — Nova, компонент блочного хранилища — Cinder и компонент идентификации — Keystone;
о на четвертой лекции слушатели курса более подробно знакомятся с сетевым компонентом openstack — Neutron;
о на пятой лекции происходит завершение теоретической части, рассматриваются компоненты объектного хранилища — Swift, автоматиза-
ция развертывания из шаблонов — Heat, и компонент сбора и обработки статистической информации — Ceilometer;
о цикл лекций завершается путем ответов на вопросы по лекциям, и закреплением изученных на лекциях материалов;
• практической — после цикла лекций, происходит переход к практической части — семинарам:
о на первом семинаре рассматриваются основные сценарии использования платформы виртуализации в целом и особенностям openstack в частности;
о на втором семинаре слушатели самостоятельно погружаются в сетевой компонент — Neutron, по подробным инструкциям создают сети и подсети;
о третий семинар является завершающим, слушатели курса настраивают взаимодействие всех компонент openstack;
• завершением курса является итоговое тестирование, на основе изученного материала, по результатам которого, лучшие студенты отбираются на практику и стажировку.
Первостепенной задачей, которую необходимо решить, в рамках подготовки практической части образовательного курса, является проектирование и развертывание платформы, обеспечивающей возможность студентам курса подключаться к готовой, проверенной и настроенной виртуальной инфраструктуре, построенной на базе платформы openstack.
Как было рассмотрено ранее, платформа состоит из нескольких ключевых компонентов, которые устанавливаются отдельно. Эти компоненты работают вместе в зависимости от потребностей пользователя и включают в себя функции вычисления, идентификации, сети, образов и базы данных.
Минимально необходимый перечень функций, кото-
рые требуются для поддержки платформы курса:
• авторизация и идентификация пользователей — для администраторов курса;
• хранение образов виртуальных машин — которые будут содержать набор необходимого для обучения студентов программного обеспечения.
• управление виртуальными машинами — являющимися отдельными лабораторными стендами для студентов;
• управление сетевой инфраструктурой — для связи лабораторных стендов студентов между собой и с интернетом;
• веб-интерфейс для взаимодействия с платформой через браузер;
Для установки платформы потребуется аппаратное обеспечение (физический сервер) удовлетворяющий минимальным параметрам, заявленным в документации платформы openstack. [3] Детальный обзор аппаратного обеспечения выходит за рамки данной статьи.
В качестве серверной операционной системы была выбрана CentOS, поскольку она является стабильной и рекомендуемой сообществом openstack. Также было принято решение установить платформу на один физический сервер, с возможностью дальнейшего масштабирования (на несколько серверов) в случае роста количества студентов.
Согласно заявленному выше минимальному перечню функциональных требований к платформе, необходимо установить соответствующий перечень программных компонентов openstack: Keystone, Glance, Neutron и Nova.
Компонент Keystone обеспечивает единую точку интеграции для управления аутентификацией, авторизацией и каталогом сервисов. Он обычно является первой службой, с которой пользователь (администратор платформы) взаимодействует. После аутентификации конечный поль-
зователь может использовать свою личность для доступа к другим службам openstack. Аналогично, другие службы openstack используют службу Identity для обеспечения того, чтобы пользователи были теми, кем они себя называют, и обнаруживают, где находятся другие службы.
Установка Keystone начинается с установки базы данных для хранения требуемого перечня системных и пользовательских данных. В качестве системы управления базой данных здесь и далее используется PostgreSQL, как одна из рекомендуемых в документации платформы. [3]
После установки подготовки базы данных, требуется установить и сконфигурировать перечень сервисов Keystone, требующихся для корректной работы компонента.
Завершается установка данного компонента созданием стандартных региона, пользователей ролей, домена и проекта, требующихся для дальнейшей работы с платформой.
Следующим функциональным требованием к платформе является управление образами, за реализацию которого отвечает компонент Glance.
Данный компонент позволяет пользователям обнаруживать, регистрировать и извлекать изображения виртуальной машины. Он предлагает REST API, который позволяет запрашивать метаданные изображения виртуальной машины и получать фактическое изображение. Администратор платформы может хранить изображения виртуальной машины, доступные через службу изображений в различных местах, от простых файловых систем до систем хранения объектов.
Служба openstack Image занимает центральное место в инфраструктуре как услуге (IaaS). Он принимает запросы API для образов дисков или серверов, а также определения метаданных от конечных поль-
зователей или компонентов openstack Compute.
Данный проект состоит из следующих модулей:
• glance-api — принимает запросы для обнаружения, извлечения и хранения образов виртуальных машин;
• glance-registry — сохраняет, обрабатывает и извлекает метаданные об изображениях, метаданные включают такие элементы, как размер и тип.
Установка Glance начинается, как и в случае с Keystone, начинается с базы данных. После чего требуется установить и настроить перечисленные выше компоненты. В завершении, загружается образ виртуальной машины, которая будет выступать в роли лабораторного стенда студентов курса (в данном случае, была выбрана ОС Ubuntu).
Следующее функциональное требование к платформе — управление сетевой связанностью между лабораторными стендами, а также организация доступа их в Интернет (для установки требуемого ПО) и к ним из Интернета (для подключения студентов из любой точки мира). За реализацию данного функционального требования отвечает компонент Neutron.
Компонент Neutron позволяет создавать и прикреплять сетевые интерфейсы, управляемые другими службами openstack, к сетям. Плагины могут быть использованы для размещения различного сетевого оборудования и программного обеспечения, обеспечивая гибкость архитектуры и развертывания openstack.
Neutron включает следующие компоненты:
• neutron-server — принимает и направляет API-запро-сы к соответствующему подключаемому модулю openstack Networking для действий.
• различные плагины и агенты Neutron — в рамках подготовки платформы было принято решение использовать neutron-openvswitch, как наи-
менее требовательный к аппаратной составляющей.
• очередь сообщений — используется большинством компонентов Neutron для маршрутизации информации между нейтронным сервером и различными агентами, а также выступает в качестве базы данных для хранения состояния сети для определенных подключаемых модулей.
Компонент в основном взаимодействует с Nova для обеспечения сетей и подключения виртуальных машин к сетям.
Компонент Nova для управления облачными вычислительными системами и виртуальными машинами (лабораторными стендами студентов). Nova является важной частью системы Infrastructure-as-a-Service (IaaS). Основные модули реализованы на языке программирования Python.
Nova взаимодействует с Keystone для аутентификации; компонентом Glance для образов дисков и серверов; и веб-интерфейсом Horizon для пользовательского и административного интерфейса. Доступ к изображениям ограничен проектами и пользователями; квоты ограничены для каждого проекта (например, количество лабораторных стендов студентов в рамках конкретного курса в Высшем учебном заведении). Данный компонент может масштабироваться горизонтально на стандартном оборудовании и загружать изображения для запуска ВМ.
openstack Compute состоит из следующих программных модулей, которые необходимо установить:
• служба nova-api — принимает и отвечает на вызовы API для конечных пользователей (администраторов платформы);
• служба nova-api-metadata — принимает запросы метаданных из лабораторных стендов.
• nova-compute service — компонент отвечающий за вза-
имодействие с гипервизором, создает и удаляет лабораторные стенды, а также управляет их состоянием;
• служба nova-placement-api — отвечает за размещение лабораторных стендов на конкретных вычислительных узлах;
• nova-consoleauth — отвечает за предоставление виртуальной консоли (рабочего стола) лабораторного стенда;
• очередь сообщений — центральный концентратор для передачи сообщений между различными модулями.
• база данных SQL — сохраняет все состояния времени сборки и времени выполнения для облачной инфраструктуры платформы, в том числе:
о доступные типы виртуальных машин;
о существующие виртуальные машины;
о доступные сети;
о проекты.
После завершения установки Nova, для проверки корректности была создана виртуальная машина в существующей сети, на базе ОС Ubuntu. В дальнейшем из этой виртуальной машины был подготовлен образ лабораторного стенда (установлено требуемое для студентов программное обеспечение).
Последним функциональным требованием к платформе является наличие модуля для управления платформой через веб-браузер. За реализацию данного требования отвечает программный компонент Horizon.
Единственным компонентом, требуемой для Horizon, является Keystone. Администратор платформы может использовать панель управления в сочетании с другими компонентами, такими как Glance, Nova и Neutron.
Компонент веб-интерфейса устанавливается согласно документации [3], требует минимальной конфигурации и сразу после этого готов к использованию.
Следующим шагом после развертывания платформы является настройка лабораторного окружения для студентов. Для этого необходимо было зайти в созданную ранее виртуальную машину с ОС Ubuntu и настроить там тестовый стенд.
В качестве дистрибутива платформы, для обеспечения лабораторных стендов был выбран devstack [3] — это набор настраиваемых сценариев, используемых для быстрого создания полной среды openstack одной командой, основанной на последних версиях полного дистрибутива openstack. Он используется в качестве среды разработки и является основой для большей части функциональных компонентов платформы openstack. Компоненты выбранные для установки в лабораторном окружении:
1. Horizon;
2. Nova;
3. Glance;
4. Keystone;
5. Neutron;
6. Cinder;
7. Heat;
8. Swift;
9. Ceilometer;
Первые пять проектов полностью совпадают с компонентами базовой платформы и решают в рамках лабораторных стендов те же задачи, что и в платформе. Ниже описаны оставшиеся три компонента.
Компонент управле-
ния блочными устройствами (Cinder) предоставляет устройства хранения блоков в виртуальные машины. Метод, в котором хранилище предоставляется и потребляется, определяется драйвером Cinder.
Данный компонент также как и предыдущие использует базу данных и состоит из перечня программных модулей, решающих различные задачи в рамках управления виртуальными блочными устройствами (дисками).
Компонент Heat предоставляет основанную на шаблонах оркестровку для опи-
сания облачного приложения, запуская вызовы API openstack для создания готовых облачных приложений. Программное обеспечение интегрирует другие основные компоненты openstack в однофазную систему шаблонов. Шаблоны позволяют создавать большинство типов ресурсов openstack, таких как виртуальные машины, плавающие IP-адреса, виртуальные диски, группы безопасности и пользователи. Он также предоставляет расширенные функции, такие как высокая доступность виртуальных машин, их автоматическое масштабирование и вложенные стеки.
Компонент Heat состоит из следующих программных модулей:
• heat command-line client — клиент командной строки, который взаимодействует с heat-api для запуска готовых инфраструктур из шаблонов
• heat-api — API-интерфейс REST openstack, который обрабатывает запросы API, отправив их в heat-engine через удаленный вызов процедур (далее - RPC).
• heat-api-cfn — компонент, отвечающий за обработку запросов API, отправляя их на heat-engine через RPC.
• heat-engine — центральный модуль компонента, отвечает за запуск шаблонов и возвращает события пользователю.
Следующий программный компонент лабораторного стенда — объектное хранилище Swift. Это многопользовательская система хранения объектов. Swift обладает высокой масштабируемостью и может управлять большими объемами неструктурированных данных с низкой стоимостью через RESTful HTTP API.
Swift состоит из следующих программных модулей:
• swift-proxy-server — принимает API-запросы и необработанные HTTP-запросы для загрузки файлов, изменения
метаданных и создания контейнеров. Он также предоставляет списки файлов или контейнеров веб-браузерам;
• swift-account-server управляет учетными записями, определенными в хранилище объектов;
• swift-container-server управляет отображением контейнеров или папок в хранилище объектов.
Завершающим программным компонентам, необходимым для ознакомления студентов с темой курса, является компонент сбора телеметрии и статистических данных использования платформой — Ceilometer.
Компонент сбора данных Ceilometer предоставляет следующие функции:
• эффективно проверяет данные измерений, связанные с сервисами openstack;
• собирает данные о событиях и измерениях, отслеживая уведомления, отправленные из различных компонентов openstack;
• публикует собранные данные по различным объектам, включая хранилища данных и очереди сообщений.
Компонент Ceilometer состоит из следующих программных модулей:
• ceilometer-agent-compute — работает на вычислительных
узлах и собирает статистику использования ресурсов;
• ceilometer-agent-central — выполняется на центральном сервере управления для опроса статистики использования ресурсов, не привязанных к виртуальным машинам или вычислительным узлам;
• ceilometer-agent-noti-flcation — работает на центральном сервере управления и потребляет сообщения из очереди сообщений для создания событий и данных измерений.
В совокупности все описанные компоненты дают представление студентам об экосистеме платформы, а также ее основных административных и пользовательских функциях, позволяющих строить и управлять облачными виртуальными инфраструктурами.
Заключение
Спецкурс был апробирован на студентах факультетов вычислительной математики и кибернетики (ВМК), механико-математическом факультете (МехМат) Московского Государственного Университета, Финансового Университета (ФУ), Российского Экономического Университета им. Г.В. Плеханова (РЭУ), Университета Иннополис (Казань)
и Московского Технического Университета Связи и Информатики (МТУСИ). По результатам спецкурса был проведен отбор студентов на практику и стажировку.
Всего на данный курс были зарегистрированы около 180 студентов, 150 прослушали курс, из которых 100 человек дошли до этапа итогового тестирования. По результатам данного тестирования, 50 человек были приняты в различные департаменты для дальнейшего прохождения практики или стажировки. Успешно прошли практику или стажировку около 50 человек, и 20 человек были приняты на работу. На текущий момент обсуждается возможно организации следующих этапов проведения курса в рассматриваемых и других Высших учебных заведениях России.
Ежегодно материалы, платформа и лабораторные стенды обновляются ввиду выхода новых версий openstack, добавления нового функционала и актуализации потребностей бизнеса.
Таким образом была достигнута цель — создан образовательный курс по обучению слушателей работе с облачной платформой виртуализации openstack, и решены поставленные задачи.
Литература
1. Буров К.С. Подходы к определению понятия «Открытое образование» // Человек. Спорт. Медицина. 2005. №15 (55). [Электрон. ресурс] Режим доступа: https://cyberleninka.ru/article/n/ podhody-k-opredeleniyu-ponyatiya-otkrytoe-obrazovanie (дата обращения: 10.12.2018)
2. Дик В.В., Староверова О.В., Уринцов А.И. Аутсорсинг — эффективный способ приобретения информационной системы // Вестник Московского университета МВД России. 2015. № 6. С. 229-233
3. Документация к открытой платформе openstack. [Электрон. ресурс] Режим доступа: https://docs.openstack.org
4. Еловиков А. Е. Принципы построения облачной платформы // Научный журнал КубГАУ. 2013. №88. [Электрон. ресурс] Ре-
жим доступа: https://cyberleninka.ru/article/n/ printsipy-postroeniya-oblachnoy-platformy (дата обращения: 10.12.2018)
5. Зубарева К. А. Открытость как феномен современного образования // Педагогическое образование в России. 2012. № 3. [Электрон. ресурс] Режим доступа: https://cyberleninka.ru/ article/n/otkrytost-kak-fenomen-sovremennogo-obrazovaniya (дата обращения: 10.12.2018)
6. Ковалева Т.М. Реализация принципа открытости при построении и применении образовательных технологий // Отечественная и зарубежная педагогика. 2014. N9 4 (19). [Электронный ресурс] Режим доступа: https://cyberleninka. ru/article/n/realizatsiya-printsipa-otkrytosti-pri-postroenii-i-primenenii-obrazovatelnyh-tehnologiy (дата обращения: 04.12.2018)
7. Кудрявцев А. О., Кошелев В. К., Избышев А. О., Дудина И. А., Курмангалеев Ш. Ф., Аветисян А. И., Иванников В. П., Велихов В. Е., Ря-бинкин Е. А. Разработка и реализация облачной системы для решения высокопроизводительных задач // Труды ИСП РАН. 2013. [Электрон. ресурс] Режим доступа: https://cyberleninka. ru/article/n/razrabotka-i-realizatsiya-oblachnoy-sistemy-dlya-resheniya-vysokoproizvoditelnyh-zadach (дата обращения: 10.12.2018)
8. Лупанов В.Н. Становление и развитие системы открытого образования в России // Известия РГПУ им. А.И. Герцена. 2007. № 42. [Электрон. ресурс] Режим доступа: https:// cyberleninka.ru/article/n/stanovlenie-i-razvitie-sistemy-otkrytogo-obrazovaniya-v-rossii (дата обращения: 10.12.2018)
9. Обзор методов, архитектур и реализаций виртуализации (Linux) [Электрон. ресурс] Режим доступа: https://www.ibm.com/ developerworks/ru/library/l-linuxvirt/index.html;
10. Реестр по классу «средства виртуализации и системы хранения данных» [Электрон. ресурс] Режим доступа: https://reestr-minsvyaz. ru/reestr/reestr-po-klassu-sredstva-virtualizacii-i-sistemy-xraneniya-dannyx/
11. Шесть платформ для онлайн-обучения на русском // [Электрон. ресурс] Режим доступа: https://theoryandpractice.ru/posts/8484-onlayn-obrazovanie-na-russkom
12. Brian Madden Book: Today's VDI challenges and pitfalls. 978-0-9852174-1-9 (eBook) Set in Chaparral Light: Second Printing, November 2012
References
1. Burov K. Approaches to the definition of the concept "Open Education". CHelovek. Sport. Meditsina. = Man. Sport. The medicine. 2005; 15 (55). [Internet] Available from: https://cyberleninka. ru/article/n/podhody-k-opredeleniyu-ponyatiya-otkrytoe-obrazovanie (cited: 10.12.2018) (In Russ.)
2. Dik V.V., Staroverova O.V., Urintsov A.I. Outsourcing - an effective way to acquire an information system. Vestnik Moskovskogo universiteta MVD Rossii = Bulletin of Moscow University of the Ministry of Internal Affairs of Russia. 2015; 6: 229-233. (In Russ.)
3. Dokumentatsiya k otkrytoy platforme openstack = Openstack open source documentation. [Internet] Available from: https://docs.openstack. org (In Russ.)
4. Elovikov A. E. Principles of building a cloud platform. Nauchnyy zhurnal KubGAU = Scientific journal of KubSAU. 2013; 88. [Internet] Available from: https://cyberleninka.ru/article/n/ printsipy-postroeniya-oblachnoy-platformy (cited: 10.12.2018) (In Russ.)
5. Zubareva K. A. Openness as a phenomenon of modern education. Pedagogicheskoye obrazovaniye
13. Cloud Computing in Education Market. [Электрон. ресурс] Режим доступа: https://www. marketsandmarkets.com/Market-Reports/cloud-computing-education-market-17863862.html
14. Companies Supporting The OpenStack Foundation. [Электрон. ресурс] Режим доступа: https://www.openstack.org/foundation/companies/
15. IT budgets 2017-18: What the surveys tell us. [Электрон. ресурс] Режим доступа: https:// www.zdnet.com/article/it-budgets-2017-18-what-the-surveys-tell-us/
16. Kaspersky Security для виртуальных сред: зачем нужна поддержка четвертого гипервизора. [Электрон. ресурс] Режим доступа: https://www. kaspersky.ru/blog/ksv-for-kvm/15036/
17. Meisner D, Gold B, Wenisch T. PowerNap: eliminating server idle power // ACM SIGPLAN Notices. 2009. №44 (3). С. 205—216.
18. Open Source Talent in Demand, With Linux Back on Top. [Электрон. ресурс] Режим доступа: https://www.linuxfoundation. org/publications/2018/06/open-source-jobs-report-2018
19. OpenStack Administrator. Курсы, повышение квалификации специалистов. [Электрон. ресурс] Режим доступа: http://edu.bmstu.ru/ napravleniya-obucheniya/setevye-texnologii/osa
20. The Top 10 Educational Websites for Taking Online Courses. [Электрон. ресурс] Режим доступа: https://www.lifewire.com/educational-websites-for-taking-online-courses-4072166
21. What is openstack. [Электрон. ресурс] Режим доступа: https://www.openstack.org/software
v Rossii = Pedagogical education in Russia. 2012; 3. [Internet] Available from: https://cyberleninka. ru/article/n/otkrytost-kak-fenomen-sovremennogo-obrazovaniya (cited: 10.12.2018) (In Russ.)
6. Kovaleva T.M. The implementation of the principle of openness in the construction and application of educational technologies. Otechestvennaya i zarubezhnaya pedagogika = Domestic and foreign pedagogy. 2014; 4 (19). [Internet] Available from: https://cyberleninka. ru/article/n/realizatsiya-printsipa-otkrytosti-pri-postroenii-i-primenenii-obrazovatelnyh-tehnologiy (cited: 04.12.2018) (In Russ.)
7. Kudryavtsev A. O., Koshelev V. K., Izbyshev A. O., Dudina I. A., Kurmangaleyev SH. F., Avetisyan A. I., Ivannikov V. P., Velikhov V. E., Ryabinkin E. A. Development and implementation of a cloud system for solving high-performance tasks. Trudy ISP RAN = Proceedings of ISP RAS. 2013. [Internet] Available from: https://cyberleninka. ru/article/n/razrabotka-i-realizatsiya-oblachnoy-sistemy-dlya-resheniya-vysokoproizvoditelnyh-zadach (cited: 10.12.2018) (In Russ.)
8. Lupanov V.N. Formation and development of an open education system in Russia. Izvestiya
RGPU im. A.I. Gertsena = News of the Herzen Russian State Pedagogical University. 2007; 42. [Internet] Available from: https://cyberleninka.ru/ article/n/stanovlenie-i-razvitie-sistemy-otkrytogo-obrazovaniya-v-rossii (cited: 10.12.2018) (In Russ.)
9. Obzor metodov, arkhitektur i realizatsiy virtualizatsii (Linux) = Review of methods, architectures and implementations of virtualization (Linux) [Internet] Available from: https://www.ibm. com/developerworks/ru/library/l-linuxvirt/index. html (In Russ.)
10. Reyestr po klassu "sredstva virtualizatsii i sistemy khraneniya dannykh" = Register on the class of "means of virtualization and data storage systems" [Internet] Available from: https://reestr-minsvyaz.ru/reestr/reestr-po-klassu-sredstva-virtualizacii-i-sistemy-xraneniya-dannyx/ (In Russ.)
11. SHest' platform dlya onlayn-obucheniya na russkom = Six platforms for online learning in Russian. [Internet] Available from: https:// theoryandpractice.ru/posts/8484-onlayn-obrazovanie-na-russkom (In Russ.)
12. Brian Madden Book: Today's VDI challenges and pitfalls. 978-0-9852174-1-9 (eBook) Set in Chaparral Light: Second Printing, November 2012
13. Cloud Computing in Education Market. [Internet] Available from: https://www. marketsandmarkets.com/Market-Reports/cloud-computing-education-market-17863862.html
Сведения об авторах
Александр Витальевич Ставицкий
Старший системный аналитик ООО «СбКлауд», Москва, Россия Эл. почта: [email protected]
Илья Григорьевич Ашавский
Системный аналитик
ООО «СбКлауд», Москва, Россия
Эл. почта: [email protected]
Денис Владимирович Волков
Старший преподаватель Российский экономический университет им. Г.В. Плеханова, Москва, Россия Эл. почта: [email protected]
14. Companies Supporting The OpenStack Foundation. [Internet] Available from: https:// www.openstack.org/foundation/companies/
15. IT budgets 2017-18: What the surveys tell us. [Internet] Available from: https://www.zdnet.com/ article/it-budgets-2017-18-what-the-surveys-tell-us/
16. Kaspersky Security dlya virtual'nykh sred: zachem nuzhna podderzhka chetvertogo gipervizora = Kaspersky Security for Virtual Environments: why do we need support for the fourth hypervisor. [Internet] Available from: https://www.kaspersky. ru/blog/ksv-for-kvm/15036/ (In Russ.)
17. Meisner D, Gold B, Wenisch T. PowerNap: eliminating server idle power. ACM SIGPLAN Notices 2009; 44(3): 205-216.
18. Open Source Talent in Demand, With Linux Back on Top. [Internet] Available from: https:// www.linuxfoundation.org/publications/2018/06/ open-source-jobs-report-2018
19. OpenStack Administrator. Kursy, povysheniye kvalifikatsii spetsialistov = OpenStack Administrator. Courses, professional development of specialists. [Internet] Available from: http:// edu.bmstu.ru/napravleniya-obucheniya/setevye-texnologii/osa (In Russ.)
20. The Top 10 Educational Websites for Taking Online Courses. [Internet] Available from: https:// www.lifewire.com/educational-websites-for-taking-online-courses-4072166
21. What is openstack. [Internet] Available from: https://www.openstack.org/software
Information about the authors
Aleksandr V. Stavitskiy
Senior Systems Analyst SbCloud Ltd., Moscow, Russia E-mail: [email protected]
Ilya G. Ashavskiy
Systems Analyst
SbCloud Ltd., Moscow, Russia
E-mail: [email protected]
Denis V. Volkov
Senior Lecturer
Plekhanov Russian University of Economics,
Moscow, Russia
E-mail: [email protected]