Модели функционирования «Облачной» компьютерной системы

_Доклады БГУИР_

2012 № 3

УДК 519.711.2:004.7

МОДЕЛИ ФУНКЦИОНИРОВАНИЯ «ОБЛАЧНОЙ» КОМПЬЮТЕРНОЙ СИСТЕМЫ

Н И. ЛИСТОПАД, Е В. ОЛИЗАРОВИЧ

Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь

Гродненский государственный университет им. Я. Купалы Ожешко, 22, Гродно, 230023, Беларусь

Поступила в редакцию 14 февраля 2012

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

Ключевые слова: облачные вычисления, облачная компьютерная система, прокси-клиент.

Основные понятия и определения

«Облака» относятся к классу сетевых компьютерных систем, основными элементами которых являются: компьютерная сеть с повышенной надежностью и пропускной способностью; клиент «облака» - аппаратное и программное обеспечение, взаимодействующее с «облаком» на основе стека протоколов TCP/IP; собственно «облако» - программно-аппаратный комплекс, обеспечивающий работу «облачных» сервисов, взаимодействие с клиентом и динамическое управление ресурсами облака.

Отличительными особенностями «облачных» технологий являются [1, 2] следующие признаки:

- сервисная модель обслуживания - представление сетевых ресурсов в виде пула настраиваемых сервисов, готовых к немедленному использованию на условиях on-line подписки без дополнительной установки и настройки со стороны пользователя;

- самообслуживание - возможность для потребителя самостоятельно изменять номенклатуру и конфигурацию сервисов в режиме on-line с использованием http-клиента;

- высокая автоматизация процесса управления пулом сервисов, учетными записями пользователей и потреблением ресурсов;

- эластичность - возможность динамического перераспределения имеющихся ресурсов между потребителями; при этом внутренняя техническая структура «облака» скрыта от потребителя и недоступна ему для модификации, а само расширение доступных ресурсов является прозрачным;

- использование распространенных сетевых технологий - «облачные» сервисы должны быть доступны для любого клиентского оборудования с использованием стандартных технологий и протоколов, поддерживающих стек протоколов TCP/IP.

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

технологии и http-протокол в качестве базовых средств управления «облаком» и доступа к его сервисам. Для специализированных сервисов также сохраняется возможность использования собственных прикладных протоколов, работающих в составе стека протоколов TCP/IP.

Выделяются следующие базовые классы «облачных» сервисов.

1. IaaS (Infrastructure as a Service) - «инфраструктура как услуга», клиенту предоставляется полный доступ к виртуальной машине с возможностью устанавливать и настраивать операционную систему (ОС) и любое программное обеспечение (ПО). Модель IaaS предполагает, что клиент самостоятельно может управлять количеством процессоров, объемами оперативной памяти, дискового пространства и сетевых коммуникаций виртуальной машины. В качестве потребителя сервиса может выступать как удаленный клиент, так и система управления самим «облаком», использующая IaaS для построения сервисов более высокого уровня. Сервис IaaS предполагает полную ответственность клиента за безопасность, работоспособность и законность использования ПО. На оператора «облака» возлагается лишь ответственность за безопасность и надежность функционирования аппаратной платформы.

2. PaaS (Platform as a Service) - «платформа как услуга», предоставляет клиенту ограниченный доступ к управлению ОС, удаленным рабочим столом (DaaS, desktop as a service), СУБД и т.д. В этом случае на оператора «облака» возлагается установка и настройка системного ПО, соблюдение соответствующих лицензионных соглашений и обеспечение мер безопасности. Клиент же имеет возможность устанавливать, настраивать и использовать прикладное ПО, несет ответственность за его безопасность и соблюдение лицензионных прав. Сервисы PaaS также могут использоваться при организации других сервисов «облака».

3. SaaS (Software as a Service) - «прикладное ПО как услуга», предоставляет on-line доступ к использованию прикладного ПО. При этом настройка ПО, обеспечение мер безопасности и соблюдение лицензионных соглашений возлагается на оператора «облака».

4. KaaS (Knowledge as a Service) - «знания как услуга», «облачный» сервис, содержащий «однозначно интерпретируемые актуальные знания, обеспечивающие поддержку принятия решений» и предоставляющий технологические средства их использования [3].

Программно-техническая инфраструктура «облака» строится на основе центров обработки данных (ЦОД). В зависимости от размещения и принадлежности ЦОД, порядка предоставления доступа к сервисам и способа организации работы клиента, выделяются корпоративные или специализированные «частные облака» (private cloud), универсальные «публичные облака» (public cloud), совместно используемые «общие облака» (common cloud) и смешанный тип обслуживания - «гибридные облака» (hybrid cloud).

Архитектура «облачной» компьютерной системы

На основе анализа различных «облачных» систем, поддерживаемых такими компаниями как Microsoft, VMware, HP, Amazon, авторами предлагается обобщенная модель архитектуры «облака», представленная на рис. 1. Основными элементами такой модели являются описанные ниже.

