Scientific journal
Fundamental research
ISSN 1812-7339
"Перечень" ВАК
ИФ РИНЦ = 1,674

CLOUD SHAPE STRUCTURALLY-UNDERLYING TECHNOLOGY

Khalilov A.I. 1 Khalilov M.A. 2
1 The Daghestan Scientific Research and Technological Institute of Informatics
2 The National Bank of the Republic of Dagestan
Article of A.I. Khalilov and M.A. Khalilov «Cloud shape structurally-underlying technology» is devoted to the consideration of the methods and means of structurally-underlying technology shared systems in terms of their use in the cloud. The features, flaws, problems and ways of further improving cloud systems. It is not difficult to see that many defining features of cloud systems were previously, before the emergence of cloud terminology, researched and implemented within the framework of the structural and underlying technologies (such as parametribility, communicability, multiplicativity, intelligence, and others, perhaps, with some amendments, the interpretation of their definitions). Conceptual integrity structurally-underlying technology and its use in various subject areas to build large-scale information systems can be regarded as sufficiently important reasons for its use in the development of cloud computing.
system for collective use
structural and underlying technology
dialogue system
the method of sequential increase
database
knowledge base
domain model
communicability
parametribility
intelligence
adaptability
concurrency
service system
scaling
cloud computing
1. Khalilov A.I., Losevichev V.I., Shutkov I.M. O Modelirovanii Upravlyayuschey Komponenty v Odnoy Sisteme Kollektivnogo Polzovaniya // Modeli I Sistemy Obrabotki Informatsii. Kiev, 1988. no. 7. pp. 97‒104.
2. Khalilov A.I. Metod Posledovatelnogo Uglubleniya I nekotorye Ego Primeneniya // Teoriya i Praktika Sistemnogo Programmirovaniya. IK AN USSR. Kiev, 1976. pp. 180‒191.
3. Khalilov A.I. Nekotorye Voprosy Organizatsii Baz Dannikh v Clozhnikh Sistemakh Avtomatizirovannogo Upravleniya // Kibernetika. 1981. no. 3. pp. 40‒45.
4. Khalilov A.I. Sistemnye Vzaimodeystviya v ASU Territorialnymi Zvenyami // Preprint RDENTP, Kiev, 1980. 19 p.
5. Khalilov A.I. Strukturno-Bazovaya Tekhnologiya Sozdaniya Sistem Kollektivnogo Polzovaniya: Monografiya: izd-e 2-e. – Makhackkala: ID «Mavraev». 2011. 133 p.
6. Khalilov A.I., Shilkin A.I. Ob Odnom Podkhode k Proektirovaniyu Dialogovikh System Kollektivnogo Polzovaniya. Sb. Nauch. tr. M., 1984. pp. 38‒44.
7. Khalilov M.A. Klassifikatsiya i Tendentsii Razvitiya Promezhutochnogo Prodrammnogo Obespecheniya // Materialy nauch. seminara «Problemy Informatiki i Informatizatsii». Makhachkala.: IPTS DGU. 2010. pp. 51‒61.
8. Cloud Computing Group. Who invented the term Cloud Computing? Google Groups. 2011.
9. Gens, Frank. IDC’s New IT Cloud Services Forecast: 2009-2013 (англ.). IDC. 2009.
10. Gillam, Lee. Cloud Computing: Principles, Systems and Applications / Nick Antonopoulos, Lee Gillam. L.: Springer, 2010. 379 p.
11. Mell, Peter and Grance, Timothy. The NIST Definition of Cloud Computing. Recommendations of the National Institute of Standards and Technology. NIST. 2011.

