Санкт-Петербургский государственный университет
Опубликован: 20.12.2011 | Доступ: свободный | Студентов: 1214 / 54 | Оценка: 3.87 / 4.00 | Длительность: 13:43:00
Лекция 18:

Заключение

В курсе подробно рассмотрена система облачных вычислений Windows Azure – ее принципы, архитектура, применения, проблемы, перспективы, примеры использования. Большое внимание уделено как научному анализу, так и практической работе в Azure.

Перспективность Azure несомненна. Она расширяет горизонты мышления и практических приложений как для программистов, так и для конечных пользователей.

Материал отражает текущее состояние Azure на момент написания курса – сентябрь 2011 г.

Автор выражает благодарность Microsoft за предоставленный доступ к Azure.

Общий глоссарий

Вертикальный слой, срез (в некоторых технологиях - аспект) –совокупность рассредоточенных фрагментов кода, реализующих (сквозную) функциональность, например, проверку безопасности. Авторы концепции: проф. А.Л. Фуксман (Ростовский университет, 1979 – технология вертикального слоения; G. Kiczales (Xerox PARC, аспектно-ориентированное программирование и система AspectJ).

Клиент (client)пользователь и (или) компьютер, использующий какие-либо программные сервисы.

Многоклиентская архитектура (multi-tenant architecture)архитектура клиент-серверного ПО, при которой один экземпляр серверного ПО, исполняемый на сервере, обслуживает несколько клиентов (tenants – букв. клиенты, арендаторы). Пример: Web-сервис.

Многоярусная архитектура (multi-tier architecture)архитектура ПО, при которой презентация результатов, обработка и управление данными реализованы как отдельные процессы. Пример: Использование middleware для взаимодействия с сервером и СУБД для взаимодействия с данными.

Облачные вычисления (cloud computing) модель вычислений, основанная на динамически масштабируемых (scalable) и виртуализованных (virtual) ресурсах - данных, приложениях, ОС и др., - которые доступны и используются как сервисы через Интернет и реализуются с помощью мощных центров обработки данных (data centers).

Полнофункциональный клиент (rich client) – клиент Web-сервиса, имеющий полнофункциональный GUI и общающийся с Web-сервисом через слой промежуточного программного интерфейса (middleware), обеспечивающий его функциональность; примеры ПО для поддержки rich clients: Microsoft Silverlight, Oracle JavaFX и т.д.

Программное обеспечение как сервис (Software as a Service - SaaS) – модель разработки программ, основанная на использовании лицензируемых программных сервисов "по требованию" клиентами, получающими (покупающими) лицензии у сервис-провайдеров.

Промежуточное программное обеспечение (middleware) – совокупность слоев ПО, лежащих между клиентом и сервером и обеспечивающих их взаимодействие, например, поддержку сетевых коммуникационных протоколов

Сервер (server) компьютер или центр обработки данных, предоставляющий программные сервисы.

Сервисно-ориентированная архитектура (SOA)архитектура ПО, при которой программный продукт представляет собой набор простых в использовании Web-сервисов с удобным графическим Web-интерфейсом.

Слой (layer) – крупная независимая компонента архитектуры ПО. Различают горизонтальные слои (или уровни абстракции), вертикальные слои (срезы) и др.

Тонкий клиент (thin client) – клиент Web-сервиса с минимальным пользовательским интерфейсом, не имеющий состояния, сеанса, полнофункционального GUI и общающийся с Web-сервисом только через браузер и протокол HTTP посредством отправки HTTP-запросов и получения HTML-страниц.

Уровень абстракции (abstraction layer) или "горизонтальный слой" (номер N) – совокупность модулей, реализация которых использует только модули уровня N-1 (N > 0). Нулевой уровень абстракции образует аппаратура или базовые библиотеки (API). Концепция принадлежит Э. Дейкстре и сформулирована в конце 1960-х гг. в ходе разработки операционной системы THE (Технического университета Эйндховена).

Microsoft Azure Services Platform - платформа фирмы Microsoft для разработки и использования облачных сервисов на базе Microsoft.NET.

Microsoft Windows Azure - операционная система и набор инструментов фирмы Microsoft, обеспечивающий поддержку облачных вычислений ("ОC в облаке").

SQL Azure – версия СУБД Microsoft SQL Server для использования "в облаке".

Агент интерфейса (fabric agent) – агентское приложение, исполняемое на каждом из компьютеров сервиса Интерфейс (Fabric) платформы Windows Azure.

Архитектор облака – главный разработчик его архитектуры.

Внутренние приложения (on-premises applications) – приложения, исполняемые на локальном компьютере пользователя.

Вычисления (Compute) – облачный сервис платформы Microsoft Windows Azure, исполняющий пользовательские приложения в едином облаке.

Интегратор облака – его системный администратор, отвечающий за добавление компонент в облако и их изменение.

Облачные вычисления (сloud computing) –. вычисления, основанные на масштабированных и виртуализованных ресурсах (данных и программах), которые доступны пользователям через Интернет и реализуются на базе мощных центров обработки данных (data centers).

Облачные приложения (cloud applications) – приложения, фактически исполняемые в среде облачных вычислений (например, Windows Azure) на компьютерах центра обработки данных.

Платформа – набор инструментов для использования облака.

Поставщик облака - центр обработки данных, поддерживающий облачные вычисления.

Уровень инфраструктуры – предоставление полной виртуализованной платформы через облако, например, Amazon EC2.

Уровень клиента – клиентское ПО, используемое для доступа к облачным сервисам, например, web- браузер.

Уровень памятиподдержка хранения данных пользователя и доступа к ним через облако.

Уровень платформы –программная платформа, объединяющая полный набор инструментов для развертывания и использования облачных вычислений на пользовательском компьютере (без дополнительных инсталляций, покупки оборудования и др.); пример: Microsoft.NET Azure Services Platform.

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

Уровень сервисов – облачные сервисы, используемые через облачную модель.

Центр обработки данных (ЦОД, data center) – мощный вычислительный центр, состоящий из компьютеров, объединенных в локальную сеть, обслуживающих сервисы облачных вычислений некоторой компании.

Microsoft Azure Services Platform - платформа фирмы Microsoft для разработки и использования облачных сервисов на базе Microsoft.NET.

Microsoft Windows Azure - операционная система и набор инструментов фирмы Microsoft, обеспечивающий поддержку облачных вычислений ("ОC в облаке").

SQL Azure – версия СУБД Microsoft SQL Server для использования "в облаке".

Агент интерфейса (fabric agent) – агентское приложение, исполняемое на каждом из компьютеров сервиса Интерфейс (Fabric) платформы Windows Azure.

Архитектор облака – главный разработчик его архитектуры.

Внутренние приложения (on-premises applications) – приложения, исполняемые на локальном компьютере пользователя.

Вычисления (Compute) – облачный сервис платформы Microsoft Windows Azure, исполняющий пользовательские приложения в едином облаке.

Интерфейс (внешний облик, Fabric) - облачный сервис платформы Microsoft Windows Azure, обеспечивающий интерфейс между различными облачными приложениями и между приложениями и памятью; реализован в виде группы компьютеров.

Контроллер интерфейса (fabric controller)программное обеспечение, управляющее работой облачного сервиса Интерфейс (Fabric) платформы Windows Azure.

Память (Storage) - облачный сервис платформы Microsoft Windows Azure, предоставляющий пользователю средства работы с данными различной структуры – большими бинарными объектами, таблицами и очередями.

Сервисная шина (service bus) – компонента платформы Microsoft Azure Services Platform.

Управление доступом (access control) – компонента платформы Microsoft Azure Services Platform.

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

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

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

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

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 Storage – компонента для управления памятью в Windows Azure.

Binary Large Object (BLOB) Service, простейший способ хранения бинарных данных в Windows Azure.

REST, Representational State Transfer – один из стандартов разработки Web-сервисов, основанный на передаче информации о состоянии через аргументы и результаты методов

Table Service - поддержка работы с таблицами

Queue Service - поддержка надежного обмена сообщениями между экземплярами Web-ролей и Worker-ролей.

Traffic Manager - Управление трафиком

Соединения (Connect) - Компонента Windows Azure, предназначенная для описания и обработки виртуальной сети

CDN - Сеть кэширующих серверов (Connect Delivery Network)

Территориальная группа – группа серверов ЦОД какого-либо региона, который пользователь выбрал для предпочтительного выполнения своих сервисов.

SQL (Structured Query Language) – язык запросов к реляционным базам данных, являющийся де-факто стандартом.

SQL Azure – компонента Windows Azure для работы с реляционными СУБД, основанными на SQL-запросах

SQL Azure Database – компонента SQL Azure для работы с базами данных

SQL Azure Reporting – генератор отчетов по базам данных в системе SQL Azure

Проект – единица разработки программ в Visual Studio.

Сборка (build) – компиляция проекта в бинарный код.

Публикация проекта – создание конфигурационных файлов для его последующего развертывания в облаке.

Развертывание сервиса – перекачивание информации о нем на компьютеры облачного ЦОД.

Windows Azure – система облачных вычислений корпорации Microsoft

http://windows.azure.com – портал Windows Azure

http://windowsazurepass.comWeb-страницы для получения пробного доступа к Windows Azure

Windows Live – портал, предоставляющий набор бесплатных облачных сервисов фирмы Microsoft

http://www.live.com - портал Windows Live

Azure SDK for Java Developers – программный инструментарий для обращения к компонентам Azure из программ на различных языках.

Гостевая ОСоперационная система, которая предназначена для использования на клиентских компьютерах и под под управлением которой на клиентской машине выполняется облако.

SQL Azure Reporting – сервис для генерации отчетов по базам данных SQL Azure

Azure Marketplace – портал для накопления и распространения полезных приложений для Azure

Аспектно-ориентированное программирование (АОП) – новый перспективный подход к разработке и модернизации программ, предназначенный для поддержки сквозной функциональности (cross-cutting concerns) в программах

Aspect.NET – инструмент АОП для платформы .NET, разработанный группой под руководством автора курса.

Hawaii – проект Microsoft Research по разработке приложений для мобильных телефонов под Windows Phone 7 для облачных применений в Windows Azure

Ярус (tier)слой программного обеспечения, реализующий какую-либо независимую часть его архитектуры; например: business tier – реализация бизнес-логики; Web tier – реализация взаимодействия с Web. Если используется понятие tier, следовательно, архитектура ПО настолько сложна, что двумерная модель (горизонтальный слой / вертикальный слой) ее полностью не описывает. Tier может находиться и использоваться в любой компоненте архитектуры ПО.