Научная статья на тему 'Практика применения СПО для реализации системы электронного обучения на базе технологии облачных вычислений'

Практика применения СПО для реализации системы электронного обучения на базе технологии облачных вычислений Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
243
51
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ / ОБЛАЧНЫЕ СЕРВИСЫ / ВИРТУАЛИЗАЦИЯ / СПО / СИСТЕМА УПРАВЛЕНИЯ ОБУЧЕНИЕМ / СИСТЕМА ДИСТАНЦИОННОГО ОБУЧЕНИЯ / SAAS / PAAS / EUCALYPTUS / UBUNTU / CLOUD COMPUTING / CLOUD SERVICES / VIRTUALIZATION / LMS / LCMS / LEARNING MANAGEMENT SYSTEM / DISTANT LEARNING SYSTEM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Васильев Д. А., Рогожин Д. К.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Practice of open source software to implement e-learning system based on cloud computing

The article focuses on the work within the state contract on the theme «Research infrastructure environments based on cloud computing for implementing e-learning systems», in particular, developing the software prototype cloud e-learning systems for a consortium of universities on the basis of private clouds, using free software.

Текст научной работы на тему «Практика применения СПО для реализации системы электронного обучения на базе технологии облачных вычислений»

УДК 004.4

ВАК 05.13.11

РИНКЦ 50.05.13

ПРАКТИКА ПРИМЕНЕНИЯ СПО ДЛЯ РЕАЛИЗАЦИИ СИСТЕМЫ ЭЛЕКТРОННОГО ОБУЧЕНИЯ НА БАЗЕ ТЕХНОЛОГИИ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ

Д. А. Васильев, младший научный сотрудник Тел.: (495) 442-82-33, e-mail: [email protected]

Д. К. Рогожин, техник-программист Тел.: (495) 442-8233, e-mail: [email protected] Московский государственный университет экономики, статистики и информатики

(МЭСИ) http://www.mesi.ru

The article focuses on the work within the state contract on the theme «Research infrastructure environments based on cloud computing for implementing e-learning systems», in particular, developing the software prototype cloud e-learning systems for a consortium of universities on the basis of private clouds, using free software.

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

Ключевые слова: облачные вычисления, облачные сервисы, виртуализация, СПО, система управления обучением, система дистанционного обучения, SaaS, Paas, Eucalyptus, Ubuntu.

Keywords: cloud computing, cloud services, virtualization, lms, lcms, learning management system, distant learning system, saas, paas, eucalyptus, Ubuntu.

В настоящее время термин cloud computing приобретает все большую популярность. Идея предоставления приложений (SaaS), платформ (Paas), инфраструктуры (IaaS) в виде сервисов позволяет сэкономить немало ресурсов клиентам, которые не могут себе позволить или не хотят иметь и поддерживать такие ресурсы. В случае предоставления этих ресурсов по запросу все трудности по реализации и поддержке ложатся на плечи облачных провайдеров. Процесс строительства private cloud, или так называемого «приватного облака», является очень трудоемкой задачей. Помимо затрат на оборудование (серверы, маршрутизаторы и др.), возникает также потребность в программном обеспечении, позволяющем управлять облаком и обеспечивающем надлежащий уровень надежности и отказоустойчивости. Сэкономить на этих затратах позволяют продукты, базирующиеся на принципах свободного программного обеспечения (СПО), но не уступающие при этом коммерческим аналогам. Одним из таких продуктов является Ubuntu Enterprise Cloud.

Ubuntu Enterprise Cloud - это несколько технологий включая проект Eucalyptus, реализующий открытую систему для внедрения облаков по запросу и гибридных облаков на базе имеющегося локального оборудования и ПО. Eucalyptus позиционируется как открытое (OpenSource) решение для организации доступа к вычислительным ресурсам с возможностью динамического масштабирования системы и балансировки нагрузки. Eucalyptus реализует схему IAAS (Infrastructure as a Service), а именно «нижний» уровень облака, позволяющий поднимать виртуальные машины по запросу вышестоящих приложений. Кроме того, технология

Eucalyptus совместима с AmazonEC и VMWarevCloud, что позволяет портировать образы виртуальных машин между этими системами, затрачивая при этом минимальные усилия. Иерархическая структура Eucalyptus представлена на рис. 1.

Рис. 1. Архитектура приватного облака на базе Eucalyptus