Как известно, концепция «облачных вычислений» зародилась в 1960 году, благодаря предположению Джона Маккарти, что когда-нибудь компьютерные вычисления будут производиться с помощью «общенародных утилит». Следующими шагами к концептуализации облачных вычислений считаются появление CRM-системы, предоставляющей услуги по подписке, в виде веб-сайта (1999), начало предоставления услуг по доступу к вычислительным ресурсам через Интернет книжным магазином Amazon (2002), формулировка идеи вычислительной эластичности и запуск в августе 2006 года проекта Elastic Computing Cloud (ECC), оглашение терминов cloud и cloud computing в одном из выступлений главы Google Эрика Шмидта практически одновременно с запуском ECC [11], после чего встречаются многочисленные упоминания облачных вычислений, запуск в 2009 году приложений Google Apps [8]. Идеология облачных вычислений в целом получила популярность в 2007 году. В 2009–2011 годы были сформулированы несколько важных обобщений представлений об облачных вычислениях, в том числе идея частных облачных вычислений, актуальная для их применения внутри организаций, идеи о различных моделях обслуживания (SaaS, PaaS, IaaS). В 2011 году Национальный институт стандартов и технологий США (NIST) сформировал определение как обобщение трактовок и вариаций облачных вычислений в едином понятии [10]. IT-специалисты дают предпочтение преимущественно этому определению. Оно сформулировано как рекомендации в следующем виде в виде:

Облачные вычисления – это модель обеспечения повсеместного и удобного сетевого доступа по требованию к вычислительными ресурсным пулам (например, сетям, серверам, системам хранения, приложениям, сервисам), которые могут быть быстро предоставлены или выпущены с минимальными усилиями по управлению и взаимодействию с поставщиком услуг. Под облачной инфраструктурой понимается набор аппаратного и программного обеспечения, имеющего пять основных свойств облачных вычислений. Облачная инфраструктура рассматривается как содержащая и физический уровень, и уровень абстракции. Физический уровень состоит из аппаратных ресурсов, которые необходимы для поддержки облака предоставляемых услуг, и, как правило, включает серверы, системы хранения и сетевые компоненты. Уровень абстракции состоит из программного обеспечения, развернутого на физическом уровне, и содержит все основные свойства облаков. Концептуально уровень абстракции стоит выше физического уровня.

С этим определением связаны описание атрибутов (гибкие, предоставляемые по запросу пулы ресурсов и измеряемые услуги), моделей служб (инфраструктура как услуга – IaaS, платформа как услуга – PaaS, программное обеспечение как услуга – SaaS) и подходов к развертыванию (частное, гибридное и общедоступное облако), составляющих в совокупности понятие «облачные вычисления».

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

  • самообслуживание по требованию,
  • широкий сетевой доступ,
  • объединение ресурсов в пулы,
  • мгновенная эластичность,
  • измеряемый сервис.

К достоинствам облачных вычислений относят:

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

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

Многие специалисты подвергают сомнению более высокую степень безопасности облачных систем по сравнению с традиционными информационными системами. Об этом же (даже о снижении безопасности) говорят также указанные выше недостатки.

В ноябре 2011 г. в Лондоне состоялась конференция «Virtualisation and Cloud Security Conference», на которой аналитики IDC обменялись мнениями об облачных системах (вычислениях) [7]. В частности они выразили обеспокоенность состоянием безопасности в облачных системах. Они выразили мнение, что в публичных и гибридных системах недостаточность защиты информации представляет серьёзную проблему и требуется разработка новой стратегии безопасности данных, связанной с особенностями облачных систем, что наиболее безопасная виртуальная среда – это частная облачная система, и призвали участников конференции в большей степени уделять внимание этому виду систем.

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

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

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

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

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

Облачная инфраструктура – это ИТ-инфраструктура, обладающая некоторыми определенными свойствами. Ключевым моментом тут является не способ доступа к ИТ-ресурсам, а организация ИТ-инфраструктуры.

Облачные вычисления – это не решение и не проект, а концепция (модель) построения и использования ИТ-ресурсов. Конкретные решения и проекты могут лишь удовлетворять в той или иной мере этой модели, но сами по себе «облачными вычислениями» быть не могут.

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