1. Отказоустойчивое программно-аппаратное ядро ЦОД, включающее аппаратное обеспечение ЦОД, кластерное системное ПО, гипервизор системы виртуализации и средства обеспечения работы сети на основе стека TCP/IP. Аппаратное обеспечение включает вычислительный кластер и комплекс сетевых подсистем хранения (SAN, NAS).

2. Интерфейс управления «облаком» на основе web-сервера, позволяющий управлять ресурсами «облака» и получать доступ к его сервисам на основе http-протокола с использованием web-технологий.

3. Среда виртуализации и управления виртуальными ресурсами «облака», представляющая собой специализированное «промежуточное» ПО, позволяющее обеспечивать ключевые свойства «облака» (представление ресурсов в виде сервисов, автоматизация управления, самообслуживание клиентов), управлять учетными записями, потреблением ресурсов, правами пользователей. Организация передачи управляющей информации ресурсам может быть представлена в виде универсальной шины управления ресурсами, доступ к которой имеет как среда управления, так и клиент «облака» посредством web-интерфейса.

4. Средства доступа к сервисам «облака», представляющие собой набор протоколов и технологий, позволяющих пользователю подключаться и пользоваться нужными сервисами. Организация обмена данными между клиентом и сервисами может быть представлена в виде шины доступа к сервисам, поддерживающей стандартные протоколы передачи и доступной как для непосредственного сетевого доступа, так и для доступа с помощью web-интерфейса, транслирующего http-запросы клиента в специализированные протоколы доступа к сервисам.

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

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

«Облако»

Рис. 1. Архитектура «облачной» компьютерной системы

2. Архитектура «облака» предполагает и включает средства обеспечения двух режимов работы пользователя: режима управления ресурсами и режима использования сервисов.

3. Использование web-сервера для организации универсального интерфейса пользователя с одной стороны позволяет упростить доступ к сервисам, а с другой - ограничивает возможности сервисов «облака» рамками http-протокола. В связи с этим можно прогнозировать появление специально разработанного расширения http-протокола или нового протокола удаленного управления для «облака».

4. В отличие от IaaS- и PaaS-сервисов, программное обеспечение уровней SaaS и KaaS значительно более разнообразно и создается большим количеством независимых производителей, соответственно должна быть предусмотрена возможность создания специального «облачного» программного интерфейса (cloud-API), который позволит обеспечить разработку многочисленных SaaS- и KaaS-приложений и их переносимость для разных реализаций «облака».

5. Основные классы «облачных» сервисов могут быть упорядочены в иерархию (стек) сервисов «IaaS-PaaS-SaaS-KaaS», показанный на рис. 1, в котором каждый вышележащий уровень использует ресурсы нижних. Отсюда целесообразна специализация «облаков» виде ресурсных IaaS-, PaaS-«облаков» и сервисных SaaS-, KaaS-«облаков» для гибкого построения на их базе «гибридных облаков» любого назначения.

Модели функционирования «облачных» компьютерных систем

При построении информационно-коммуникационных систем базовой является модель «клиент-сервер», предполагающая выделение клиента - выполняющего функции взаимодействия с пользователем и формирования запросов на основе заложенной бизнес-логики, и сервера

- выполняющего специализированную обработку данных. Сетевые коммуникации клиента и сервера выполняется в соответствии с нормами эталонной модели взаимодействия открытых систем ISO/OSI и моделью взаимодействия TCP/IP.

С точки зрения клиент-серверной модели особенностью функционирования «облачной» компьютерной системы является наличие дополнительного канала управления серверным ресурсом (рис. 2,а,б). Этот канал является виртуальным, не требует отдельной коммуникационной инфраструктуры, и в архитектуре, показанной на рис. 1, образуется путем «http-клиент -компьютерная сеть - программно-аппаратное ядро - web-интерфейс управления ресурсами и обеспечения доступа к сервисам - шина управления ресурсами «облака» - ресурс». Существование отдельного канала управления позволяет независимо от самого ресурса, в режиме реального времени управлять его характеристиками и состоянием, что является существенным преимуществом «облачной» технологии по сравнению с другими видами сетевого информационного обслуживания. Показанная на рис. 2,а модель может вырождаться в обычную одноканаль-ную схему для случая «частного облака», при котором пользователь ограничен корпоративными требованиями.

Другой особенностью клиент-серверной модели «облака» является наличие двух способов организации доступа к сервисам. Первый способ - «специализированный клиент - сервер»

- показан на рис. 2,б и является стандартным в традиционных сетевых системах. В предложенной на рис. 1 архитектуре реализуется в виде пути «специализированный клиент - компьютерная сеть - программно-аппаратное ядро - шина доступа к сервисам «облака» - сервис». Этот способ более характерен для сервисов уровня IaaS, PaaS. Второй способ доступа - «http-клиент

- web-интерфейс доступа к серверу - сервер», показанный на рис. 2,в, универсален и позволяет использовать любой тип сервиса при наличии у пользователя только http-клиента, что характерно, например, для мобильных устройств. При этом реализуется единый для всех сервисов путь «http-клиент - компьютерная сеть - программно-аппаратное ядро - web-интерфейс управления ресурсами и обеспечения доступа к сервисам - шина доступа к сервисам «облака» - сервис», а функции клиента разделяются на платформо-зависимый интерфейс пользователя, который реализуется аппаратурой, операционной системой и интернет-обозревателем, и платфор-мо-независимую исполнительную часть, реализующую бизнес-логику и технический интерфейс доступа к серверу.

