Научная статья на тему 'Постановка задач облачных вычислений'

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

CC BY
630
123
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ / CLOUD COMPUTING / ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ / ИНТЕРНЕТ / INTERNET / COMPUTER MODELING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Межуева Т.А.

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

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

STATEMENT OF CLOUD COMPUTING PROBLEMS

The paper deals with basic principles of cloud computing a new field in modern information technologies, as well as its advantages and disadvantages.

Текст научной работы на тему «Постановка задач облачных вычислений»

ПОСТАНОВКА ЗАДАЧ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ STATEMENT OF CLOUD COMPUTING PROBLEMS

Т.А. Межуева

T.A. Mezhueva

ФГБОУ ВПО «МГСУ»

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

The paper deals with basic principles of cloud computing - a new field in modern information technologies, as well as its advantages and disadvantages.

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

Рассмотрим отличительные черты облачных вычислений. Первый ключевой момент - в "облаках" все имеющиеся ресурсы используются в максимальном объёме. Очень невыгодно иметь парк серверов, который простаивает, а значит и не приносит прибыли. Самый простой и очевидный выход - использование систем виртуализации различных уровней для того, чтобы на одном узле можно было без проблем запускать разнородные задачи, тем самым загружая этот узел по максимуму. Второй метод борьбы с высокими затратами на обслуживание - чисто технологический - увеличение количества моделей энергоэкономичных ЦПУ с высоким показателем производительности и большим количеством ядер (до десятков тысяч). Отсюда ещё одна особенность облаков - размытость, нечёткая граница. Для потребителя облачных вычислений нет таких понятий, как объём оперативной памяти, количество свободного места на жёстком диске, частота процессора и так далее. Аналогичным образом не надо задумываться над доступным объёмом дискового пространства - оно точно также теоретически бесконечно[3].

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

данных. Последним и очень важным моментом облачных вычислений является наличие стандартизированного интерфейса. Это наивысший доступный уровень абстракции. Любые изменения во внутренней работе "облака" вас не касаются: обновление серверов и ПО, изменение параметров сети, даже физическое перемещение из одного центра хранения и обработки данных в другой[3].

Облачные вычисления принято делить на три вида:

• Публичное облако - это сервис или набор сервисов, доступный всем без исключения. Конечно, во-первых, вычислительные услуги должны быть оплачены; во-вторых, чтобы получить доступ к серверу, необходимо иметь выход в Интернет. Общедоступные облака работают на основе использования виртуализированно-го оборудования, управляемого самими пользователями, а оплата происходит по факту предоставления услуг. Все пользователи данных облаков не имеют возможности управлять и обслуживать данное облако, вся ответственность по этим вопросам возложена на владельца данного облака.

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

• Гибридное облако - позаимствовало ряд преимуществ публичного и частного. Целесообразно применять, если внутренние мощности не справляются с какой-либо сезонной нагрузкой. В этом случае часть нагрузки перекладывается на публичное облако.

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

Платформа как сервис (PaaS, Platform as a Service) позволяет создавать и внедрять приложения на основе хостинга, используя язык программирования и пакеты от провайдера-разработчика. Среди них — Salesforce, Intuit Partner Platform, Google Apps, Microsoft Azure. Например, система Salesforce, работает в области систем управления взаимодействием с клиентами, предлагая платформу для индивидуальных настроек и создания уникальных приложений. Salesforce поддерживает базу данных кода AppExchange, и вклад в нее может внести любой программист, зарегистрированный на сайте. Сами клиенты, которыми в данном случае являются программисты, дополняют библиотеку приложений, помогая как друг другу, так и разработчику в продвижении его услуг.

Инфраструктура как сервис (IaaS, Infrastructure as a Service). К ней относится использование сервера и дискового пространства, удаленных от пользователя. Лидер в этой нише — Amazon с несколькими решениями по требованию. Еще одним примером могут послужить услуги по предоставлению дискового пространства, предлагаемые Nirvanix. Компания IBM также предоставляет решения в этой области, тем самым по-

могая справиться с рядом проблем и в науке, и в образовании, и в государственном секторе. Кроме того, IBM предлагает услуги для вновь созданных компаний, которые благодаря облакам смогут на первоначальном этапе обойтись без инвестиций в оборудование. Не остаются в стороне и лидеры компьютерного рынка: они первыми прокладывают путь в облака. Так, Microsoft строит облачную инфраструктуру для внутренних целей: отделений в разных странах много, а облако — одно на всех.

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

Оплата в облаках происходит по факту предоставления услуг. Пользователь оплачивает только такое количество ресурсов и сервиса, какое ему необходимо. Например, стоимость Amazon Elastic Compute Cloud определяется количеством часов использования виртуального сервера. Небольшой Linux-сервер стоит 10 центов в час, в то время как мощный Windows-сервер обойдется 1 долл. 20 центов в час. Подобным образом определяется и цена на дисковое пространство. В частности, Nirvanix предоставляет 1 Гбайт начиная от 25 центов в месяц.

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

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