«Cloud Computing — это стиль разработки и использования компьютерных технологий (вычислений), при котором динамично масштабируемые ресурсы предоставляются через Интернет как сервис».

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

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

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

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

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

Новые проблемы могут возникнуть в случае интеграции нескольких облачных приложений от разных поставщиков.

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

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

  • разработка и использование открытых стандартов для взаимодействия как между компонентами внутри облака, так и между различными облаками (рассматривается как один из ключевых факторов развития IT-систем), а также для интеграции программных продуктов различных вендоров в общую систему и миграции пользователей между различными облачными провайдерами (здесь важно как использование имеющегося многообразного промежуточного программного обеспечения [6], так и разработка недостающего для полноценной реализации функций облачных систем),
  • обеспечение изоляции виртуальных машин и процессов различных пользователей на всех уровнях системы, а также защищённость систем различных пользователей от ошибок в соседних системах,
  • разработка единого API для создания программ, работающих в облачной среде, и удобного интерфейса с облаком. В данном случае можно было бы шире использовать уже имеющиеся разработки (в частности, опыт построения Grid-систем). Краткая информация ещё об одной такой разработке представлена ниже,
  • разработка новых концепций обеспечения безопасности облачных систем,
  • разработка комплексных экономических моделей использования IT-услуг и методологий поиска компромиссных решений для получения максимальной выгоды при минимальных рисках,
  •  решение юридических проблем функционирования облачных систем с учётом законов разных стран и действий в конфликтных ситуациях,
  • решение технических проблем, в частности: разработка систем управления с реализацией эластичного масштабирования, создание универсальных сред разработки облачных приложений, развитие моделей IaaS и PaaS, рост рынка комплексных IT-сервисов, построение моделей сервис-ориентированных инфраструктур и др.

На развитие облачных вычислений сильное влияние оказала технология Grid-вычислений (границы Grid и Cloud – достаточно размыты). Кроме Grid-систем имеются многочисленные наработки, которые образовали критическую массу технологий создания и использования IT-систем и их инфраструктур, осмысление и обобщение которых обусловило появление технологии облачных вычислений. Ниже приведено краткое описание технологии создания систем коллективного пользования параллельного действия (СКППД) с элементами искусственного интеллекта, которая названа структурно-базовой технологией (СБТ) [9].

