Развитие платформы облачных вычислений Microsoft Windows Azure

Новая версия Windows Azure AppFabric

Показывать лекцию целиком

Цель лекции: Ознакомление с новой версией (2013) Windows Azure AppFabric – основной компоненты Windows Azure для управления приложениями; с компонентами самой AppFabric и их возможностями для пользователей.

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

Введение

Windows Azure AppFabric – основная компонента Azure, предназначенная для управления приложениями в "облаке". Слово fabric буквально означает "ткань". По классу ПО (см. лекцию 1) Azure Fabric относится к промежуточному ПО (middleware). Azure AppFabric предназначена для поддержки разработки, развертывания и обслуживания приложений в Azure Platform.

Windows Azure AppFabric предоставляет современную облачную платформу программного обеспечения промежуточного уровня для разработки, развертывания и управления приложениями на платформе Windows Azure. Кроме того, AppFabric обеспечивает высокую производительность программистов на уровне модели Platform-as-a-Service (PaaS) в среде Windows Azure. AppFabric обеспечивает связь существующих приложений разработчика с облаком и поддерживает их безопасную связь в сети, связывающей различные географически удаленные точки, и обеспечивает целостную модель разработки как для Windows Azure, так и для Windows Server.

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

В новой версии Azure (2013 г.), в пользовательском интерфейсе портала управления, сам термин AppFabric в явном виде не используется, однако все компоненты AppFabric сохранились, и к ним добавились новые.

Архитектура и компоненты Windows Azure AppFabric