Контроллер узла (NodeController, NC) управляет запуском, работой и остановом виртуальных машин на подведомственном узле. Узел - это машина с работающим гипервизором (например, Xen), который осуществляет работу виртуальных машин (instances в терминологии Eucalyptus). Для работы этого сервера требуется наличие процессора с поддержкой аппаратной виртуализации (Intel-VT или AMD-v).

Контроллер кластера (ClusterController, CC) управляет подведомственными контроллерами узлов (NC): собирает информацию о загруженности узлов и принимает решение, на каких узлах будет выполнен запуск виртуальных машин.

Контроллер хранилища (StorageController) - место для хранения образов (image) виртуальных машин. В качестве хранилища выступает Walrus - сервис, подобный Amazon S3.

Контроллер облака (CloudController, CLC) представляет собой точку входа. Со стороны конечного пользователя (или вышестоящего приложения) поступают запросы на запуск виртуальных машин. Со стороны контроллеров кластеров поступают данные о загруженности узлов облака.

Архитектура Eucalyptus, помимо всего прочего, удобна еще и тем, что функции управления кластером организованы посредством веб-сервисов, а значит, эти функции легко интегрировать с собственными приложениями, которые в этом случае становятся клиентами для веб-служб, предоставляемых компонентами Eucalyptus. WSDL-описания этих сервисов поставляются вместе с исходными кодами Eucalyptus. CloudController (CLC) предоставляет основные коллекции веб-сервисов для управления виртуализацией ресурсов, сгруппированных в три группы по ролям:

• ResourceServices - выполняет общесистемный контроль над распределением ресурсов, позволяет пользователям управлять свойствами виртуальной машины и сети и контролировать компоненты системы и виртуальные ресурсы.

• DataServices - управляет системными данными и предоставляет конфигурируемое пользовательское окружение с выделением ресурсов по запросу.

• InterfaceServices - представляет собой видимые пользователю интерфейсы, протоколы обработки и проверки подлинности, а также инструменты управления обеспечением системы.

Для реализации функционала облачной системы электронного обучения была предложена архитектура, содержащая следующие уровни (см. рис. 2).

«Уровень Ядра» - отвечает за работу пакетов веб-сервисов LMS/LCMS и их веб-приложений-клиентов, а также за работу Администрирующего приложения. В том случае, когда большое число пользователей одновременно обращаются к одному пакету веб-сервисов, платформа, на которой он запущен, испытывает большие нагрузки. Если при этом на платформе запущены и другие пакеты сервисов, к которым тоже происходит обращение, нагрузка на платформу возрастает многократно. Поэтому целесообразно запускать каждый пакет веб-сервисов на отдельной платформе. Для этого в кластере выделяются 6 виртуальных машин (по

числу пакетов), на каждую из них устанавливаются экземпляры операционной системы и сервера Glassfish для запуска этих пакетов, 1 и более виртуальная машина для кластера Glassfish серверов-приложений, запускающего веб-приложение (клиента веб-сервисов). Число виртуальных машин для каждого пакета сервисов также может быть увеличено в случае, если одна виртуальная машина не сможет выдерживать возлагаемые на нее нагрузки. В этой ситуации каждый экземпляр сервера приложений, располагающийся на добавляемой виртуальной машине, помещается в соответствующий Glassfish-кластер.

Система

управления

облаком

Функционал Уровня БД Клиентов

Рис. 2. Архитектура решения

Стоит отметить, что сервер приложений Glassfish выбран не случайно. От прочих OpenSource серверов приложений его отличает то, что в Glassfish перенесены функции уровня предприятия из коммерческого продукта Sun, Java System Application Server Enterprise Edition: кластеризация, администрирование и балансировка нагрузки. Поддерживается также Web Services Interoperability Technology, позволяющая налаживать связь между веб-сервисами, действующими в средах Java и Windows. Glassfish служит эталонной реализацией JavaEE5.

«Уровень Баз данных клиентов» предназначен для запуска виртуальных машин с серверами баз данных MySQL 5, выделенных каждому клиенту. Клиент самостоятельно конфигурирует такие виртуальные машины исходя из собственных потребностей.

Итак, рассчитаем минимальные требования для функционирования такой системы из расчета на 10 клиентов SaaS-приложения (см. таблицу).

Таблица

Описание серверов архитектуры

Описание Min ОЗУ, Мб Кол-во Итого, Гб

1. ВМ уровня ядра 512 6 3