Таким образом, имеющийся в составе архитектуры «облака» web-интерфейс управления ресурсами и обеспечения доступа к сервисам выступает в процессе обмена с сервером в качестве доверенного прокси-клиента. Основной задачей такого прокси-клиента является технологическая развязка маршрута «пользователь-сервис», в т.ч.: трансляция http-трафика клиента в трафик специализированного сервисного протокола; освобождение программно-аппаратных средств пользователя от сложных, производительных вычислений; обеспечение пространственной и временной мобильности пользователя.

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

С точки зрения моделей сетевой организации каждое «облако» представляет собой подключенную к Интернет, локальную вычислительную сеть (ЛВС), построенную на основе модели взаимодействия TCP/IP и соответствующих технологий. Внутренняя организация «облака» предполагает наличие комплекса аппаратно и программно реализованных коммутаторов, маршрутизаторов, мостов и шлюзов. Сетевая подсистема обеспечивает масштабируемость «облака» и его интеграцию в Интернет, возможность гибкого управления потоками и дополнительные возможности для контроля действий пользователя.

данные

клиент канал управления сервер

а

клиент «облако»

б

«облако»

клиент

в

Рис. 2. Особенности клиент-серверной модели организации «облака»: а - независимый канал управления сервером, б - использование специализированного клиента, в - распределенная структура

универсального http-клиента

Модель адресации сервисов построена на основе стандартов и средств стека протокола TCP/IP и обеспечивается средой виртуализации и управления ресурсами как показано на рис. 3. В качестве динамически выделяемых адресов виртуальных сервисов может использоваться TCP-сокет или универсальный идентификатор ресурса (URI). Первый способ адресации доступен для типовых TCP-сервисов, характерных для IaaS и PaaS, второй является универсальным для всех сервисов «облака».

Рис. 3. Модель адресации сервисов «облака»

С точки зрения пользователя «облако» может быть расположено в локальной сети, либо доступно с использованием Интернета. В зависимости от способа организации выделяют несколько типов «облака», взаимоотношения между которыми показаны на рис. 4,а:

- «частное облако» - предназначено для использования в рамках определенной группы пользователей (корпорации, ведомства) и полностью административно подчинено этой группе;

- «публичное облако» - предназначено для свободного использования любыми пользователями независимо от их территориального размещения и подчинения, управляется незави-

симым оператором «облака», содержит, как правило, универсальные (типовые) приложения, предоставляемые на условиях соглашения об уровне услуг (service-level agreement, SLA);

- «гибридное облако» - способ работы пользователя, при котором для решения задач совместно используются сервисы как «частного облака» организации, так и «публичных облаков»;

- «общее облако» - разновидность «гибридного облака», позволяющая совместно, но с ограничением доступа, использовать ресурсы «частных облаков».

«гибридное облако»

а

«облако» «облако»

http-клиент

б

«облако» «облако»

эльэователь

J j 1

http-клиент

информация

сервис

Т

о.

о

-tcp/ip-

лрокси-клиент

-tcp/ip-

cepewc

J с t * 1 j

прокси-клиент

в

Информационная сеть

Телекоммуникационная сеть

г

Рис. 4. Сетевые модели организации «облака»

Работа пользователя в «гибридном облаке» может быть организована двумя способами. На рис. 4,б показан случай, в котором пользователь самостоятельно организует работу по управлению и использованию ресурсов каждого «облака». На рис. 4,в показана «корпоративная» модель организации «гибридного облака», при которой пользователь подключается только

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

При использовании «облака» пользователь ориентирован на обработку информации, а не на передачу данных. Поэтому, как показано на рис. 4,г, передача пакетов на каждом участке «облака», организуемая в рамках модели сетевого взаимодействия TCP/IP, является транспортом для более высоких уровней информационного обмена.

На основании анализа архитектуры и моделей функционирования, можно определить «облачную» компьютерную систему как информационно-коммуникационную сеть, ориентированную на удаленное предоставление любых информационных и программных приложений и обладающую высокой степенью специализации узлов, унифицированным способом передачи данных на основе стека TCP/IP и возможностями самостоятельной настройки рабочей среды для пользователей.

Заключение

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

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

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

FUNCTIONING MODELS OF THE CLOUDS COMPUTING SYSTEMS N.I. LISTOPAD, E.V. OLIZAROVICH Abstract

Clouds computing network models are presented. The architecture and the features of the clouds computing are described. There are new concepts presented at the article: Clouds Computing system and Proxy Client.

Список литературы

1. Peter Mell, Timothy Grance // The NIST Definition of Cloud Computing. Gaithersburg, 2011.

2. Rajkumar Buyya, James Broberg, Andrzej Gosciñski. Cloud Computing: Principles and Paradigms. John Wiley & Sons, 2011.

3. ВиссияХ., Краснопрошин В.В., Вальвачев А.Н. // Вестн. БГУ. 2011. Сер. 1. №3. C. 85-86.