Спонсор: 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 >
Гульжан Мурсакимова
Гульжан Мурсакимова
Василий Четвертаков
Василий Четвертаков
Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Олег Волков
Олег Волков
Россия, Балаково, МБОУ СОШ 19