Одна из основных проблем - это перенос существующих приложений в "облако". Это не всегда возможно сделать из-за особенностей архитектуры конкретного приложения, его привязок к другим системам или сервисам, которые ещё не будут перенесены в "облака". Зачастую переход к облачным вычислениям невозможен из-за использования специфических API ОС или вызова низкоуровневых функций для оптимизации работы. В некоторых случаях перенос теоретически возможен, но это требует либо значительной переработки кода, либо переписывания всего набора ПО с нуля. Очень часто это экономически невыгодно. Совершенно аналогичная ситуация наблюдается с 64-разрядностью и многоядерностью. Считанные проценты от всего разнообразия мирового софта оптимизированы для работы с несколькими ядрами или потоками. Что уж тогда говорить про

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

Ещё одна проблема облачных вычислений - необходимость в постоянном подключении к Сети. С учётом российских реалий эту проблему можно назвать первостепенной. Частичные решения уже давно есть. Например, GoogleGears позволяет работать с GoogleDocs или Gmail не будучи подключенным к сети, а при первом же подключении синхронизирует всё с сервером. Microsoft в рамках парадигмы Software + Services предлагает комбинированный подход - часть данных хранится и обрабатывается локально, а остальное отдаётся "облаку". Но в данном случае упор всё же делается на решение другой проблемы - безопасности[4].

Главный вопрос, который волнует очень многих, звучит так: "Насколько надёжно хранить все свои данные в облаке?" По идее, облачные вычисления тем и хороши, что данные хранятся в распределённом виде и периодически архивируются. Однако никто не застрахован от сбоев. Подобные прецеденты уже были, например, с Gmail. Тогда удалось восстановить информацию большинства учетных записей, но часть всё-таки пропала навсегда. А это может грозить как минимум вынужденным простоем и потерей прибыли. Не случайно многие бизнес-пользователи предпочитают хранить всё на собственных серверах с настроенной системой резервного копирования. В конце концов, даже если произойдёт сбой, и накопители повредятся, то их хотя бы можно будет восстановить. А если такое произойдёт где-то в облаке, то всё будет зависеть уже от совести cloud-провайдера. Выходом может стать только поддержание актуальной копии всех данных вне "облака".

Если смотреть глубже, то проблема заключается скорее в доверии к облачным вычислениям. Культура аутсорсинга на данный момент слабо развита, особенно в России. Для многих центры хранения и обработки данных являются всего лишь площадками для размещения своего оборудования. Основной проблемой облачных вычислений является обеспечение конфиденциальности хранимой информации. Центры хранения и обработки данных располагаются на территории других стран и подпадают под их юрисдикцию. Например, в США ваши данные могут изъять под различными предлогами вроде борьбы с терроризмом. Более того, вас даже не обязаны уведомлять о самом факте изъятия и о том, куда потом попадут данные. В качестве решения предлагается шифровать всю информацию, которая передаётся и хранится в "облаке". Альтернативный вариант - наиболее критические данные хранить и обрабатывать локально, а всё остальное переложить на облачные вычисления[4].

В целом, облачные вычисления - это очень обширная тема. Очень многие путают облачные вычисления с обычными расчётами на GRID-системах, а то и просто с кластерами удалённых серверов. Да, они имеют некоторые общие черты, но при этом очень сильно отличаются. Разделение IaaS, PaaS, SaaS и прочие *aaS носит, на самом деле, довольно условный характер.

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

Литература

1. Кузнецов С. Облака: выгоды и проблемы. Открытые системы. 03/2011. с. 59-62

2. Чжанг М., Кандула С. Янг С., Ли Э. Выбор провайдера облачных сервисов. Открытые системы. 03/2011. с. 45 -47

3. http://www.computerra.ru/vision/484324/

4. http://www.computerra.ru/vision/485315/

Literature

1. Kuznetsov S. Clouds: Benefits and problems // Open systems. 03/2011. p.. 59-62

2. Zhang M., Kandula S. Young, S., Lee E. The choice of provider cloud // Open systems. 03/2011. p. 45 -47

3. http://www.computerra.ru/vision/484324/

4. http://www.computerra.ru/vision/485315/

Ключевые слова: облачные вычисления, информационные технологии, интернет.

Keywords: cloud computing, computer modeling, Internet

129337, Россия, г. Москва, Ярославское шоссе, д.26; тел./факс: +7 (499) 183-59-94; e-mail: MeuevaTA@mgsu.ru

Рецензент: Вайнштейн М.С., д.т.н., проф., ОАО «Моспроект»

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