Диссертация (1148251), страница 5
Текст из файла (страница 5)
Тогда Д.Маккарти, автор термина «искусственный интеллект» и языка LISP, высказалпредположениеотом,чтоизобретеннаяимтехнологияразделениякомпьютерного времени (time-sharing) когда-нибудь приведет к тому, чтокомпьютерные вычисления и даже доступ к отдельным программам будетпроизводиться по подписке, аналогично оплате коммунальных услуг.
При такомподходе для рядового пользователя отпадает необходимость приобретатьдорогостоящий персональный компьютер с избыточной мощностью и памятью.Также автоматически разрешается вопрос доступа к свои данным и приложениямиз разных мест и устройств. Данная идея опередила свое время, поскольку20оборудование и сетевые каналы не обладали необходимыми возможностями, и вконце 20-го века она была отложена на будущее [107].Термин “облако” появился и стал широко использоваться в 2007 году дляопределения местоположения услуг и сервисов в доступной для потребителяформе.
Вначале компании Google и IBM объявили об инициативе организациидоступа студентов к кластеру, состоящему из нескольких сотен серверов [40].Цель инициативы — обучение студентов созданию веб-приложений с высокойстепенью параллелизма. Кластер обслуживался операционной системой UNIX, аразработка приложений велась в рамках среды Hadoop. В пресс-релизе этойинициативы К. Хайкес (Colleen Haikes) особо подчеркнула различия междувысокопроизводительными и облачными вычислениями. По её словам, последниеподдерживают более широкий спектр задач и позволяют расположить любыепрограммные сервисы на виртуальных машинах, распределенных в облачномдата-центре.В следующем году корпорации HP, Intel, и Yahoo! объявили о созданиипубличного “испытательного стенда” в области облачных вычислений “CloudComputing Test Bed” [14].
В проекте приняли участие также академические игосударственные структуры. Его целью являлось предоставление ученымбольших вычислительных мощностей для своих экспериментов (несколько тысячпроцессорных ядер), а также появление новых веб-приложений и сервисов врамках реализации концепции компании HP “Everything is a Service”. В отличиеот предыдущей инициативы, здесь был доступ не только к программнойинфраструктуре (операционная система Cent OS, среда Hadoop), но инизкоуровневыйдоступкоборудованию.Такимобразомможнопроанализировать поведение облачной инфраструктуры на всех уровнях, исоответственно усовершенствовать её.Термин “облачные вычисления” быстро был взят на вооружениемаркетологами, это была новая экосистема, которая помогла бы повысить спросна оборудование и программное обеспечение.
Однако его суть трактоваласькаждой компанией по-своему и только в 2011 году институт NIST (National21Institute of Standards and Technology) внес ясность в своем документе “The NISTDefinition of Cloud Computing” [61]. Согласно ему, облачные вычисления должныобладать следующими характеристиками.1. Возможностьполучать(процессорноевремятребуемыеисетевоевычислительныересурсыхранилище)режимевсамообслуживания, без контакта с сотрудниками провайдера.2.
Доступность для различных устройств клиента через интернет-каналы.3. Разделение общего пула физических ресурсов между несколькимипользователями, которые не получают низкоуровневого доступа коборудованию. Однако клиент может выбирать местонахождениеобслуживающего дата-центра.4. Дополнительные вычислительные ресурсы должны быть предоставлены(или отключены) по первому требованию (или автоматически) сминимальной задержкой.5. Для целей контроля, управления и оптимизации должна собиратьсястатистика фактического потребления ресурсов.Под ресурсами облачной инфраструктуры понимаются: процессорноевремя, оперативная память, хранилище данных, сетевая пропускная способность.Далее определяется понятие “облачной инфраструктуры” как совокупностиоборудования (физический слой) и программного обеспечения (абстрактныйслой),которыеподдерживаютоблачныевычислениясточкизрениявышеприведенных характеристик.
По типу размещения облака подразделяютсяна:1) частные(privateclouds)—организованыспециальнодляэксклюзивного доступа одной компании. При этом допускается ихадминистрирование третьей стороной и местонахождение вне стенкомпании;2) общественные (community clouds) — предназначены для совместногодоступа пользователями нескольких компаний, объединенных вкакое-то сообщество. Аналогично, кроме компаний сообщества,22администрированием может заниматься третья сторона и облакоможет быть расположено вне стен компаний. Примером являетсяIEEE Community Cloud [74];3) публичные (public clouds) — используются разными клиентами длясвоихцелей.коммерческими,Управлениеоблакомакадемическимиможетилиосуществлятьсягосударственнымиструктурами, но инфраструктура располагается на мощностяхоблачного провайдера;4) гибридные (hybrid clouds) — являются комбинацией из двух илиболее частных, открытых или общественных облаков.
При этом онивзаимодействуютдругсдругом,обеспечиваяразделениеобязанностей. Например, с помощью гибридного облака можнорешить проблему хранения персональных данных или данных скоммерческой тайной. В этом случае хранилище данных находится вчастном облаке на корпоративных серверах, а веб-приложения дляработы с ними развернуты в открытом облаке.В рамках облачных вычислений могут быть предложены сервисы последующим моделям: IaaS, PaaS, SaaS, MaaS, NaaS и XaaS.Рассмотрим кратко характеристики каждой из указанных моделей, чтобыполучить представление об их различии [13].В модели IaaS (Infrastructure as a Service) клиент получает в арендупубличную облачную инфраструктуру: виртуальные серверы, хранилища данных(storage) и механизмы сетевой коммуникации (connectivity domains).Виртуальные серверы могут поддерживать как постоянную работу, так иболее экономичный механизм вытесняемых вычислений (preemptible VM) [73],когда время работы сервера не превышает какого-то лимита.
Есть множествовычислительных задач (финансовый анализ, обработка изображений, нагрузочноетестирование и пр.), которые требуют для выполнения максимум несколько часови именно их стоит разместить на вытесняемых экземплярах серверов. Такая23модель позволяет провайдеру утилизировать клиентской нагрузкой своивременно простаивающие мощности и быстро вернуть их при необходимости.Клиент вынужден проектировать свои приложения таким образом, чтобы приполучении сообщения о завершении работы сервера, полученные результатыбыли сохранены, но взамен получает вычислительные мощности по более низкимценам.Провайдер хранит оборудование облачной инфраструктуры в своемдатацентре и администрирует его. Клиент получает удаленный доступ к этимсерверам и имеет возможность установить свою операционную систему и любоенеобходимоепрограммноеобеспечение.Провайдертакжепредоставляетмеханизмы для совместной работы серверов и хранилища данных. Отметим, что,хотя модель IaaS самая низкоуровневая, клиент не получает прямого доступа коборудованию.
Эта изоляция поддерживается аппаратной виртуализацией ипрограммным гипервизором (hypervisor), который разделяет процессор иоперативнуюпамятьмеждуразличнымиклиентами.Подключениедополнительных или отключение лишних ресурсов, а также работа с другимиоблачными сервисами производится клиентом через портал провайдера илинапрямую через программные библиотеки API. Хранилище данных — это нетолько массивы жестких (HDD) или твердотельных (SSD) дисков, но ипрограммные сервисы по репликации, резервному копированию и архивированиюданных.
Балансировщик нагрузки и брандмауэр, защищающий доступ квиртуальному серверу, являются примерами механизмов сетевой коммуникации.На данный момент не только “большая тройка” облачных провайдеровпредлагает свои IaaS услуги: Amazon AWS, Microsoft Azure и Google ComputeEngine [36] но и большинство “традиционных” хостинг-провайдеров, которыепредоставляли ранее услуги по аренде виртуальных серверов (Virtual PrivateServers — VPS), перешли на облачную инфраструктуру по модели IaaS. К ихчислу можно отнести ASPnix.com, 1cloud.ru, Ovh.net и т.п. При этом пользовательимеет возможность выбрать способ расчета стоимости: в зависимости отпотребленных ресурсов (pay per use), а если виртуальный сервер только один, то24почасовую или помесячную оплату. Переход на облачную инфраструктурупозволил предложить следующие новые функции [1].1.
Быстрое автоматизированное развертывание готового виртуальногосервера.2. Сохранение любого виртуального сервера в виде шаблона длядальнейшегобыстрогосозданиядополнительныхсерверов(горизонтальное масштабирование).3. Мгновенное изменение параметров оборудования сервера: процессор,локальная и дисковая память (вертикальное масштабирование).4. Возможность создать снимок (snapshot) вертикального сервера для егорезервного копирования.5. Все свои виртуальные серверы можно объединить в виртуальнуючастную сеть для повышения безопасности коммуникаций.Как можно видеть, возможности IaaS предоставляются на уровнеинфраструктуры и не затрагивают уровень приложения. Поэтому любоеприложение может быть перенесено в облако без всяких изменений, используямодель IaaS.