2. ВМ уровня баз данных 512 10 5

3. CLC+2*CC, реальный сервер 2048 1 2

4. Система управления облаком 1024 1 1

Если исходить из минимальных рекомендаций к виртуализации серверов, то для запуска 16 виртуальных машин необходимо 4 реальных сервера с двухъядерным процессором и 3 Gb оперативной памяти. Итого, 6 реальных серверов средней производительности. И никаких затрат на коммерческое прикладное ПО вследствие использования только свободного программного обеспечения на базе Ubuntu Enterprise Cloud, Glassfish и MySQL.

С применением Ubuntu Enterprise Cloud мы получаем экономичную, отказоустойчивую и масштабируемую платформу с полным комплектом ПО для развертывания облака. На базе такого облака можно построить SaaS-приложение или предоставлять платформу для других приложений.

Литература

1. Johnson D., Murary K., RajuM. Eucalyptus Beginner's Guide. - UEC Edition, CSS Corp. Pvt. Ltd, 2010.

2. Simple Object Access Protocol (SOAP). - http://www.w3.org/2000/xp/Group.

3. Web Services Description Language (WSDL). - http://www.w3.org/2002/ws/desc.

4. Java Technology and Web Services. - http://java.sun.com/webservices.

5. UEC. - http://help.ubuntu-it.org/10.04/ubuntu/serverguide/it/uec.html.

6. Oracle(R) Glassfish Server 3.0.1 Release Notes. - http://download.oracle.com/docs/cd/E19798-01/821-1759/821-1759.pdf.

7. MySQL Database 5.5. - http://www.mysql.com/products/enterprise/database.

УДК 004.4

ВАК 05.13.01

КОНТРОЛЬ ОБЛАЧНЫХ СЕРВИСОВ НА БАЗЕ МНОГОАГЕНТНЫХ ТЕХНОЛОГИЙ

Е. В. Павлова, младший научный сотрудник, аспирант кафедры АСОИиУ Тел.: (916) 128-72-56, e-mail: [email protected] Московский государственный университет экономики, статистики и информатики

(МЭСИ) http://www.mesi.ru

The article is devoted to the monitoring of cloud services using program agents and methodology of ITIL/ITSM. Some features of compiling cloud Service Catalogue are shown , including the description of the Catalogue in the library of the best practice experience ITIL (2 and 3 versions). The features of composing and control of Service Level Agreements in cloud environment are also considered. The description of metrics for cloud services is presented in the context of monitoring of cloud SLA. The multi-agent system is offered for using as the main tool of monitoring cloud services. Since program agents have some features in cloud environment, specific requirements to them are identified.

Статья посвящена контролю облачных сервисов на базе программных агентов с учетом методологии ITIL/ITSM. Выделены особенности составления Каталога облачных сервисов с учетом его описания в библиотеке лучшего практического опыта ITIL версий 2 и 3. Также рассмотрены особенности составления и контроля Соглашений об уровне сервиса в облачной среде. В контексте мониторинга облачных SLA присутствует описание метрик облачных сервисов. В качестве основного инструмента мониторинга облачных услуг предлагается использовать многоагентную систему. Так как программные агенты в облачной среде имеют некоторые особенности, к ним выделены специфические требования.

Ключевые слова: облачные услуги, облачные вычисления, ITIL, ITSM, метрики, программные агенты, интеллектуальные агенты, каталог услуг, соглашение об уровне сервиса.

Keywords: cloud services, cloud computing, ITIL, ITSM, metrics, program agents, intellectual agents, service catalogue, service level agreement.

Введение

В настоящее время облачные вычисления являются одной из самых обсуждаемых тем в ИТ-сообществе. И особое внимание уделяется облачным услугам типа SaaS (Software as a Service, приложение как услуга). Именно этот вид облачных услуг наиболее динамично развивается в России. Сегодня ряд поставщиков на отечественном рынке уже предоставляет услуги по модели SaaS, а самое главное - эти услуги имеют возрастающий спрос.

Чтобы подчеркнуть растущую популярность SaaS, хотелось бы привести некоторые статистические данные. По данным компании Софтлайн за 2009 год, используют SaaS-решения 45% опрошенных компаний, не используют SaaS, но планируют начать использовать -не планируют использовать SaaS - 22%. Также в 2009 году компанией

33%, не используют и

i Надоели баннеры? Вы всегда можете отключить рекламу.