- Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 7 Windows Azure Compute Сафонов Владимир Олегович. — презентация
- Похожие презентации
- Презентация на тему: » Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 7 Windows Azure Compute Сафонов Владимир Олегович.» — Транскрипт:
- Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 12 Инструменты Windows Azure Сафонов Владимир. — презентация
- Похожие презентации
- Презентация на тему: » Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 12 Инструменты Windows Azure Сафонов Владимир.» — Транскрипт:
- Развитие платформы облачных вычислений Microsoft Windows Azure Лекция 3 Основные концепции и архитектура новой версии платформы Microsoft Windows Azure. — презентация
- Похожие презентации
- Презентация на тему: » Развитие платформы облачных вычислений Microsoft Windows Azure Лекция 3 Основные концепции и архитектура новой версии платформы Microsoft Windows Azure.» — Транскрипт:
- Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 4 Базовые технологии, использованные при реализации. — презентация
- Похожие презентации
- Презентация на тему: » Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 4 Базовые технологии, использованные при реализации.» — Транскрипт:
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 7 Windows Azure Compute Сафонов Владимир Олегович. — презентация
Презентация была опубликована 8 лет назад пользователемtheory.asu.ru
Похожие презентации
Презентация на тему: » Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 7 Windows Azure Compute Сафонов Владимир Олегович.» — Транскрипт:
1 Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 7 Windows Azure Compute Сафонов Владимир Олегович Профессор кафедры информатики Заведующий лабораторией Java-технологии Санкт-Петербургский государственный университет WWW:
2 Windows Azure Compute– основная компонента Azure, предназначенная для управления вычислениями в облаке. По классу ПО (см. лекцию 1) Azure Compute относится к промежуточному ПО (middleware) Azure Compute предназначена для поддержки управления вычислениями в Azure Platform. (C) Сафонов В.О Введение в Azure Compute
3 (C) Сафонов В.О Архитектура Azure Compute
4 (C) Сафонов В.О Основная страница Azure
5 (C) Сафонов В.О Работоспособность развернутых приложений
6 Домашнее задание к лекции 7 1.Войдите в облако Azure и поэкспериментируйте с web- интерфейсом Compute 2.Получите информацию о работоспособности развернутых приложений. 3.Попробуйте кликнуть на надписи Активно. Не возникло ли при этом проблем? 4.Попробуйте получить информацию о территориальных группах. Не возникло ли при этом проблем? (C) Сафонов В.О
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 12 Инструменты Windows Azure Сафонов Владимир. — презентация
Презентация была опубликована 7 лет назад пользователемВера Томилова
Похожие презентации
Презентация на тему: » Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 12 Инструменты Windows Azure Сафонов Владимир.» — Транскрипт:
1 Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 12 Инструменты Windows Azure Сафонов Владимир Олегович Профессор кафедры информатики Заведующий лабораторией Java-технологии Санкт-Петербургский государственный университет WWW:
2 Azure AppFabric Software Development Kit (SDK) – комплекс инструментальных программных средств для взаимодействия с облачными приложениями Windows Azure из пользовательских приложений, написанных на различных языках программирования. Имеется возможность взаимодействия с Azure AppFabric средствами языка Java и Java-технологии – пакет jdotnetservices. (C) Сафонов В.О Azure AppFabric Software Development Kit
3 (C) Сафонов В.О Windows Azure SDK для Java
4 (C) Сафонов В.О Скачивание Windows Azure SDK
5 — Инструменты Windows Azure для Microsoft Visual Studio — Пакет SDK для Windows Azure — Visual Web Developer 2010, если отсутствует Visual Studio Требуемые параметры компонентов IIS — Требуемые исправления Загрузить и установить инсталлятор веб-платформы Microsoft и пакет SDK для Windows Azure можно со страницы загрузки инсталлятора веб-платформы Microsoft. (C) Сафонов В.О Список компонент Web-платформы Microsoft
6 Домашнее задание к лекции 12 1.Инсталлируйте Azure SDK for Java, разработайте, опубликуйте и используйте простое облачное приложение на языке Java (C) Сафонов В.О
Развитие платформы облачных вычислений Microsoft Windows Azure Лекция 3 Основные концепции и архитектура новой версии платформы Microsoft Windows Azure. — презентация
Презентация была опубликована 7 лет назад пользователемВладимир Арутюнов
Похожие презентации
Презентация на тему: » Развитие платформы облачных вычислений Microsoft Windows Azure Лекция 3 Основные концепции и архитектура новой версии платформы Microsoft Windows Azure.» — Транскрипт:
1 Развитие платформы облачных вычислений Microsoft Windows Azure Лекция 3 Основные концепции и архитектура новой версии платформы Microsoft Windows Azure (2013) Сафонов Владимир Олегович Профессор кафедры информатики Заведующий лабораторией Java-технологии Санкт-Петербургский государственный университет WWW:
2 Windows Azure – облачная Интернет-платформа, разработанная фирмой Microsoft (по существу, операционная система и набор инструментов в облаке). Windows Azure обеспечивает хранение, использование и модификацию данных и запуск программ на компьютерах центров обработки данных Microsoft. Никакого программного обеспечения, кроме веб-браузера, на пользовательских компьютерах не требуется (C) Сафонов В.О Архитектура Windows Azure
3 Архитектура новой версии Windows Azure (2013) (C) Сафонов В.О. 2013
4 Портал управления (management portal) – новая версия пользовательского интерфейса Azure (2013), в стиле, похожем на интерфейс Windows 8 Несколько изменилась терминология Интерфейс стал более наглядным, с пиктограммами Имеется возможность, как альтернативу, использовать предыдущую версию портала (2011 ) (C) Сафонов В.О Интерфейс новой версии Windows Azure
5 Вычисления (Compute) – управление вычислениями в облаке: облачными сервисами, Web-сайтами, виртуальными машинами и мобильными сервисами Сервисы данных (Data Services) – управление облачными данными и базами данных Сетевые средства (Networking) – управление сетевыми соединениями (Connect) между локальной сетью клиента и облачными приложениями; виртуальными частными сетями (Virtual Network); балансировкой загрузки сети (Traffic Manager) Управление приложениями (App Services) Коммерция (Commerce) – продажа (Store) и распространение (Marketplace) облачных приложений На следующем слайде представлен общий вид нового портала Azure (C) Сафонов В.О Архитектура нового портала Azure
6 (C) Сафонов В.О Новый портал Azure (2013)
7 Данная компонента позволяет выполнять приложения в Windows Azure с использованием следующих возможностей: Web-сайты (Web Sites) – Инструменты быстрого создания сайтов в любой ОС средствами ASP.NET, PHP или Node.js Облачные сервисы (Cloud Services) Быстрое развертывание многоярусных приложений и управление ими. Windows Azure обеспечивает: предоставление сервисов, балансировку загрузки; мониторинг, проверку на постоянную доступность. Виртуальные машины (Virtual Machines)- Получение полного контроля над виртуальным облачным сервером, в соответствии с потребностями задачи. Возможность выбора из галереи ОС Windows Server или Linux с различными наборами предварительно инсталлированных приложений. Мобильные сервисы (Mobile Services) – Инструменты создания приложений для мобильных устройств, использующих Windows Azure. (C) Сафонов В.О Компонента Вычисления (Compute)
8 Компонента Data Services обеспечивает возможность хранения, модификации и генерации отчетов для данных в Windows Azure. Имеются сервисы, поддерживающие таблицы (Table), большие бинарные объекты (Blob) и базы данных SQL (SQL Database). Они обеспечивают память для бинарных и текстовых данных, сообщений, структурированных данных и реляционных данных. Преимущества: возможность управления, доступность, масштабируемость, использование удобной для разработчика модели разработки Возможно использование SQL Data Sync для синхронизации реляционных данных с другими экземплярами баз данных SQL или с локальными базами данных SQL Server Доступны следующие возможности: Blobs позволяют хранить неструктурированный текст или бинарные данные (видео, аудио, рисунки). Tables позволяют хранить большие объемы неструктурированных и не реляционных данных (NoSQL). SQL Database позволяют хранить большие объемы реляционных данных. SQL Data Sync позволяют организовывать регулярную синхронизацию между SQL Database и локальными SQL-серверами или другими экземплярами SQL Database. SQL Reporting – облачный сервис генерации отчетов, реализованный по технологиям генерации отчетов SQL Server. Позволяет встраивать возможности генерации отчетов в приложения Windows Azure. Отчеты генерируются на рабочем столе, что избавляет разработчика от необходимости реализации своей собственной инфраструктуры для генерации отчетов. HDInsight – основан на инструменте Apache Hadoop для параллельной обработки больших объемов данных. Упрощает работу с большими данными, благодаря интеграции с инструментами типа Microsoft Office and System Center. HDInsight (C) Сафонов В.О Компонента Сервисы данных (Data Services)
9 Сетевые сервисы Azure предоставляют услуги сетевых соединений и маршрутизации на уровнях TCP/IP (транспортных протоколов Интернета) и DNS (преобразования доменных имен в IP-адреса). Сервис Соединения (Windows Azure Connect) обеспечивает конфигурирование безопасных IP-соединений между компьютерами или виртуальными машинами сети организации клиента и экземплярами приложений, исполняемых в Windows Azure. Сервис Виртуальная сеть Azure (Windows Azure Virtual Network) предоставляет возможность организации виртуальных частных сетей (VPN) в Windows Azure для их безопасной связи с локальной ИТ-инфраструктурой клиента. Он позволяет использовать Windows Azure как филиал или как защищенную частную сеть в облаке Сервис Менеджер трафика (Traffic Manager) выполняет балансировку входящего трафика между различными сервисами, доступными через Интернет, с использованием политик, основанных на DNS. (C) Сафонов В.О Компонента Сеть (Networking)
10 Сервисы управления доступом и идентификацией пользователей Сервисы управления производительностью приложений Сервисы управления сообщениями между приложениями Windows Azure Сервисы управления планированием работы приложений (workflow) Сервисы управления обработкой мультимедийной информации (media services) (C) Сафонов В.О Сервисы управления приложениями (App Services)
11 Компонента Windows Azure Active Directory предоставляет сервисы для управления идентификацией пользователей в облачных приложениях. Сервис управления доступом (Access Control Service) – облачный сервис для простой аутентификации и авторизации пользователей для предоставления им доступа к облачным приложениям и сервисам, позволяющий вынести проверки аутентификации и авторизации из кода приложения. Библиотека управления графом (Graph API ) обеспечивает доступ программным путем к Windows Azure Active Directory (AD) с помощью вызовов методов по стандарту REST. Библиотека аутентификации (Authentication Library) предоставляет возможность разработчиком клиентских приложений аутентифицировать пользователей через Windows Azure Active Directory или других провайдеров аутентификации, а затем получать маркеры доступа для безопасных вызовов методов. Библиотека аутентификации (AAL) также дает возможность разработчикам сервисов защитить их ресурсы путем проверки входных маркеров. (C) Сафонов В.О Сервисы управления доступом и идентификацией пользователей
12 Эта группа сервисов позволяет кэшировать большие данные Сервисы Windows Azure Caching позволяют организовать кэширование в облаке для использования приложениями и сервисами с целью повышения их эффективности. В частности, поддерживается распространенный сценарий кэширования состояния сеанса и вывода в ASP.NET. Кэширование позволяет улучшить производительность приложений, благодаря временному хранению информации из других серверных источников. Сервисы Сети выдачи контента (Content Delivery Network) кэшируют большие бинарные объекты Windows Azure и статический выходной контент вычислительных объектов в стратегически размещаемых точках для обеспечения максимальной скорости выдачи контента пользователям. (C) Сафонов В.О Сервисы управления производительностью приложений
13 Очереди в памяти (Storage Queues) обеспечивают надежный обмен сохраняемыми сообщениями между ярусами приложений, выполняемых в Windows Azure. Очереди сообщений являются частью компоненты Windows Azure Storage, которая также обеспечивает сервисы бинарных объектов (Blob) и таблиц (Table). Шина сервисов (Service Bus) обеспечивает безопасную и широко доступную инфраструктуру для коммуникации сервисов, широкомасштабного распределения событий между ними, их именования и публикации. Шина сервисов предоставляет возможность соединений средствами Windows Communication Foundation (WCF) и другими способами коммуникации, включая вызовы методов по стандарту REST. Имеются примеры интеграции шины сервисов в приложения, в которых реализованы мосты (bridges), преобразования (transforms) и B2B-сообщения на основе Azure Service Bus. (C) Сафонов В.О Сервисы управления сообщениями между приложениями
14 С точки зрения пользователя, существуют две категории приложений : -внутренние (on-premises applications), исполняемые на компьютере пользователя -облачные (cloud applications), фактически исполняемые в среде Windows Azure на компьютерах центра обработки данных На пользовательском компьютере могут быть установлены ОС Windows и, возможно, другие ОС. Независимо от этого, через Web-браузер пользователь получает доступ к Windows в облаке – Windows Azure. Функционирование Windows Azure основано на Web-сервисах.NET Windows Azure для хранения данных обеспечивает доступ к аналогу СУБД Microsoft SQL Server в облаке – SQL Azure. (C) Сафонов В.О Организация работы пользователя в Windows Azure
15 Организация работы в Windows Azure (C) Сафонов В.О. 2013
16 Сервисы.NET как основа Windows Azure (C) Сафонов В.О. 2013
17 Домашнее задание к лекции 3 1.Каковы особенности архитектуры и интерфейса новой версии Windows Azure (2013)? 2.Войдите в Azure ( найдите GUI основных компонент — Compute, Data Services, App Services, и проанализируйте их основные возможности. Для выполнения упражнения необходим доступ к Azure. (C) Сафонов В.О. 2013
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 4 Базовые технологии, использованные при реализации. — презентация
Презентация была опубликована 8 лет назад пользователемnew.intuit.ru
Похожие презентации
Презентация на тему: » Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 4 Базовые технологии, использованные при реализации.» — Транскрипт:
1 Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 4 Базовые технологии, использованные при реализации Microsoft Windows Azure Сафонов Владимир Олегович Профессор кафедры информатики Заведующий лабораторией Java-технологии Санкт-Петербургский государственный университет WWW:
2 Windows Azure реализована на базе.NET.NET – платформа надежного и безопасного многоязыкового программирования Основана на единой для всех языков инфраструктуре (CLI), общей системе типов, общей системе поддержки выполнения (CLR) Исходный код на любом языке компилируется в сборку, содержащую бинарный код на едином промежуточном языке (CIL) – постфиксную запись программы, и метаданные – информацию о типах, определенных и использованных в сборке Исполнение программы в CLR – вызов методов и just-in-time (динамическая) компиляция каждого метода в native-код при первом вызове, с последующими вызовами native-кода Метаданные могут быть аннотированы атрибутами, как встроенными, так и пользовательскими На использовании метаданных основан динамический контроль типов и безопасности, выполняемый CLR (C) Сафонов В.О Обзор архитектуры.NET 2
3 (C) Сафонов В.О Основные идеи и принципы.NET Компилятор с любого языка (например, C# или VB) транслирует исходный код приложения в общий для всех входных языков формат — CIL (Common Intermediate Language; другое название — MSIL – Microsoft Intermediate Language); Кроме CIL-кода, компилятор также генерирует метаданные – общую для всех языков информацию о типах и других именованных сущностях (классах, методах, полях и др.), определенных и использованных в данном приложении; CIL + метаданные + манифест = сборка, состоящая из одного или более PE (Portable Executable) файлов Во время выполнения CIL-код динамически компилируется (на лету — on-the-fly) в объектный код конкретной целевой платформы (x86, x64, Mac, IA-64 и др.) с помощью Just-in-Time (JIT) — компилятора Все данные, передаваемые через Internet/Intranet, а также все конфигурационные файлы представлены в формате XML 3
4 (C) Сафонов В.О Преимущества подхода.NET.NET Portable Executable (PE) – файлы, генерируемые компиляторами NET, и данные в XML-формате могут быть переданы через Internet (например, по протоколу HTTP) и JIT- компилированы или интерпретированы на клиентских компьютерах Использование метаданных во время выполнения обеспечивает исполнение управляемого кода (managed code execution), с динамическим контролем типов, проверками безопаснности во время выполнения и т.д. Программист может разработать свое приложение на любом удобном ему языке, реализованном для.NET, и включить в приложение любые модули, написанные на других языках, также реализованных для.NET Повышенная степень безопасности: ролевая безопасность (role- based security), безопасность доступа к коду (code access security), безопасность на основе информации о сборках (evidence- based security), прогулка по стеку (security stack walk) XML Web-сервисы и ASP.NET – особенно важны для современного программирования; только для их использования стоит изучить.NET 4
5 (C) Сафонов В.О System.Data Design OLEDB SQLTypes SQL System Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess SecurityRuntime InteropServices Remoting Serialization System.Xml XPath XSLTSerialization System.Web ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing.NET Framework Классы System.Windows.Forms FormButton MessageBoxListControl 5
6 Типы-значения и типы-ссылки Простые типы Структуры-значения Указатели (managed pointers) Классы Интерфейсы Делегаты и события (C) Сафонов В.О Общая система типов.NET 6
7 (C) Сафонов В.О public class Person : IPersonAge < private int YOB; public Person() < >public int YearOfBirth < get < return YOB; >; set < YOB = value; >; > public int GetAgeToday() < return Today()- YearOfBirth >; > Язык C#: Классы Реализуют код и данные Являются семантическими единицами Реализуют интерфейсы Наследуют от общего базового класса Содержат: Поля: переменные-элементы Свойства: обрабатываются парами методов get/set Методы: функциональность Особые элементы: индексаторы, события, делегаты 7
8 Web-сервисы в.NET Предоставляют сервисы для других процессов в Internet или intranet Подход черного ящика Многократно используемые компоненты Основаны на.NET Framework Модель ASP.NET Web-сервисов Основаны на общих стандартах HTTP, XML и SOAP (C) Сафонов В.О
9 Распределенные Web-приложения в.NET Internet Приложение Устройства, браузеры ОС и локальные сервисы Вертикальный и портальный сервис Web-сервис, специфичный для приложения Web-сервис – строительный блок Приложение для доступа Сервисы вызова Контракт Web-сервисов (C) Сафонов В.О
10 Инфраструктура Web-сервисов.NET Web Service Client Discovery Request.vsdisco Return disco (XML) Description Request WSDL Return WSDL (XML) Protocol Request.asmx Return response (XML) (C) Сафонов В.О
11 Пример реализации Web-сервиса.NET using System; using System.Web.Services; public class MathService < [WebMethod] public int Subtract(int a, int b) < return a - b; >public int Subtract_vs(int a, int b) < return b - a; >> (C) Сафонов В.О
12 (C) Сафонов В.О WSDL Абстрактная структура WSDL-элементов service_2 service_1 message port_A port_D port type port_C port_B message (C) Сафонов В.О
13 Пример WSDL-файла (C) Сафонов В.О
14 Использование Web-сервисов через пользовательский интерфейс Полностью разделена логика размещения и вызова Два (или более) файлов:.aspx и.aspx.cs (или.aspx.vb) Файлы для дизайнеров и программистов Легкость сопровождения приложения. aspx.aspx.cs (C) Сафонов В.О
15 Пример (.aspx) public void Submit_Click(Object S, EventArgs E) < service.Add(operand1, operand2); (C) Сафонов В.О
16 Windows Azure Архитектура Windows Azure Windows Azure Fabric Fabric Controller ComputeStorage Cloud Application Network (C) Сафонов В.О
17 Архитектура Windows Azure Fabric — сеть взаимосвязанных узлов: Commodity –серверы высокоскоростные раутеры, переключатели и др. волоконно-оптические коннекторы The Azure Fabric Controller – сервис, который осуществляет мониторинг и предоставляет виртуальные машины для исполнения облачных приложений Главные сервисы Windows Azure Compute: Хостинг масштабируемых сервисов на платформе Windows Server Storage: управление данными (не реляционными). Network: Ресурсы для взаимодействия со внешними приложениями (Service Bus). (C) Сафонов В.О
18 Функции Fabric Controller Fault Domains: Единица обработки ошибок в ЦОД (например, кластер машин). Update Domains: модификация областей при апгрейдах (ОС, сервисы). Владельцы приложений описывают требуемые ресурсы в виде дескрипторов ресурсов (моделей сервисов). Fabric Controller автоматически предоставляет требуемые ресурсы. Fabric Controller обеспечивает устойчивость ресурсов к ошибкам и быстрый доступ к ним. Раннее обнаружение ошибок в приложениях. Создание дополнительных экземпляров по требованию. Экземпляры размещаются поверх fault и update domains. (C) Сафонов В.О
19 Physical Machine 1 Роли Web и Worker Web -роль: Интерактивное.NET – приложение, обслуживаемое IIS: Web Application или Web Service (WCF) Worker — роль: Независимый фоновый процесс Изолирован от внешнего мира Предоставляются способы доступа к нему со стороны внешних приложений Fabric Agent собирает метрики ресурсов (использование, ошибки, …) Hardware Load Balancer Virtual Machine 2 Fabric Controller Virtual Machine 1 Web Role Instance IIS Fabric Agent Physical Machine 2 Virtual Machine 2 Virtual Machine 1 Worker Instance Fabric Agent HTTP/HTTPS (C) Сафонов В.О
20 Модель сервисов: Определение сервисов Файл ServiceDefiniton.csdef определяет общую структуру сервиса: vmsize: ядра CPU (1 – 8) и память для виртуальной машины VM (1.7 – 15 GB) full/partial trust: поддерживается исполнение native-кода Endpoint: внутренние и внешние точки взаимодействия (http, https, tcp) LocalStorage: временная память на сервере, на котором исполняется объект ConfigurationSettings: имена параметров конфигурации Service Definition обрабатывается во время развертывания приложения. … (C) Сафонов В.О
21 Модель сервисов: Конфигурация сервисов Файл ServiceConfiguration.csdef указывает число экземпляров каждой роли определяет значения для установок конфигурации. Service Configuration может быть изменена во время выполнения. (C) Сафонов В.О
22 Классы Windows Azure Role API Role Instances Names BasicEntryPoint OnStart() OnStop() Run() MyWebRole OnStart() MyWorkerRole OnStart() Run() RoleEnvironment CurrentRoleInstance Roles GetConfigurationSettingValue() RequestRecycle() Changed (Event) Changing (Event) Stopping (Event) RoleInstance Id Role FaultDomain UpdateDomain InstanceEndpoints * Roles CurrentRoleInstance (C) Сафонов В.О
23 Реализация ролей Определить класс-потомок RoleEntryPoint и перегрузить методы жизненного цикла. Обычно перегружается метод OnStart() Регистрируется обработчик, который прослушивает изменения в конфигурации учетной записи облачной памяти. Когда обнаруживается изменение, роль повторно стартуется (переиспользуется). public class MyRole: RoleEntryPoint < public override bool OnStart() < CloudStorageAccount.SetConfigurationSettingPublisher( (configName, configSetter) => < configSetter(RoleEnvironment.GetConfigurationSettingValue(configName)); RoleEnvironment.Changed += (sender, arg) => < if (arg.Changes.OfType ().Any((change) =>(change.ConfigurationSettingName == configName))) < if (!configSetter(RoleEnvironment.GetConfigurationSettingValue(configName))) RoleEnvironment.RequestRecycle(); >; // handler for Changed event >); // SetConfigurationSettingPublisher return base.OnStart(); > (C) Сафонов В.О < configSetter(RoleEnvironment.GetConfigurationSettingValue(configName)); RoleEnvironment.Changed += (sender, arg) => < if (arg.Changes.OfType ().Any((change) =>(change.ConfigurationSettingName == configName))) < if (!configSetter(RoleEnvironment.GetConfigurationSettingValue(configName))) RoleEnvironment.RequestRecycle(); >; // handler for Changed event >); // SetConfigurationSettingPublisher return base.OnStart(); > (C) Сафонов В.О. 201123″>
24 Реализация ролей Web и Worker Web Role Никаких отличий от стандартов ASP.NET Web Forms, ASP.NET MVC или WCF-приложений Worker Role Переопределяется метод Run() класса RoleEntryPoint. Этот метод служит в качестве главного потока исполнения для этой роли. public class WorkerRole : RoleEntryPoint < public override void Run() < while (true) < // get next message // process message // delete Message Thread.Sleep(1000); >Альтернатива: можно прослушивать внешние HTTP(S) — или TCP- коммуникационные точки для входящих сообщений. (C) Сафонов В.О
25 Взаимодействие между ролями Экземпляры ролей могут взаимодействовать асинхронно с помощью очередей. Предпочтительный метод для надежного обмена сообщениями Role Instance 1 Queue Role Instance 2 Role Instance 3 Role Instance 4 Экземпляры ролей могут также взаимодействовать непосредственно с помощью TCP- или HTTP(S) — соединений. External App Role Instance 2 Load Balancer Role Instance 1 Role Instance 3 Role Instance 4 External Endpoint Internal Endpoint (C) Сафонов В.О
26 Взаимодействие между ролями на основе WCF/TCP (1) Реализация сервиса xxx Конфигурация worker-роли Добавление внешних или внутренних коммуникационных точек public class CalculatorService : ICalculator < public double Add(double a, double b) < return a + b; >[ServiceContract(Namespace=»…»)] public interface ICalculator < [OperationContract] double Add(double a, double b); >(C) Сафонов В.О
28 Взаимодействие между ролями на основе WCF/TCP (3) При использовании внутренних коммуникационных точек отправитель должен выполнять балансировку загрузки вручную. Используйте RoleEnvironment.Roles[TargetRole] для поиска этих коммуникационных точек NetTcpBinding binding = new NetTcpBinding(SecurityMode.None, false); using (ChannelFactory cf = new ChannelFactory (binding, «net.tcp://5000/CalcService»)) < ICalcService calcProxy = cf.CreateChannel(); double sum = calcProxy.Add(1,2); >Реализация клиента foreach (RoleInstance ri in RoleEnvironment.Roles[«CalcRole»].Instances) < RoleInstanceEndpoint ep = ri.InstanceEndpoints["MyInternalEP"]; string address = String.Format("net.tcp://<0>/MyService», ep.IPEndpoint); var cf = new ChannelFactory (binding, address); … > (C) Сафонов В.О
29 Сервисы.NET — надежная и безопасная основа для реализации Azure Дополнительные детали по поводу реализации компонент Fabric, Storage, Compute приведены далее в соответствующих лекциях (C) Сафонов В.О Резюме 29
30 Домашнее задание к лекции 4 1.Реализуйте WCF-сервис для упрощенного обмена сообщениями 2.Сформулируйте, в чем, по-Вашему, достоинства и недостатки рассмотренной реализации Azure? (C) Сафонов В.О