Имеются три основных компоненты AppFabric (в новой версии на портале нет явного упоминания самого термина AppFabric) :

  • Access Control (управление доступом) – в новой версии Azure осуществляется с помощью Azure Active Directory
  • Service Bus (Шина сервисов) – шина для обмена сервисов сообщениями
  • Cache (Кэш) – Кэширование данных (контента) для более быстрой их доставки клиентам облака с помощью CDN – Content Delivery Network. Данные хранятся в облачной памяти (Storage). Для привязки учетной записи памяти к CDN пока необходимо использовать старый портал.
  • Windows Azure AppFabric обеспечивает предварительно подготовленные, высокоуровневые сервисы ПО промежуточного уровня, которые повышают уровень абстракции и уменьшают сложность разработки облачных приложений. Эти сервисы открыты и носят многоязыковый характер, т.е. могут быть использованы из программы, написанной на другом языке (любом языке, реализованном в .NET; Java; JavaFX Script; Ruby, PHP и др.), и предоставляют разработчикам мощные библиотеки классов для разработки облачных приложений. Разработчики могут использовать каждый из этих двух сервисов отдельно или объединять сервисы в одно составное программное решение. Эти сервисы включают:

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

    Управление доступом (Access Control). Access Control обеспечивает несложные методы определения идентичности и управления доступом для Web-приложений и сервисов, а также интеграции с общепринятыми поставщиками таких услуг - Active Directory®, Windows Live ID, Google, Yahoo! , Facebook.

    Кэширование (Caching) – распределенный, находящийся в памяти, сервис для кэширования приложений Windows Azure и SQL Azure.

    Интеграция (Integration). Сервис Integration обеспечивает интеграцию с BizTalk Server (конвейер, трансформации, адаптеры) на платформе Windows Azure, используя готовые к применению шаблоны интеграции для ускорения и упрощения разработки. Он также поддерживает высокоуровневые возможности для бизнес-пользователей, такие, как Business Activity Monitoring and Rules, а также "портал самообслуживания" для сообщества торговых партнеров и конвейеры business-to-business.

    Пользовательский код (Custom Code). В дополнение к предварительно подготовленным сервисам промежуточного программного обеспечения, AppFabric также содержит все необходимо окружение для пользовательских кодов для .NET, например, web-сервисов, разработанных в среде Windows Communication Foundation (WCF), и рабочие планы, построенные с использованием Windows Workflow Foundation (WF). Поддерживает мощный и эластичный хостинг пользовательской бизнес-логики как части облачного приложения.

    Шина сервисов

    Нас рис. 5.1 представлена страница Web-интерфейса Windows Azure, с помощью которой можно управлять шиной сервисов. Сначала для работы с шиной сервисов создается пространство имен (namespace). В данном примере оно уже создано. Внизу – набор возможных действий.

    (рис 5.1) Управление шиной сервисов через Web-интерфейс Azure

    Дальнейшие возможные действия с созданным пространством имен и шиной сервисов показаны на рис. 5.2. Переход от 5.1 к 5.2 осуществляется "кликом" на имени пространства имен (в примере – safonov). Это основной принцип нового пользовательского интерфейса Azure: для выполнения дальнейших действий с какой-либо сущностью необходимо кликнуть по ее имени. Система предлагает прежде всего скачать и инсталлировать необходимые программные инструменты, с помощью которых будут создаваться облачные сервисы, взаимодействующие через Service Bus. Наиболее подходящий вариант – создание WCF-сервисов с помощью Visual Studio 2012.

    (рис 5.2) Дальнейшие действия с шиной сервисов

    Интерфейс удобен и хорошо продуман. Однако необходимо учитывать следующие нюансы: несмотря на то, что использование Azure возможно из любой ОС и любого браузер, разработка приложения для Windows Azure возможна далеко не в любом окружении.. Наиболее оптимальный вариант – ноутбук с Windows 8, но и на него необходимо установить большой объем ПО – Visual Studio 2012 и большой набор специфических инструментов. Это требует времени – одного или нескольких дней. О рабработке речь пойдет позже, в последующих лекциях и лабораторных работах.

    Для сравнения на рис. 5.3 приведен пользовательский интерфейс предыдущего (2011 г.) портала управления Windows Azure.

    (рис 5.3) Пользовательский интерфейс предыдущего (2011) портала Azure

    Как видно из рисунка, термины AppFabric, Access Control, Шина Службы и Кэш в старом интерфейсе присутствуют явно.

    Работа с облачным сервисом

    На рис. 5.4 представлен интерфейс для управления облачным сервисом. Для данного примера "пустой" облачный сервис уже создан, что легко осуществляется несколькими кликами. Создано имя сервиса – saf1, для него выделен URL-адрес: http://saf1.cloudapp.net.

    (рис 5.4) Создано имя облачного сервиса

    Однако клик на этом URL приводит к ошибке: требуется реализовать данный сервис и опубликовать его в облаке. Для этого одной графической оболочки Azure недостаточно. Необходим программный инструмент, например, Visual Studio 2012 и Azure SDK. В дальнейшем в данном курсе мы рассмотрим пример создания облачного сервиса. На рис. 5.5 представлен скриншот с рекомендацией системы о дальнейшей работе над сервисом: скачивание и инсталляция Azure SDK, а затем – необходимые настройки для последующего развертывания сервиса в облаке. Отметим, что облачный сервис может быть реализован на другой платформе, отличной от .NET, - например, на Java или на PHP, для чего в Windows Azure предусмотрены соответствующие инструменты (SDK).

    (рис 5.5) Дальнейшие действия над облачным сервисом

    Управление доступом пользователей: Azure Active Directory

    Как уже отмечалось, управление доступом пользователей (Access Control) в новой версии Windows Azure реализовано с помощью Windows Azure Active Directory. Active Directory – уже хорошо известная технология Microsoft для хранения информации о некоторой организации и ее пользователях, которым предоставлен доступ к ресурсам. В новой версии Windows Azure реализован ее облачный аналог.

    Для работы с Azure Active Directory необходимо создать каталог для хранения информации о пользователях организации. На рис. 5.6 изображен момент, когда такой каталог уже создан для пользователей Санкт-Петербургского государственного университета.

    (рис 5.6) Создание каталога в Windows Azure Active Directory

    Клик по имени каталога приводит нас к следующему состоянию – выводу информации о пользователях, внесенных в данный каталог. В примере пользователь всего один – проф. В.О. Сафонов (мат.-мех. факультет СПбГУ, т.е. автор курса):

    (рис 5.7) Пользователи внесенные в каталог Windows Azure Active Directory

    Далее, клик на имени пользователя приводит нас к следующему состоянию – выводу и дополнению информации о пользователе (рис. 5.8).

    (рис 5.8) Информация о пользователе в каталоге

    Наконец, предусмотрена возможность ввода и визуализации информации о работе пользователя (должность, факультет, отдел и т.д.) – см. рис. 5.9.

    (рис 5.9) Информация о работе пользователя

    Резюме

    Azure AppFabric – уникальный мощный инструмент для работы с облачными приложениями Azure, имеющий удобный и современный Web-интерфейс. Не будем забывать, что все это реализовано на основе платформы .NET, то есть обеспечивается надежность и безопасность кода. Важно также подчеркнуть, что система открыта для использования средствами других технологий и языков, например, Java.

    Ключевые термины

    Интеграция (Integration). Сервис Integration обеспечивает интеграцию с BizTalk Server (конвейер, трансформации, адаптеры) на платформе Windows Azure, используя готовые к применению шаблоны интеграции для ускорения и упрощения разработки

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

    Управление доступом (Access Control). Обеспечивает несложные методы определения идентичности и управления доступом для Web-приложений и сервисов, а также интеграции с общепринятыми поставщиками таких услуг - Active Directory®, Windows Live ID, Google, Yahoo! , Facebook.

    Кэширование (Caching) – распределенный, находящийся в памяти, сервис для кэширования приложений Windows Azure и SQL Azure.

    Content Delivery Network (CDN) – сервисы для кэширования облачных данных (контента) для более быстрой их доставки клиентам облака.

    Windows Azure Active Directory – сервисы для создания облачных каталогов и управления на их основе доступом пользователей какой-либо организации к облачным ресурсам.

    Краткие итоги

    Подсистема Windows Azure Fabric предназначена для управления приложениями. По классификации она относится к middleware. По типу облака, Windows Azure – облако типа PaaS. Пользователь облака управляет только своими приложениями, что и обеспечивает AppFabric. Компоненты AppFabric – Access Control, Service Bus и Cache.

    Имеется интересная возможность использования AppFabric API из Java-технологии, а также на платформе PHP и некоторых других, что подтверждает открытость архитектуры Azure.

    Azure Fabric позволяет управлять информацией о размещенном в облаке сервисе и информацией о работоспособности развернутого в облаке приложения, а также созданием каталога Windows Active Directory и информацией о пользователях, внесенных в данный каталог.

    Набор для практики

    Вопросы

  • На какой платформе базируется реализация Azure?
  • Что такое Azure AppFabric?
  • Что такое Service Bus?
  • Что такое Access Control?
  • Что такое Cache?
  • Что такое Content Delivery Network?
  • Что такое Windows Azure Active Directory?
  • Какие основные действия над облачными приложениями позволяет выполнять веб-интерфейс AppFabric?
  • Упражнения

  • Разработайте свой первый облачный сервис, используя справочную информацию, предоставляемую пользователю Azure (см. старый портал).
  • Выполните развертывание разработанного облачного сервиса.
  • Проанализируйте состояние облачного приложения с помощью веб-интерфейса AppFabric.
  • Создайте каталог с помощью Windows Azure Active Directory и внесите в него информацию о пользователях.
  • Темы для курсовых работ, рефератов, эссе

  • Архитектура Azure AppFabric (реферат).
  • Обзор возможностей обращения к AppFabric средствами других платформ, отличных от .NET (AppFabric SDK) – реферат
  • Анализ производительности работы Windows Azure на основе собственного опыта его использования (эссе).
  • Архитектура Windows Azure Active Directory (реферат).
  • Литература

  • J. Heinzelreiter, W. Kurschl. Cloud computing. Software Engineering Fundamentals. - Upper Austria University of Applied Sciences School of Informatics, Communications, and Media. Version 1.1, 2010.
  • Introduction to Cloud Computing. Course Module by David S Platt. Harvard University Extension School. dplatt@fas.harvard.edu. www.rollthunder.com
  • Вернуться к учебному плану