Архитектура сетей Грид

 

Грид — географически распределенная инфраструктура, объединяющая множество ресурсов разных типов (процессоры, долговременная и оперативная память, хранилища и базы данных, сети), доступ к которым пользователь может получить из любой точки, независимо от места их расположения. Грид предполагает коллективный разделяемый режим доступа к ресурсам и к связанным с ними услугам в рамках глобально распределенных виртуальных организаций, состоящих из предприятий и отдельных специалистов, совместно использующих общие ресурсы [25].

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

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

- связывающий уровень (Connectivity Layer) составляют коммуникационные протоколы и протоколы аутентификации, по которым обеспечивается обмен данными между компонентами базового уровня;

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

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

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

В грид используются основные элементы технологии Веб-сервисы (WebServices). Основу ее составляют:

- система WWW-адресации URL;

- протокол передачи гипертекста HTTP;

- язык гипертекстовой разметки HTML и расширяемый язык разметки XML;

- протоколы SOAP (Simple Object Access Protocol) для управления сообщениями в универсальном XML-формате;

- язык WSDL(Web Services Definition Language) описания интерфейса взаимодействия компонент распределенной системы.

Это позволяет функции грид-технологии (служебные и ресурсные) оформить единообразно в виде веб-сервисов, используя для работы с ними все стандарты технологии WebServices [26].

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

 

Рисунок 10.1 – Упрощенная схема сервисно-ориентированного грида

 

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

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

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

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

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

В среде грид явным образом присутствуют следующие элементы:

1) Программы пользователя.

2) Ресурсы.

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

В число наиболее известных пакетов Middlewareвходят:

- Globus Toolkit. Условно его можно назвать американским направлением, разрабатывается многими организациями, в частности по проекту Globus, который возник в Аргоннской национальной лаборатории. Здесь разработаны пакеты GT1,GT2, GT3 и GT4;

- gLITE. Его условно можно назвать европейским проектом, поскольку его разработка курируется Европейским центром ядерных исследований (CERN). gLITE также явился следствием ряда предыдущих проектов (EDG, LCG и др.).

GT4 содержит набор стандартных служб. На данный момент они представляют собой девять Web-сервисных интерфейсов, но их число растет.

1) Управление заданиями: Пакет программ выявления и управления ресурсами (GRAM).

2) Надежная файлопередача (RFT).

3) Делегирование функций.

4) Система мониторинга и выявления свободных ресурсов – индекс (MDS-index).

5) Система мониторинга и выявления – MDS-trigge.

6) Система мониторинга и выявления – сбор данных (MDS-aggregate).

7) Авторизация сообщества (CAS).

8) Интеграция и доступ к данным (OGSA-DAI).

9) Протокол дистанционного контроля Grid (GTCP) для онлайнового контроля оборудования.

В настоящее время каждая современная грид базируется на Открытой Архитектуре грид-служб (OGSA), который позволяет интеграцию служб и ресурсов через распределенные, гетерогенные, динамические виртуальные организации. OGSA — это информационная спецификация, которая призвана определять общую, стандартную и открытую архитектуру для грид-приложений. Цель OGSA состоит в том, чтобы стандартизировать почти все услуги, которые грид-приложение может использовать, например задание и сервисы управления ресурсом, коммуникации и безопасность. OGSA определяет сервис-ориентированную архитектуру (SOA) для грид, которая реализует модель вычислительной системы как ряд реализованных распределенных вычислительных образцов, используя Веб-сервисы как основную технологию. В основном, стандарт OGSA определяет интерфейсы обслуживания и идентифицирует протоколы для того, чтобы вызывать эти услуги.

 

Облачные вычисления

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

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

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

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

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

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

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

Архитектура облачных вычислений согласно рекомендации NIST содержит пять главных действующих субъектов [29]:

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

- облачный провайдер - лицо, организация или сущность, отвечающая за доступность облачной услуги для облачных потребителей;

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

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

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

На рисунке 14.2 представлена схема взаимодействия участников облачных вычислений.

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

Самый нижний уровень отвечает за инфраструктуру (IaaS, Infrastructureas-a-Service - инфраструктура как услуга). IaaS – это услуга по предоставлению вычислительных мощностей, систем хранения, сетевых и других фундаментальных вычислительных ресурсов, поверх которых облачные потребители могут развертывать и выполнять приложения на облачной инфраструктуре.

Следующий уровень сервисов - уровень платформы (PaaS, PlatformasaService - платформа как услуга). Этот уровень включает не только инфраструктуру, но и операционные системы, а в ряде случаев - и некоторые приложения (к примеру, клиенту может быть предоставлена виртуальная машина с определенной ОС и набором приложений и доступ к определенной СУБД или серверу приложений).

 

 

Рисунок 10.2 – Схема взаимодействия участников облачных вычислений

 

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

Кроме описанных выше базовых облачных сервисов IaaS, PaaS и SaaS, могут быть востребованы и доступны некоторые специализированные сервисы.

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

Рабочее место как услуга (WaaS, WorkplaceasaService) – предоставление виртуализированного рабочего места, частный случай IaaS.

Коммуникации как услуга (CaaS, CommunicationasaService) – в качестве сервисов предоставляются услуги связи – IP-телефония, почтовые услуги, общие средства связи и т.д.

Преимущества облачных вычислений:

- снижаются требования к вычислительной мощности ПК (непременным условием является только наличие доступа в Интернет). - облачные технологии обеспечивают высокую скорость обработки данных;

- облачные технологии позволяют экономить на приобретении, поддержке, модернизации ПО и оборудования;

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

- пользователь оплачивает услугу только тогда, когда она ему необходима, и платит только за то, что использует;

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

Недостатки облачных вычислений:

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

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

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

Из рисунка 14.2 видно, что только облачный провайдер занимается вопросами обеспечений безопасности. Провайдер также должен заключать с облачным оператором связи соглашение об уровне обслуживания (SLA) для обеспечения соответствующего уровня сервиса. В общем случае, к облачному оператору связи могут предъявляться требования по предоставлению выделенного и защищенного соединения.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: