ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 818
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
41
индивидуальные технические характеристики узла могут не позволить полностью использовать ресурсы P2P сети (каждый из узлов обладает индивидуальными техническими характеристиками что, возможно, будет ограничивать его роль в P2P-сети и не позволят полностью использовать ее ресурсы: низкий рейтинг в torrent-сетях,
LowID в eDonkey могут значительно ограничить ресурсы сети, до- ступные пользователю);
при работе того или иного узла через брандмауэр может быть значительно снижена пропускная способность передачи данных в связи с необходимостью использования специальных механизмов обхода
участниками одноранговых сетей в основном являются индивидуальные пользователи, а не организации, в связи с чем возни- кают вопросы безопасности предоставления ресурсов: владельцы уз- лов P2P-сети, скорее всего, не знакомы друг с другом лично, предо- ставление ресурсов происходит без предварительной договоренности;
при увеличении числа участников P2P сети может возник- нуть ситуация значительного возрастания нагрузки на сеть (как с цен- трализованной, так и с децентрализованной структурой);
в случае применения сети типа P2P приходится направлять значительные усилия на поддержку стабильного уровня ее произво- дительности, резервное копирование данных, антивирусную защиту, защиту от информационного шума и других злонамеренных действий пользователей.
1.6. Архитектура грид.
Термин «грид» был введен в обращение Яном Фостером в нача- ле 1998 года публикацией книги «Грид. Новая инфраструктура вы- числений»:
Грид – это система, которая координирует распределенные ре- сурсы посредством стандартных, открытых, универсальных протоко- лов и интерфейсов для обеспечения нетривиального качества обслу- живания.
42
Основной идеей, заложенной в концепции грид-вычислений, яв- ляется централизованное удаленное предоставление ресурсов, необ- ходимых для решения различного рода вычислительных задач. В идеологии грид: мы можем запустить любую задачу с любого компь- ютера или мобильного устройств на вычисление, ресурсы же для это- го вычисления должны быть автоматически предоставлены на уда- ленных высокопроизводительных серверах, независимо от типа нашей задачи.
С более практической точки зрения, основная задача, лежащая в основе концепции грид, это согласованное распределение ресурсов и решение задач в условиях динамических, многопрофильных вирту- альных организаций. Распределение ресурсов, в котором заинтересо- ваны разработчики грид, это не обмен файлами, а прямой доступ к компьютерам, программному обеспечению, данным и другим ресур- сам, которые требуются для совместного решения задач и стратегий управления ресурсами, возникающих в промышленности, науке и технике.
Технологии грид включают в себя:
решения по безопасности, поддерживающие управление сертификацией и политиками безопасности, когда вычисления произ- водятся несколькими организациями;
протоколы управления ресурсами и сервисами, поддержи- вающие безопасный удаленный доступ к вычислительным ресурсам и ресурсам данных, а также перераспределение различных ресурсов;
протоколы запроса информации и сервисы, обеспечиваю- щие настройку и мониторинг состояния ресурсов, организаций и сер- висов;
сервисы обработки данных, обеспечивающие поиск и пе- редачу наборов данных между системами хранения данных и прило- жениями.
Выделяют следующие уровни архитектуры грид:
1. Базовый уровень (Fabric) – содержит различные ресурсы, та- кие как компьютеры, устройства хранения, сети, сенсоры и др.
43 2. Связывающий уровень(Connectivity)– определяет коммуни- кационные протоколы и протоколы аутентификации.
3. Ресурсный уровень(Resource)– реализует протоколы взаимо- действия с ресурсами РВС и их управления.
4. Коллективный уровень(Collective)– управление каталогами ресурсов, диагностика, мониторинг;
5. Прикладной уровень (Applications)– инструментарий для ра- боты с грид и пользовательские приложения.
На базовом уровне определяются службы, обеспечивающие непосредственный доступ к ресурсам, использование которых рас- пределено посредством протоколов грид.
Вычислительные ресурсы предоставляют пользователю грид-системы (точнее говоря, задаче пользователя) процессорные мощности. Вычислительными ресурсами могут быть как кластеры, так и отдельные рабочие станции. При всем разнообразии архитектур любая вычислительная система может рассматриваться как потенци- альный вычислительный ресурс грид-системы.
Ресурсы памяти представляют собой пространство для хранения данных. Для доступа к ресурсам памяти также используется программное обеспечение промежуточного уровня, реализующее унифицированный интерфейс
Управления и передачи данных.
Информационные ресурсы и каталоги являются особым видом ресурсов памяти. Они служат для хранения и предоставления метаданных и информации о других ресурсах грид-системы.
Сетевой ресурс является связующим звеном между рас- пределенными ресурсами грид-системы. Основной характеристикой сетевого ресурса является скорость передачи данных.
Связывающий уровень определяет коммуникационные прото- колы и протоколы аутентификации, обеспечивая передачу данных между ресурсами базового уровня. Связывающий уровень грид осно- ван на стеке протоколов TCP/IP:
1. Интернет (IP, ICMP);
2. Транспортные протоколы (TCP, UDP);
44 3. Прикладные протоколы (DNS, OSRF…).
Ресурсный уровень реализует протоколы, обеспечивающие вы- полнение следующих функций:
Согласование политик безопасности использования ресур- са;
Процедура инициации ресурса;
Мониторинг состояния ресурса;
Контроль над ресурсом;
Учет использования ресурса.
Отдельно выделяются 2 типа протоколов ресурсного уровня:
1. Информационные протоколы – используются для получения информации о структуре и состоянии ресурса.
2. Протоколы управления – используются для согласования до- ступа к разделяемым ресурсам, определяя требований и допустимых действий по отношению к ресурсу (например, поддержка резервиро- вания, возможность создания процессов, доступ к данным).
Коллективный уровень отвечает за глобальную интеграцию раз- личных наборов ресурсов и может включать в себя службы каталогов; службы совместного выделения, планирования и распределения ре- сурсов; службы мониторинга и диагностики ресурсов; службы репли- кации данных. На прикладном уровне располагаются пользователь- ские приложения, исполняемые в среде ВО. Они могут использовать ресурсы, находящиеся на любых нижних слоях архитектуры грид.
Стандарты Грид
Ключевым моментом в разработке грид приложений является стандартизация, позволяющая организовать поиск, использование, размещение и мониторинг различных компонентов, составляющих единую виртуальную систему, даже если они предоставляются раз- личными поставщиками услуг или управляются различными органи- зациями.
В 2001 году в качестве базы для создания стандарта архитекту- ры грид приложений была выбрана технология веб-сервисов. Данный
45 выбор был обусловлен двумя основными достоинствами данной тех- нологии. Во-первых, язык описания интерфейсов веб-сервисов WSDL
(Web Service Definition Language) поддерживает стандартные меха- низмы для определения интерфейсов отдельно от их реализации, что в совокупности со специальными механизмами связывания (транс- портным протоколом и форматом кодирования данных) обеспечивает возможность динамического поиска и компоновки сервисов в гетеро- генных средах. Во-вторых, широко распространенная адаптация ме- ханизмов веб-сервисов означает, что инфраструктура, построенная на базе веб-сервисов, может использовать различные утилиты и другие существующие сервисы, такие как различные процессоры WSDL, си- стемы планирования потоков задач и среды для размещения веб- сервисов.
Разработанный стандарт архитектуры грид получил название
OGSA (Open Grid Services Architecture – Открытая архитектура грид- сервисов). Он основывается на понятии грид-сервиса. Грид-сервисом называется сервис, поддерживающий предоставление полной инфор- мации о текущем состоянии (потенциально временного) экземпляра сервиса, а также поддерживающий возможность надежного и без- опасного исполнения, управления временем жизни, рассылки уведом- лений об изменении состояния экземпляра сервиса, управления поли- тикой доступа к ресурсам, управления сертификатами доступа и вир- туализации. Грид-сервис поддерживает следующие стандартные ин- терфейсы.
1. Поиск. Грид - приложениям необходимы механизмы для по- иска доступных сервисов и определения их характеристик.
2. Динамическое создание сервисов. Возможность динамиче- ского создания и управления сервисами – это один из базовых прин- ципов OGSA, требующий наличия сервисов создания новых сервисов.
3. Управление временем жизни. Распределенная система долж- на обеспечивать возможность уничтожения экземпляра грид-сервиса.
4. Уведомление. Для обеспечения работы грид приложения наборы грид сервисов должны иметь возможность асинхронно уве- домлять друг друга о изменениях в их состоянии.
46
1.7. Облачные вычисления
Облачные вычисления привлекают много внимания в последнее время. В средствах массовой информации, в интернете, даже на теле- видении можно встретить восторженные материалы, описывающие все прекрасные возможности, которые может предоставить данная технология.
Термин «Облачные вычисления» появился на свет совсем не- давно. Согласно результатам анализа поисковой системы Google, термин «Облачные вычисления» («Cloud Computing») начал набирать вес в конце 2007 – начале 2008 года. На сегодняшний день уже можно говорить о том, что облачные вычисления прочно вошли в повсе- дневную жизнь каждого пользователя Интернета (хотя многие об этом и не подозревают). По некоторым экспертным оценкам, техно- логия облачных вычислений может в три-пять раз сократить стои- мость бизнес-приложений и более чем в пять раз стоимость приложе- ний для конечных потребителей.
Определение облачных вычислений
С одной стороны, у термина «Облачные вычисления» нет усто- явшегося стандартного определения. С другой стороны множество различных корпораций, ученых и аналитиков дают собственные определения этому термину.
Например, в лаборатории Беркли дают следующее определение облачных вычислений:
«Облачные вычисления– это не только приложения, поставляе- мые в качестве услуг через Интернет, но и аппаратные средства и программные системы в центрах обработки данных, которые обеспе- чивают предоставление этих услуг. Услуги сами по себе уже давно называют «предоставление программного обеспечения как услуги»
(Software-as-a-Service или SaaS). Облаком называется аппаратное и программное обеспечение центра обработки данных. Общественное
47 облако предоставляет ресурсы облака широкому кругу пользователей по принципу «оплата по мере использования» (pay-as-you-go – прин- цип предоставления услуг, при котором пользователь оплачивает только те ресурсы, которые были по факту затрачены на решение по- ставленной задачи). Частное облако – это внутренние центры обра- ботки данных, в коммерческой или иной организации, которые не до- ступны широкому кругу пользователей. Таким образом, облачные вычисления являются суммой SaaS и «коммунальных вычислений»
(Utility Computing– модель вычислительных систем, в которой предо- ставление данных и процессорных мощностей организовано по прин- ципам коммунальных услуг). Люди могут быть пользователями или провайдерами SaaS, либо пользователями или поставщиками комму- нальных вычислений».
Ян Фостер определяет облачные вычисления как «парадигму крупному-штабных распределенных вычислений, основанную на эф- фекте масштаба, в рамках которой пул абстрактных, виртуализиван- ных, динамически масштабируемых вычислительных ресурсов, ре- сурсов хранения, платформ и сервисов предоставляется по запросу внешним пользователям через Интернет».
Еще одно распространенное определение облачных вычислений состоит в следующем.
«Облако – это большой пул легко используемых и легкодоступ- ных виртуализиванных ресурсов (таких как аппаратные комплексы, сервисы и др.). Эти ресурсы могут быть динамически перераспреде- лены (масштабированы) для подстройки под динамически изменяю- щуюся нагрузку, обеспечивая оптимальное использование ресурсов.
Этот пул ресурсов обычно предоставляется по принципу «оплата по мере использования». При этом владелец облака гарантирует каче- ство обслуживания на основе определенных соглашений с пользова- телем».
Все определения иллюстрируют одну простую мысль: феномен облачных вычислений объединяет несколько различных концепций информационных технологий и представляет собой новую парадигму предоставления информационных ресурсов (аппаратных и программ-
48 ных комплексов). Со стороны владельца вычислительных ресурсов облачные вычисления ориентированы на предоставление информаци- онных ресурсов внешним пользователям. Со стороны пользователя, облачные вычисления – это получение информационных ресурсов в виде услуги у внешнего поставщика, оплата за которую производится в зависимости от объема потребленных ресурсов согласно установ- ленному тарифу. Ключевыми характеристиками облачных вычисле- ний являются масштабируемость и виртуализация.
Масштабируемость представляет собой возможность динамиче- ской настройки информационных ресурсов к изменяющейся нагрузке, например к увеличению или уменьшению количества пользователей, изменению необходимой емкости хранилищ данных или вычисли- тельной мощности. Виртуализация, которая также рассматривается как важнейшая технология всех облачных систем, в основном ис- пользуется для обеспечения абстракции и инкапсуляции.
Абстракция позволяет унифицировать «сырые» вычислитель- ные, коммуникационные ресурсы и хранилища информации в виде пула ресурсов и выстроить унифицированный слой ресурсов, кото- рый содержит те же ресурсы, но в абстрагированном виде. Они пред- ставляются пользователям и верхним слоям облачных систем как виртуализиванных серверы, кластеры серверов, файловые системы и
СУБД. Инкапсуляция приложений повышает безопасность, управля- емость и изолированность. Еще одной важной особенностью облач- ных платформ является интеграция аппаратных ресурсов и системно- го ПО с приложениями, которые предоставляются конечному пользо- вателю в виде сервисов.
В соответствии со всем вышесказанным, можно выделить сле- дующие основные черты облачных вычислений:
Облачные вычисления представляют собой новую пара- дигму предоставления вычислительных ресурсов;
Базовые инфраструктурные ресурсы (аппаратные ресурсы, системы хранения данных, системное ПО) и приложения предостав- ляются в виде сервисов. Данные сервисы могут предоставляться неза-
49 висимым поставщиком для внешних пользователей по принципу
«оплата по мере использования»;
Основными особенностями облачных вычислений являют- ся виртуализация и динамическая масштабируемость;
Облачные сервисы могут предоставляться конечному пользователю через веб-браузер или посредством определенного про- граммного интерфейса.
Многослойная архитектура облачных приложений
Все возможные методы классификации облаков можно свести к трехслойной архитектуре облачных систем, состоящей из следующих уровней:
Инфраструктура как сервис (Infrastructure as a Service:
IaaS);
Платформа как сервис (Platform as a Service: PaaS);
Программное обеспечение как сервис (Software as a
Service: SaaS).
Рассмотрим более подробно, что собой представляет каждый из указанных уровней, и каким образом они взаимодействуют друг с другом.
Рис. 1.5. Три слоя облачных вычислений
50
Инфраструктура как сервис (IaaS)
IaaS предлагает информационные ресурсы, такие как вычисли- тельные циклы или ресурсы хранения информации, в виде сервиса.
Вместо предоставления доступа к «сырым» вычислительным устрой- ствам и системам хранения, поставщики IaaS обычно предоставляют виртуализованную инфраструктуру в виде сервиса. Обычно «сырые» ресурсы (процессорные циклы, сетевое оборудование, системы хра- нения) располагают на базовом уровне, над которым посредством виртуализации надстраивают слои сервисов, которые и предоставля- ются конечным пользователям в виде IaaS.
Надо сказать, что еще задолго до появления облачных вычисле- ний инфраструктура была доступна как сервис. Такой подход назы- вался «коммунальные вычисления», и это словосочетание часто при- меняется некоторыми авторами при описании инфраструктурного уровня облачных систем.
В сравнении с ранними попытками организации коммунальных вычислений, подход IaaS предоставляет разработчикам понятный ин- терфейс, к которому легко получить доступ и использовать в соб- ственных приложениях. Данный интерфейс должен легко интегриро- ваться с инфраструктурой потенциальных пользователей и разработ- чиков решений SaaS. Давно замечено, что ресурсы поставщиков ком- мунальных вычислений могут быть эффективно использованы только в том случае, если они используются большим числом потребителей, а этого можно добиться путем организации хорошего программного интерфейса к своим ресурсам.
Платформа как сервис(PaaS)
Платформа – это слой абстракции между программными при- ложениями (SaaS) и виртуализованной инфраструктурой (IaaS). Ос- новной целевой аудиторией PaaS являются разработчики приложе- ний. Разработчики могут писать собственные приложения на основе спецификаций определенной платформы, не заботясь о том, каким