Спонсор: Microsoft
Опубликован: 13.11.2010 | Уровень: для всех | Доступ: свободно | ВУЗ: Санкт-Петербургский государственный университет
Лекция 31:

ОС для облачных вычислений (cloud computing). Windows Azure

< Лекция 30 || Лекция 31: 12 || Лекция 32 >
Аннотация: В лекции рассмотрены следующие вопросы: понятие облачных вычислений (cloud computing) и особенности их организации; сервисы; центры обработки данных; обзор ОС и инструментов для облачных вычислений; Microsoft Windows Azure, ее особенности, преимущества и лидирующая роль в развитии облачных вычислений; платформа Microsoft.NET как базис для архитектуры Windows Azure; перспективы ОС для облачных вычислений.

Презентацию к данной лекции Вы можете скачать здесь.

Введение

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

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

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

Из облачных платформ наиболее популярной является Microsoft Windows Azure - операционная система с поддержкой облачных вычислений - и Microsoft Azure Services Platform - платформа для разработки и использования облачных сервисов на базе Microsoft.NET.

В настоящее время многие крупные компании – Microsoft, Google, IBM, Oracle/Sun, Amazon и многие более мелкие фирмы, конкурируя друг с другом, заняты разработкой своих облачных сервисов и инструментов для их создания. Имеется тенденция к интеграции "корпоративных облаков" в единое доступное пользователю облако.

Элементы концепции и архитектуры облачных вычислений

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

Различаются следующие уровни архитектуры облачных вычислений.

Уровень клиента – это клиентское ПО, используемое для доступа к облачным сервисам, например, web- браузер.

Уровень сервисов – это сами сервисы, используемые через облачную модель.

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

Уровень платформы – это программная платформа, объединяющая полный набор инструментов для развертывания и использования облачных вычислений на пользовательском компьютере (без дополнительных инсталляций, покупки оборудования и др.). Пример такой платформы: Microsoft.NET Azure Services Platform.

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

Уровень инфраструктуры – предоставление полной виртуализованной платформы через облако, например, Amazon EC2.

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

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

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

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

Поставщиком облака является центр обработки данных.

Пользователями облака могут быть любые пользователи Интернета.

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

Модель облачных вычислений основана на соблюдении целого ряда стандартов.

Для взаимодействия приложений используются стандарты HTTP (основной Web-протокол), XMPP (Jabber) – стандарт для отправки и получения мгновенных сообщений, SSL (Secure Socket Layer)– уровень безопасных сокетных сетевых соединений.

Для работы клиентов в облаке используются Web-браузеры (с активным использованием технологии AJAX, позволяющей уменьшить число перенаправлений с одной веб-страницы на другую и, тем самым, время доступа пользователя к необходимой ему информации) и offline-клиенты, работа которых основана на HTML 5 (специальной версии HTML для облачных вычислений).

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

Для взаимодействия с сервисами данные передаются в формате XML.

Windows Azure

Windows Azure – облачная платформа, разработанная фирмой Microsoft (по существу, операционная система и набор инструментов "в облаке"). На рис. 31.1 иллюстрируется роль Windows Azure в организации использования облачных сервисов, предоставляемых центром обработки данных Microsoft, фирмами и индивидуальными заказчиками.

Windows Azure, пользователи и центры обработки данных

Рис. 31.1. Windows Azure, пользователи и центры обработки данных

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

На рис. 31.2 изображена схема организации работы пользователя в Windows Azure.

Организация работы пользователя в Windows Azure

Рис. 31.2. Организация работы пользователя в Windows Azure

С точки зрения пользователя, существуют две категории приложений – внутренние (on-premises applications),исполняемые на компьютере пользователя, и облачные (cloud applications),фактически исполняемые в среде Windows Azure на компьютерах центра обработки данных. На пользовательском компьютере могут быть установлены ОС Windows и, возможно, другие ОС. Независимо от этого, через Web-браузер пользователь получает доступ к "Windows в облаке" – Windows Azure. Функционирование Windows Azure основано на Web-сервисах .NET. Windows Azure для хранения данных обеспечивает доступ к аналогу СУБД Microsoft SQL Server "в облаке" – SQL Azure.

На рис. 31.3 изображены основные компоненты Windows Azure.

Компоненты Windows Azure

увеличить изображение
Рис. 31.3. Компоненты Windows Azure

Основные компоненты Windows Azure – внешний облик, интерфейс (fabric, дословно – одежда), вычисления (Compute), память (Storage) и конфигурация (config).Все компоненты – вычисления, память и интерфейс – являются web-сервисами .NET. Сервис вычисления выполняет пользовательские облачные приложения, сервис память хранит пользовательские данные, сервис интерфейс обеспечивает общие средства управления приложениями, использующими облачную платформу.

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

Сервис память предоставляет пользователю средства работы с данными различной структуры – большими бинарными объектами (blobs),размером до 50 Гб, хранящимися в контейнерах, таблицами (tables) и очередями (queues).Работа со структурами данных реализована на основе ADO.NET – библиотеками поддержки обработки структурированных данных в .NET.

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

На рис. 31.4 изображена структура сервисов .NET как основы для реализации Windows Azure. Как уже говорилось, вся реализация Windows Azure основана на надежной и безопасной платформе .NET, исполнение программ в которой обеспечивается в особом безопасном режиме ( managed execution – управляемое выполнение). Часть .NET, называемая Windows Communication Foundation (WCF) и предоставляемый ею механизм сервисов и является основой реализации платформы Windows Azure. Облачными сервисами управляют две компоненты – управление доступом (access control) и сервисная шина (service bus),детальное рассмотрение которых выходит за рамки данного курса.


Рис. 31.4.

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

< Лекция 30 || Лекция 31: 12 || Лекция 32 >
Гульжан Мурсакимова
Гульжан Мурсакимова
Василий Четвертаков
Василий Четвертаков