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

Windows Azure AppFabric

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

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

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

5.1. Введение

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 обеспечивает более высокую продуктивность разработки, предоставляя более высокий уровень абстракции для разработки коммунникационных приложений и упрощает сопровождение приложения, выбирая оптимальные возможности используемой программно-аппаратной инфраструктуры.

5.2. Компоненты облачных платформ. Облачные платформы типа Private (On-Premise), Infrastructure-as-a-Service, Platform-as-a-Service, Software-as-a-Service

Согласно классификации в работе [2], любая облачная платформа состоит из следующих основных компонент:

  • приложения (applications)
  • среды поддержки выполнения (runtimes)
  • механизмы безопасности и интеграции (security integration)
  • базы данных (databases)
  • серверы (servers)
  • средства виртуализации (virtualization)
  • серверное компьютерное оборудование (server hardware)
  • память (storage)
  • сетевые средства (networking).
  • Будем далее придерживаться этой классификации.

    В соответствии с ней, облака подразделяются на следующие виды:

  • Private (On-Premise) – частное облако; клиент-разработчик ПО управляет всеми перечисленными компонентами;
  • Infrastructure-as-a-Service (IaaS) – облако вида инфраструктура как сервис; клиент-разработчик ПО управляет приложениями, средами поддержки выполнения, механизмами безопасности и интеграции, базами данных, всеми остальными компонентами управляет поставщик облака (cloud provider);
  • Platform-as-a-Service (PaaS) – облако вида платформа как сервис; клиент-разработчик ПО управляет только своими приложениями, всем остальным управляет поставщик облака;
  • Software-as-a-Service (SaaS) – облако вида ПО как сервис; клиент-разработчик ПО не управляет никакими компонентами, все делает за него автоматически поставщик облака.
  • По классификации, Windows Azure относится к облачной платформе вида PaaS, т.е. клиенту-разработчику предоставляются средства управления облачными приложениями (это как раз и обеспечивает компонента AppFabric).

    Пример облачной платформы типа SaaSWindows Live: она предоставляет готовые облачные приложения и сервисы, например, аналог Microsoft Office, пользователь может их применять для своих задач, но сам своих облачных приложений не создает).

    Отметим еще раз, что в облаке вида платформа как сервис [2], в отличие от облака вида инфраструктура как сервис, клиент облака управляет только своими приложениями.

    Виды облаков и их компоненты изображены на рис. 5.1 [2].

    (рис 5.1) Виды облаков и их компоненты.

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

    Архитектура Windows Azure AppFabric изображена на рис. 5.2.

    (рис 5.2) Архитектура Windows Azure AppFabric.

    Windows Azure AppFabric состоит из трех основных компонент:

  • Access Control (управление доступом)
  • Bus Service (Сервис шины)
  • Cache (Кэш – Ассоциативная память).
  • 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.4. Использование Windows Azure AppFabric средствами Java-технологии

    На рис. 5.3 представлены ссылки на инструменты разработки облачных приложений в Windows Azure средствами Java-технологии - AppFabric SDK для разработчиков.

    (рис 5.3) AppFabric SDK для разработчиков

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

    5.5. Место и вызов Windows Azure в общей структуре облачного интерфейса Windows Azure

    Нас рис. 5.4 представлена основная страница Web-интерфейса Windows Azure. Представлена информация о новых возможностях Azure, решаемых платформой Azure основных задачах, размещении информации на портале – "координатах" наиболее важных информационных узлов; информация о способах скачивания и установки инструментов Windows Azure; руководство по созданию, публикации и запуску первого работающего примера облачного приложения.

    Слева – выбор основных возможных действий, с которых начинается работа в Azure.

    (рис 5.4) Основная страница Web-интерфейса Azure.

    Для обращения к возможностям к AppFabric из основной страницы Azure выберите ссылки в левой нижней части страницы: Шина службы, Access Control и Кэш. В надписи на этой ссылке Вы, конечно, узнали названия основных компонент AppFabric.

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

    5.6. Работа с подсистемой Windows Azure AppFabric Access Control

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

    (рис 5.5) Обращение к Windows Azure AppFabric Access Control

    5.7. Анализ информации о размещенном сервисе

    На рис. 5.6 представлен интерфейс для управления размещенным сервисом. В качестве примера взят простой сервис, разработанный автором курса. Имя сервиса – safonov-test2, в нем одна web-роль (то есть одно Web-приложение, в виде которого он реализован). Windows Azure Pass – это академический доступ к Azure, любезно предоставленный на полгода автору курса и его ученикам, за что автор выражает искреннюю благодарность уважаемым коллегам из Microsoft Research и из российского офиса Microsoft.

    (рис 5.6) Просмотр информации о размещенном сервисе

    5.8. Анализ информации о работоспособности развернутого приложения

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

    (рис 5.7) Просмотр информации о работоспособности развернутого приложения

    5.9. Резюме

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

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

    Azure Fabric Controller – сервис, который осуществляет мониторинг и предоставляет виртуальные машины для исполнения облачных приложений

    Web-роль – интерактивное .NET – приложение, обслуживаемое IIS, - Web Application или Web-сервис Windows Communication Foundation (WCF).

    Worker-роль – независимый изолированный фоновый процесс. Предоставляются способы доступа к нему со стороны внешних приложений.

    Private (On-Premise) – частное облако; клиент-разработчик ПО управляет всеми перечисленными компонентами;

    Infrastructure-as-a-Service (IaaS) – облако вида инфраструктура как сервис; клиент-разработчик ПО управляет приложениями, средами поддержки выполнения, механизмами безопасности и интеграции, базами данных, всеми остальными компонентами управляет поставщик облака (cloud provider);

    Platform-as-a-Service (PaaS) – облако вида платформа как сервис; клиент-разработчик ПО управляет только своими приложениями, всем остальным управляет поставщик облака;

    Software-as-a-Service (SaaS) – облако вида ПО как сервис; клиент-разработчик ПО не управляет никакими приложениями, а использует готовый веб-интерфейс.

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

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

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

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

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

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

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

    Azure Fabric позволяет управлять информацией о размещенном в облаке сервисе и информацией о работоспособности развернутого в облаке приложения.

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

    Вопросы

  • На какой платформе базируется реализация Azure?
  • Что такое Azure AppFabric?
  • Что такое Bus Service?
  • Что такое Access Control?
  • Что такое Cache?
  • Что такое частное облако, облако типа IaaS, PaaS, SaaS?
  • Какие основные действия над облачными приложениями позволяет выполнять веб-интерфейс AppFabric?
  • Упражнения

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

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