Санкт-Петербургский государственный университет
Опубликован: 01.07.2013 | Доступ: свободный | Студентов: 448 / 118 | Длительность: 16:00:00
Лекция 4:

Базовые технологии, использованные для реализации новой версии Microsoft Windows Azure (2013)

< Лекция 3 || Лекция 4: 12345 || Лекция 5 >

Новые возможности .NET Framework 4.5

Как и Windows Azure, платформа .NET – основа ее реализации – постоянно эволюционирует: улучшается производительность, реализуются новые возможности параллельных вычислений, сетевой коммуникации и т.п. Отметим, что многие нововведения в .NET 4.5, несомненно, вызваны в значительной степени потребностями развития и совершенствования Windows Azure и оказывают положительное влияние на производительность облака. Эти новые возможности мы и рассмотрим.

Основные новые возможности .NET 4.5. Следующие нововведения .NET 4.5 весьма важны для реализации Windows Azure:

  • Поддержка разработки приложений .NET для магазина Windows
  • Поддержка разработки переносимых библиотек классов (в том числе – для Windows Phone и для магазина Windows)
  • Поддержка больших массивов (более 2 Гб)
  • Фоновая сборка мусора для серверов
  • Фоновая JIT-компиляция для многоядерных процессоров
  • Улучшенная производительность при извлечении ресурсов приложений
  • Новые возможности для параллельных вычислений.

Новые возможности ASP.NET 4.5. ASP.NET – набор библиотек для поддержки разработки Web-приложений и Web-сайтов. Следующие новые возможности ASP.NET, реализованные в версии 4.5, особенно важны для реализации Windows Azure:

  • Поддержка новых типов форм HTML5 (напомним, что HTML 5 специально разработан для поддержки облачных вычислений)
  • Поддержка связывателей моделей в веб-формах. Они позволяют привязать элементы управления данными непосредственно к методам доступа к данным и автоматически преобразуют ввод данных пользователем в типы данных платформы .NET Framework и из них.
  • Поддержка "ненавязчивого" JavaScript в клиентских скриптах проверки.
  • Улучшенная обработка клиентского скрипта посредством связывания и минимизации, обеспечивающих повышенную производительность при работе со страницами.
  • Интегрированные подпрограммы кодировки из библиотеки AntiXSS (ранее - внешняя библиотека) для защиты от атак межсайтовых скриптов.
  • Поддержка протокола WebSockets.
  • Поддержка чтения и записи HTTP-запросов и ответов в асинхронном режиме.
  • Поддержка асинхронных модулей и обработчиков.
  • Поддержка резервирования сети распределения содержимого (Content Delivery Network - CDN) в элементе управления ScriptManager.

Новые сетевые возможности .NET 4.5. Следующие новые сетевые возможности .NET наиболее важны для реализации Windows Azure:

.NET Framework 4.5 обеспечивает новый интерфейс программирования для приложений HTTP.Дополнительные сведения приведены в описании пространства имен System.Net.Http и System.Net.Http.Headers.

Также предусмотрена поддержка нового интерфейса программирования для приема и взаимодействия с соединением WebSocket с помощью существующего класса HttpListener и связанных с ним классов.Дополнительные сведения приведены в новом пространстве имен System.Net.WebSockets и классе HttpListener.

Кроме того, в .NET Framework 4.5 сетевые функции усовершенствованы следующим образом:

  • RFC-совместимая поддержка URI. Дополнительные сведения см. в описании Uri и соответствующих классов.
  • Поддержка синтаксического анализа интернационализированных доменных имен (Internationalized Domain Name, IDN). Дополнительные сведения см. в описании Uri и соответствующих классов.
  • Поддержка интернационализации адресов электронной почты (Email Address Internationalization, EAI). Дополнительные сведения см. в описании пространства имен System.Net.Mail.
  • Улучшенная поддержка протокола IPv6 (новой версии Интернет-протокола), Дополнительные сведения см. в описании пространства имен System.Net.NetworkInformation.
  • Поддержка сокета с двойным режимом. Дополнительные сведения см. в описаниях классов Socket и TcpListener.

Новые возможности Windows Communication Foundation (WCF) в версии 4.5. В .NET Framework 4.5 были добавлены следующие функции, чтобы упростить создание и сопровождение приложений Windows Communication Foundation (WCF).

Следующие новые возможности WCF наиболее важны для облачных вычислений в Windows Azure:

  • Упрощение созданных файлов конфигурации.
  • Поддержка разработки "с контракта", т.е. контракт сервиса становится отправной точкой разработки.
  • Возможность более простой настройки режима совместимости ASP.NET.
  • Изменения значений свойств транспорта по умолчанию для снижения вероятности необходимости их настройки.
  • Проверка файлов конфигурации WCF за счет Visual Studio как часть процесса построения, поэтому можно обнаружить ошибки конфигурации перед запуском приложения.
  • Новая поддержка асинхронной потоковой передачи.
  • Новое сопоставление протокола HTTPS, облегчающее предоставление конечной точки по HTTPS с помощью служб IIS.
  • Возможность создавать метаданные в одном документе WSDL путем добавления ?singleWSDL к URL-адресу службы.
  • Поддержка Websockets, чтобы включить истинно двунаправленную связь по портам 80 и 443 с характеристиками производительности, схожими с транспортом TCP.
  • Поддержка настройки служб в коде.
  • Всплывающие подсказки редактора XML
  • Поддержка кэширования ChannelFactory.
  • Поддержка сжатия двоичным кодировщиком.
  • Поддержка транспорта UDP, которая позволяет разработчикам писать службы, использующие обмен сообщениями по принципу "отправить и забыть". Клиент отправляет сообщение службе и не ожидает ответа от службы.
  • Возможность поддерживать несколько режимов аутентификации на одной конечной точке службы WCF при использовании транспорта HTTP и безопасности транспорта.
  • Поддержка служб WCF, использующих интернационализированные доменные имена (IDN).

Архитектура Windows Azure и реализация облачных Web-сервисов

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

Архитектура Azure представлена на рис. 4.5.

Архитектура Windows Azure

Рис. 4.5. Архитектура Windows Azure

Fabric - это сеть взаимосвязанных узлов: Commodity –серверы, высокоскоростные раутеры, переключатели, волоконно-оптические коннекторы.

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

Главные сервисы Windows Azure следующие:

- Compute: Хостинг масштабируемых сервисов на платформе Windows Server 2008 R2.

- Storage: управление данными (не реляционными).

- Network: Ресурсы для взаимодействия со внешними приложениями (Service Bus).

Функции Fabric Controller:

  • Fault Domains: Единица обработки ошибок в ЦОД (например, кластер машин).
  • Update Domains: модификация областей при апгрейдах (ОС, сервисы).

Владельцы приложений описывают требуемые ресурсы в виде дескрипторов ресурсов (моделей сервисов).

Fabric Controller автоматически предоставляет требуемые ресурсы.

Fabric Controller обеспечивает устойчивость ресурсов к ошибкам и быстрый доступ к ним, раннее обнаружение ошибок в приложениях, создание дополнительных экземпляров по требованию. Экземпляры размещаются поверх fault и update domains.

В Azure различаются роли Web и Worker (см. рис. 4.6). По существу, каждая роль в Azure – это определенная разновидность приложения.

Роли Web и Worker

Рис. 4.6. Роли Web и Worker
< Лекция 3 || Лекция 4: 12345 || Лекция 5 >