Широкие архитектурные возможности (от простых терминальных устройств и персональных компьютеров до супер-ЭМВ, разнообразие состава пользователей и решаемых задач, с одной стороны, применение пользователями различных по техническим характеристикам инструментальных и операционных программных средств, с другой, обуславливают наличие в реальных системах коллективного пользования (СКП) трех взаимодействующих компонентов: {σ} ‒ множество инструментальных программных средств СКП; (М) ‒ множество предметных областей; {Ω} ‒ множество операционных сред, в которых функционируют {σ} над {М}.

В целях повышения эффективности и технологичности СКП необходимо решить задачу минимизации множества (σ) (унификации) при максимуме размерности {М} (адаптируемость σ к М) и инвариантности σ по отношению к {Ω}. В такой постановке актуализуется проблема оптимальной организации вычислительного процесса, обеспечивающей гибкую и динамичную дисциплину обслуживания.

Речь идет о системе, структура которой в общем случае многоуровневая, многопро-цессорная, неоднородная. Состав и характеристики задач и пользователей заранее не определены. Задачи могут быть широкого спектра: от сложных итерационных расчетов, когда в работе участвуют много компонентов системы с различных уровней иерархии, до простых запросов к БД. Очевидно, такая СКП должна обладать рядом специфических свойств: гибкостью и высокой адаптируемостью, надежностью, быстротой реакции.

Технический комплекс СКП может включать различные ЭВМ, объединенные в мно-гопроцессорные вычислительные системы, а сетевая архитектура должна обеспечивать распределенную обработку информации, а также интерактивность не только между пользователем и системой, но и между элементами системы, т.е. она должна обладать свойством коммуникабельности.

Если для отдельной вычислительной установки имеет место проблема повышения ее производительности за счет совершенствования алгоритмов, программ, структур данных и других элементов, то для СКП этого недостаточно. Здесь большую роль играют организация вычислительного процесса, определение и динамическое поддержание оптимального режима функционирования вычислительного комплекса в целом с учетом многих внутренних и внешних параметров. СКП должна оперативно реагировать на изменение значений этих параметров, т.е. быть параметрической.

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

Таким образом, для решения проблемы коллективного использования программно-технических и информационных ресурсов требуется создание интерактивных систем коллективного пользования параллельного действия (ИСКППД), объединяющих в рамках единой технологии научно-технические результаты решения перечисленных выше проблем и обладающих свойствами параметричности, коммуникабельности и интеллектуальности.

Методология создания СКП предполагает интеграцию в соответствии с единой тех-нологической концепцией таких понятий, как принципы структуризации системы [5], метод последовательного углубления [1], методы и средства конструирования диалоговых систем [4], представления данных [2] и знаний, диалоговой мультиобработки, моделирования [3].

В связи с тем что в основе этой технологии лежат принципы структуризации системы в целом и её компонентов и концепции построения БД, она получила название структурно-базовой (СБТ).

В этой технологии нашли развитие идеи структурного проектирования и программирования и методы декомпозиции организационных структур в направлении максимального выделения управляющих процессов, их унификации и универсализации алгоритмов, выделения в модели предметной области БД объекта, БД среды, базы отношений и базы правил изменения этих отношений. Такой подход является принципиально новым и представляет (в сочетании с методами и средствами конструирования схем диалогов) основу для создания баз знаний (БЗ) и основанных на них интеллектуальных систем для широкого применения.

Основным методом анализа, исходной структуризации и динамической реструктуризации как системы в целом, так и её структурных и технологических элементов (управляющей системы, модели предметной области, БД, системы мультиобработки, диалоговых схем и др.) является метод последовательного углубления (МПУ), базирующийся на ряде известных методов и алгоритмов обработки деревьев и отличающийся от них общностью, универсальностью и простотой механизма функционирования. МПУ рассматривает анализируемую структуру как частично упорядоченное иерархическое множество А, на котором определено некоторое отношение порядка δ из множества ∆ допустимых на этом множестве отношений. Анализ А производится на истинность некоторого предиката р∈Р = {рi}. Предикат р0 называют управляющим, рi (i = 1, 2, ..., m) ‒ функциональными. В каждом конкретном случае р0 выбирает рi, истинность которого проверяется. В случае истинности рi выполняется некоторая процедура qj (j = 1, 2, ..., k) из множества процедур Q = {qj}. Процедура q0 управляющая и обеспечивает выбор qj, соответствующего рi.

Концепции построения БД распространены посредством фреймовой технологии на функциональное программное обеспечение системы, чем обусловлена возможность формирования баз программ и систем управления ими по аналогии с БД и СУБД. Введены понятие мультибазы данных (МБД) применительно к БД СКП параллельного действия, определение реляционной МБД, обобщенные операции манипулирования ею. Средства создания диалоговых систем (ДС), благодаря широкому использованию фреймовой технологии, отличаются универсальностью управления, простотой адаптации к различным предметным областям, а также возможностью создания распределенных иерархических БД и БЗ путем сочетания упомянутых принципов структуризации, МПУ и диалоговых средств.

При разработке архитектуры диалогового процесса принята основная гипотеза о существовании некоторой фиксированной последовательности действий, выполняемых управляющим модулем этого процесса в узлах графа, описывающего схему диалога. Такая последовательность действий не зависит от специфики предметной области, что является предпосылкой для создания универсального (в некотором смысле) управляющего модуля диалогового процесса. Этот модуль управляет ходом диалогового процесса в соответствии со структурой конкретной схемы диалога. Для каждого приложения составляется схема диалога, реализуемого под управлением диалогового монитора (ДМ). В качестве инструментария используется специальный комплекс программ разработчика ДС. Для создания схемы задается её дескриптор с общей информацией о схеме диалога и её параметрах (уникальное имя схемы, номера начального и конечного состояний, размеры общей области параметров схемы, текст комментария) и дескрипторы состояний, содержащие информацию о действиях, выполняемых в этом состоянии.

Возможны следующие типы состояний: управляющее – U, информационное – I, информационно-управляющее – C, форматноe – F, вычислительное – V, макросостояние – М. В этих состояниях выполняются функции формирования монитором в буфере экрана допустимых ответов (U, F), выделения «окон» для ввода данных пользователем и задания запросов с синтаксисом для ответа (F), выдачи буфера экрана, сформированного функциональным модулем предыдущего состояния, приема ответа и его обработки (I ,V), блокировки обменов с терминалами и вычисления (V), выдачи информационных сообщений (I , V), перехода к новой схеме диалога (М), инициации общесистемных функций (протоколирование диалога, вызов каталогизированных ответов для нескольких связанных состояний, получение справок о допустимых ответах о состоянии и о схеме диалога в целом) и др.

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

Инструментарий создания схем диалога предоставляет возможность проектирования параллельного процесса и непосредственного участия пользователя в оптимизации программы (параллельного вычислительного процесса), применяя свои знания о естественном параллелизме данных и процедур их обработки в своей предметной области и различные стратегии распараллеливания вплоть до выделения максимального параллелизма. При этом уместно говорить о системе диалоговой мультиобработки, состоящей из трёх основных блоков: распараллеливатель, оптимизатор и исполнитель.

Применение метода последовательного углубления, методов оптимизации, метода весовых функций и других средств, представленных в СБТ, обеспечивает возможность получения оптимальных по различным критериям параллельных программ – от максимально параллельной до строго последовательной.

Используемый в СБТ подход к моделированию СКП содержит принципиально новые элементы. Они заключаются в расширении применения известных методов моделирования технических характеристик и режимов функционирования системы до моделирования их в сочетании с планово-экономическими и другими характеристиками и оптимизации последних на основе использования БД и БЗ о функциональных процессах, пользователях, среде и условиях функционирования СКП, а также нормативной базы технологических операций.

Как следует из вышеприведенного краткого изложения, концепция СКП в существенной мере совпадает с концепцией облачной системы, учитывая при этом, что СБТ предназначена преимущественно для создания систем, а инструменты облачных систем имеют производственный (реализационный) характер. Технология, методы и средства создания СКП, разработанные значительно раньше появления понятия «облачные вычисления», на наш взгляд, могли бы быть эффективно использованы (полностью или частично – по обстоятельствам) при создании, развитии и использовании облачных технологий. Методы последовательного углубления и весовых функций, свойства коммуникабельности и параметричности, особенности конструирования диалоговых систем, средства представления данных, знаний и моделирования, средства интеллектуализации информационных систем, методология создания систем коллективного пользования в целом – это именно то, что необходимо для решения многих из перечисленных выше проблем облачных вычислений, начиная с главной проблемы – управления системой (кроме безопасности, являющейся специфической проблемой со своими средствами и особенностями решения). Использование открытых стандартов в облачных вычислениях обуславливает необходимость широкого использования имеющегося и разработки нового промежуточного программного обеспечения, эффективно реализующего потребности межкомпонентного, межсистемного, межоблачного взаимодействия.

Рецензенты:

Адамадзиев К.Р., д.т.н., профессор, зав. кафедрой информационных технологий и моделирования экономических процессов Дагестанского государственного университета, г. Махачкала;

Курбанмагомедов К.Д., д.т.н., профессор, директор Дагестанского Института (филиала) Московского государственного открытого университета , г. Махачкала.

Работа поступила в редакцию 08.08.2014.