Текст
                    В.О. Сафонов
Платформа облачных вычислений
Microsoft Windows Azure
Учебное пособие
4-е издание (электронное)
Интернет-Университет Информационных Технологий www.intuit.ru
Ай Пи Ар Медиа
Москва 2024
УДК 00414
ББК 32.97
Сафонов, В.О.
Платформа облачных вычислений Microsoft Windows Azure : учебное пособие / В.О. Сафонов. — 4-е изд. (эл.) — Москва : Национальный Открытый Университет «ИНТУИТ» : Ай Пи Ар Медиа, 2024. — 329 с. — Текст : электронный.
ISBN 978-5-4497-2438-0
Учебное пособие знакомит студентов с концепциями и инструментами облачных вычислений, архитектурой, возможностями и методами применения платформы облачных вычислений Microsoft Windows Azure. Издание дает более глубокое научное изложение и анализ платформы Azure (которым в предшествующих учебных материалах не уделено достаточного внимания): анализ архитектуры платформы Azure; обучение фундаментальным технологиям и принципам, на которых она базируется (.NET, WCF и др.); обучение архитектуре платформы Azure, которая, даже с учетом усложнения современных программных архитектур, является достаточно сложной для понимания, изучения и использования; обучение методам практического применения платформы Azure для решения различных классов задач (хранение и использование данных, реализация бизнес-логики, коммуникация, научные вычисления и др.).
Учебное пособие предназначено для студентов старших курсов и аспирантов, а также для всех, кто интересуется облачными вычислениями.
Учебное электронное издание
Технический редактор Е.А, Семенова Обложка С.С. Сизиумова, Я.А. Кирсанов
Подписано к использованию 09.10.2023.
© ООО «ИНТУИТ.РУ», 2011-2016
© СафоновВ.О., 2011-2016
© Оформление электронного издания.
ООО Компания «Ай Пи Ар Медиа», 2024
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Содержание
Введение	4
1.	Обзор архитектуры современных программных систем	8
2.	Понятие об облачных вычислениях.
Обзор платформ облачных вычислений	28
3.	Основные концепции и архитектура
Microsoft Windows Azure	46
4.	Базовые технологии, использованные
для реализации Microsoft Windows Azure	54
5.	Windows Azure AppFabric	76
6.	Windows Azure Storage	90
7.	Windows Azure Compute	108
8.	Web-сервисы в Windows Azure.
Traffic Manager, Connect, CDN	117
9.	SQL Azure	162
10.	Разработка приложений для Windows Azure	173
11.	Основы практического использования
Windows Azure	200
12.	Инструменты Windows Azure	212
13.	Методы применения Windows Azure
для решения прикладных задач	218
14.	Windows Azure и аспектно-ориентированное программирование (АОП)	229
15.	Windows Azure для мобильных устройств.
Проект Hawaii	245
16.	Перспективы Windows Azure	251
17.	Заключение	259
18.	Общее ознакомление с Windows Azure	268
19.	Использование сервисов в Windows Azure и управление ими	277
20.	Разработка, публикация и использование простого облачного приложения для Windows Azure	297
21.	Использование Windows Azure
для мобильных устройств	322
Список литературы	328
з
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Введение
Концепция облака используется как метафора в литературе по ИТ уже много лет, с момента появления компьютерных сетей и, в особенности, Интернета. Облако - метафорический образ, обозначающий совокупность сетевых ресурсов, доступных через Интернет. Однако подход облачных вычислений внес принципиально новые возможности в ставшую привычной за несколько десятков лет картину организации вычислений - один или несколько клиентских компьютеров, соединенных в локальную сеть и при необходимости "выходящие" в Интернет.
Облачные вычисления - это перенос всех вычислений и хранения всех данных в Интернет и взаимодействие клиентов облака через Web-интерфейс облачных приложений. Такой подход к организации вычислений дает огромные, небывалые возможности клиентам, независимо от мощности и класса их компьютеров (настольные компьютеры, ноутбуки, мобильные устройства и др.). При этом облачные вычисления обеспечивают доступ к облаку миллионам пользователей в каждый момент. Однако подобный подход создает и массу проблем и вызывает целый ряд вопросов у пользователей: прежде всего, это безопасность пользовательских данных (у пользователей нет уверенности в том, что сохранится конфиденциальность их данных и программ, хранящихся на "чужих" компьютерах) и невысокая скорость соединения с Интернетом. Последнее особенно существенно для российских пользователей. Далеко не каждому доступен Интернет 4G со скоростью доступа 10-100 Мбит / с. При скорости же соединения порядка 5-10 килобайт в секунду (характерной для протокола GPRS, используемого в мобильных устройствах) пользоваться облачными вычислениями практически нереально - слишком велико время ожидания.
В этом практический смысл приведенного выше эпиграфа.
В этом, по-видимому состоит также основная проблема использования облачных вычислений в России. Облачные вычисления - это технология для пользователей "с быстрым Интернетом".
Надеемся, через несколько лет, после перехода на цифровое
4
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
телевидение, быстрый Интернет по цифровым телевизионным каналам станет, наконец, доступен десяткам миллионов российских пользователей, и тогда в России наступит эпоха облачных вычислений.
Об авторе
Сафонов Владимир Олегович - доктор технических наук, выпускник математико-механического факультета СПбГУ (1977),
профессор кафедры информатики и заведующий лабораторией Java-технологии математико-механического факультета (мат-мех) Санкт-Петербургского государственного университета (СПбГУ).
Личная Web-страница: ссылка: http://www.vhclimirsafonov.org http://www.vhclimirsafonov.org/.
Основные научные интересы:
•	Языки программирования и компиляторы; наиболее известны монография 'Trustworthy Compilers" - John Wiley & Sons, 2010, ссылка:	http://www.vhdimirsafonov.org/triistworthycompilers
http://www.vhdimirsafonov.org/trustworthycompilers , и монография "Языки и методы программирования в системе "Эльбрус" - М.: Наука, 1989;
•	операционные системы; наиболее известно учебное пособие "Основы современных операционных систем", М.: ИНТУИТРУ БИНОМ. Лаборатория знаний, 2011, 584 с.
•	аспектно-ориентированное программирование (АОП); наиболее известны проект Aspect.NET (ссылка: http://www.aspectdotnet.org -http://www.aspectdotnet.org/), монография "Using Aspect-Oriented Programming for Trustworthy Software Development". - John Wiley & Sons, 2008, и учебное пособие "Аспектно-ориентированное программирование", СПб: изд-во СПбГУ 2011, 104 с.
•	надежные и безопасные вычисления (trustworthy computing);
•	управление знаниями (knowledge management) и экспертные системы; наиболее известны проект Knowledge.NET ( ссылка: http://www.knowledge-net.ru - http://www.knowledge-net.ru/) и учебник "Экспертные системы - интеллектуальные помощники специалистов". - СПб: Знание, 1992;
5
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
•	Java-технология; наиболее известен учебник 'Введение в Java-технологию". - СПб: Наука, 2002;
•	платформа .NET
•	параллельное программирование; наиболее известен проект Parallel Dwarfs (ссылка: http://paralleldwarfs.codeplex.com httpy/paralleldwarfs.codeplex.com/).
В.О. Сафонов - авторитетный и признанный в России и в мире специалист в области ИТ.
•	Автор 150 научных трудов, в том числе - 13 книг (две из них - на английском языке), 4 патентов США и 4 патентов РФ по компиляторам и технологиям программирования, 16 Интернет-курсов, опубликованных на сайтах Microsoft, Sun/Oracle, ИНТУИТ.РУ
•	Член-корреспондент Российской Академии Естествознания (РАЕ).
•	Заслуженный деятель науки и образования РАЕ.
•	Лауреат премии Правительства Санкт-Петербурга (1999).
•	Лауреат премии Санкт-Петербургского государственного университета за научные труды (2010).
•	Почетный работник высшего профессионального образования РФ (2002)
Международные почетные звания и награды:
•	Academician of the American Biographical Institute (2011)
•	International Scientist of the Year 2008 (International Biographical Centre, UK)
•	Man of the Year 2008 (American Biographical Institute)
•	International Educator of the Year 2009 (International Biographical Centre, UK)
•	Pinnacle Achievement Award (American Biographical Institute, 2011)
Научная биография включена в международные справочники :
•	"Who's Who in the World"
•	'Who's Who in America"
•	'Who's Who in Science and Engineering"
6
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
•	"Who's Who in Asia"
•	"Great Minds of the 21st Century"
•	"2000 Outstanding Intellectuals of the 21st Century"
•	'International Profiles of Accomplished Leaders"
•	и опубликована на академическом сайте Microsoft (2007)
7
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Обзор архитектуры современных программных систем
Ф ормулируются обеспечению: безопасность, Делается вывод
В данной вводной лекции рассмотрены классы задач, решаемых современным программным обеспечением; характеристики и свойства современного ПО и требования к нему; некоторые основные концепции из области архитектуры программных систем.. Акцентируется внимание на разнообразии и значительном усложнении ПО. Даются определения основных терминов, связанных с видами архитектур программного современному стандартизация использование принципиально программного вычисления.
требования к масштабируемость, ориентация на о необходимости и использования
обеспечения.
программному технологий,
Web и др.
новых технологий разработки
обеспечения, к которым и относятся облачные
Цель лекции: Ознакомление с современными архитектурами программного обеспечения, решаемыми задачами, требованиями к современному программному обеспечению, тенденциями его развития, основными концепциями архитектуры ПО.
Презентацию к данной лекции Вы можете скачать здесь скачать: httpy/old. intuit. ru/department/se/pmsazure/l/Azure_course_l.pptx.
1.1 Введение.
Данный курс познакомит Вас с принципами современных облачных вычислений и наиболее перспективной платформой облачных вычислений Windows Azure и научит ее практически использовать. Будет дан детальный научный анализ концепции облачных вычислений в целом, оценены ее достоинства, недостатки, перспективы и проблемы развития.
1.2.	Комментарии к списку литературы.
Список литературы по курсу приведен в конце данной лекции.
Вот некоторые комментарии к этому списку
8
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
В книге [1] рассмотрен широкий круг практических вопросов, связанных с облачными вычислениями в целом: затраты на облачные вычисления, проблемы их безопасности, ограничения, поставщики облачных сервисов (Google, Microsoft, Amazon, Yahoo, IBM, EMC/VMware, Salesforce.com и др.), используемое оборудование и инфраструктура облачных вычислений, клиенты, платформы, приложения, сервисы, память, стандарты (НТГР, HTML, DHTML, XMPP, SSL, OpenlDWeb, REST, SOAP, JSON), концепции Platform as a Service (PaaS), Software as a Service (SaaS), Software plus Services (S+S), среды и инструменты разработки программ для облачных вычислений, понятия тонкого клиента и виртуализации.
Книга [2] посвящена в основном платформе Windows Azure. В книге проанализированы отличия локальных (on-premises) приложений от облачных и рассмотрены проблемы, возникающие при разработке облачного ПО, - безопасность, защита конфиденциальных данных, соблюдение общих правил и ограничений, резервное копирование и восстановление, каталогизация элементов облака и другие общие технические вопросы. Описаны принципы и примеры разработки облачных компонент, включая память (Storage), SQL Data Services и .NET Services. Рассмотрены также более специфические вопросы:
•	Сформулированы преимущества использования платформы Azure Services Platform для облачных вычислений
•	Показано на примерах, как использовать компоненты Windows Azure, включая Azure Table and Blob storage, .NET Services и SQL Azure
•	Описаны проблемы разработки гибридных приложений, сочетающих облачные компоненты и обычные Web-сервисы
•	Приведены конкретные работающие примеры облачных приложений, доступные для скачивания с сопроводительного Web-сайта книги.
Книга [3] и учебное пособие [4] автора курса предназначены для изучения современных операционных систем. В частности, в курсе и книге кратко рассмотрены основные принципы и возможности Windows Azure и бесплатных облачных сервисов Windows Live.
Курс автора [5] - обзорно-аналитический курс по архитектурам и
9
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
моделям программ и знаний. Одна из лекций курса посвящена основам облачных вычислений и Windows Azure.
1.3.	Некоторые виды современного программного обеспечения.
Прежде чем обратиться непосредственно к облачным вычислениям и к платформе Azure, рассмотрим важные основные концепции современной архитектуры ПО и проанализируем место облачных вычислений в этой общей схеме.
Рассмотрим некоторые наиболее характерные виды современного программного обеспечения:
•	Клиент-серверные системы
•	Web - сервисы и Web-приложения
•	Интегрированные распределенные решения (solutions)
•	Встроенные системы
•	Системы реального времени
•	Программное обеспечение мобильных устройств
•	Программное обеспечение носимых (wearable) компьютеров
•	Программное обеспечение промежуточного уровня (middleware)
•	ПО для облачных вычислений и центров обработки данных
•	ПО для компьютерных кластеров
•	ПО для виртуализации
•	ПО для управления информацией (information management)
•	ПО для управления знаниями (knowledge management)
•	ПО для научных вычислений (scientific computing)
В целом для современного ПО характерна тенденция к значительному усложнению архитектуры.
Клиент-серверные системы получили широкое распространение уже в течение десятков лет. Известны следующие основные разновидности серверов: сервер приложений, Web-сервер, сервер баз данных, сервер электронной почты, файл-сервер и другие [3].
Интернет (Web) - приложения предназначены для исполнения в Сети.
10
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
В современных условиях большинство из них разрабатывается на платформе .NET или Java, хотя некоторые программисты и фирмы до сих пор пишут Интернет-приложения на С. В современном Web-программировании также широко используются языки с динамическими типами - JavaScript, Python, Ruby, для которых характерно динамическое изменение и конструирование типов во время выполнения программы, что удобно, так как отражает динамичную природу Web-приложений и Web-сайтов.
Интернет-приложения подразделяются на клиентские (например, браузеры) и серверные (например, Web-сервисы).
Интегрированные решения являются распределенными программными системами для управления информацией и функционированием предприятий, фирм, банков, университетов. Для интегрированных решений характерно наличие модулей аутентификации и авторизации пользователей, работы с базами данных, работы с сетью, реализации бизнес-логики. Интегрированные решения могут быть разработаны с использованием различных языков программирования.
Встроенные системы - это программное обеспечение специализированных микропроцессоров, управляющих работой самых различных устройств - от атомных реакторов до холодильников, кардиостимуляторов, линий электропередач и автомобилей. Характерным требованием к программному обеспечению встроенных систем является фиксированность предельно допустимого времени ответа (response time), от которого зависит работоспособность, надежность и безопасность системы и управляемого ею объекта в целом, а подчас и само существование объекта или живого организма. Типичное требование к основному циклу работы подобной системы -отсутствие прерываний, которые могут вызвать недопустимые временные задержки.
Программное обеспечение мобильных устройств - одна из наиболее современных и широко распространенных разновидностей ПО. Его особенности: ограничения на ресурсы (прежде всего - на объем памяти), необходимость учитывать различия в архитектуре конкретных моделей мобильных устройств (дисплеев и клавиш управления). ПО мобильных устройств, как правило, разрабатывается на платформе Java,
н
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
либо с использованием продуктов Microsoft, например, .NET Compact Framework.
Как экзотический, но актуальный пример, приведем также ПО носимых компьютеров. Они встроены в спецодежду или обувь., используемые человекам, выполняют мониторинг состояния и поведения человека и дают экспертные рекомендации. Данный класс устройств также имеет весьма жесткие ограничения по памяти.
ПО промежуточного уровня (middleware) занимает промежуточное положение между клиентом и сервером. К наиболее типичным примерам middleware относится, например, ПО для поддержки протоколов отправки и приема мгновенных сообщений (instant messaging and presence).
ПО центров обработки данных (ЦОД) - еще один современный вид программного обеспечения. В нем особо важную роль играют СУБД, например, Microsoft SQL Server.
ПО для виртуализации - это современный вид ПО, предназначенный для инсталляции и использования виртуальных машин на реальное оборудование с целью расширения функций компьютерной аппаратуры, использования других ОС и ПО для других платформ. Пример -Microsoft Virtual PC.
ПО для облачных вычислений (cloud computing) - это сетевые операционные системы (например, Microsoft Windows Azure) и программное обеспечение, функцией которого является обеспечение работы пользователей через "облако", т.е. через сеть, хранения данных и приложений на "облачных" серверах
ПО для управления знаниями играет в настоящее время все более важную роль, в связи с интеллектуализацией Web и все большей популярностью разработки интеллектуальных программных решений. Примеры: Protege, система управления знаниями, разработанная в Стэнфордском университете, обеспечивающая работу на языке определения онтологий OWL; система Knowledge.NET разработки Санкт-Петербургского университета, расширение C# средствами представления знаний и интегрированная среда для платформы .NET.
12
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
ПО для управления информацией (information management) - офисные приложения (например, Microsoft Office, OpenOffice) и системы управления базами данных, например, Oracle, MySQL, Microsoft SQL Server.
ПО для научных вычислений - разнообразные инструменты и пакеты программ для поддержки решения научных задач, Пример: MATHLAB.
1.4.	Характерные черты современных программных систем
Рассмотрим теперь наиболее характерные черты современных программных систем, которые присущи большинству из них, независимо от их предметной области и платформы, на которой они используются.
Наиболее важная особенность современных программных систем - Web -awareness, т.е. ориентация на использование в Интернете. Наилучшими воплощениями этого принципа являются платформы .NET и Java.
Для современного ПО характерна универсализация представления моделей программ и данных, которая во многом вытекает из сетевой ориентации ПО. Unified Modeling Language (UML) уже 20 лет используется как де-факто стандарт для моделирования программ и процессов их разработки. Что касается представления данных, то здесь де-факто стандартом является XML, обеспечивающий единое текстовое структурированное представление данных.
Trustworthy computing (надежные и безопасные вычисления) - подход к разработке ПО, предложенный фирмой Microsoft. Его суть в том, чтобы на всех этапах проектирования и разработки программы учитывать требования к надежности и безопасности, реализовывать их в программном продукте и применять специальные виды тестирования для их верификации.
Важный принцип современного ПО - единая инфраструктура, в которую должны быть интегрированы инструменты, данные, знания и программы, используемые для решения прикладных задач.
13
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Повторная используемость (reusability) кода весьма важна для успешной разработки программ, так как позволяет существенно экономить ресурсы при разработке.
Сервисно-ориентированная архитектура ПО отражает тенденцию к явному выделению понятия программного сервиса (преимущественно, Web-сервиса). О ней подробнее см. п. 1.8.
Виртуализация широко применяется в программном обеспечении для моделирования новых аппаратных архитектур, расширения возможностей доступа к данным, памяти и др.
Облачные вычисления (cloud computing) - в настоящее время один из наиболее популярных подходов к разработке и использованию ПО, реализующий метафору "облака" (cloud) - Интернет- или интранет-сети, через которую пользователям доступны ресурсы - приложения, данные, знания. Данный подход подробно рассмотрен в курсе.
Управление знаниями (knowledge management) играет важнейшую роль в современном ПО, так как для решения многих реальных задач недостаточно чисто алгоритмических методов; требуется интеграция методов инженерии программ и инженерии знаний. Эта важная идея реализована в нашей системе управления знаниями Knowledge.NET (http У/www.kno wledge- net. ru).
1.5.	Современные платформы для разработки программ
Java (Sun Microsystems, 1995; ныне - Oracle) - платформа для разработки программ на объектно-ориентированном языке Java, программы на котором компилируются в Java байт-код. Спецификации Java до сих пор имеют статус ведомственного стандарта Oracle, хотя и обсуждаются до их принятия международным сообществом Java Community Process (JCP): ссылка: http://www.jcp.org - http://www.jcp.org/.
.NET (2000) - многоязыковая объектно-ориентированная платформа для разработки программ с общим промежуточным языком (CIL), общей инфраструктурой языков (CLI) и единым представлением данных на основе XML (стандарты ISO/ ЕСМА). Язык C# - наиболее удобный язык программирования для .NET, но не единственный и не обязательный
14
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
для использования. .NET - открытая платформа, стандартизированная совокупностью стандартов ISO. Microsoft.NET - это лишь одна из реализаций стандартов .NET; из других наиболее известны Mono и DotGNU.
Обе платформы - и Java, и .NET - уделяют особое внимание надежности и безопасности на основе исполнения управляемого кода и динамического контроля типов/
Обе платформы поддерживают разработку Web-сервисов и содержат базовые средства для реализации cloud computing.
Другие современные широко используемые платформы и языки: Ruby, Python, Scala.
1.6.	Характеристики, свойства и качества программных продуктов
Если идет речь о характеристиках, свойствах и качествах ПО, всегда необходимо уточнять, какого рода и с какой точки зрения рассматриваются характеристики программ. Пользовательская и "девелоперская" точки зрения на наиболее важные характеристики программ различаются.
С точки зрения пользователя наиболее важны следующие качества программ:
-	Работоспособность, полезность: программа должна прежде всего работать и выполнять то, что от нее требуется;
-	Дружественный к пользователю интерфейс (преимущественно - Web-интерфейс): программой должно быть удобно пользоваться, причем, наиболее желательно, - с минимальной нагрузкой на пользовательскую компьютерную систему и минимальными требованиями к пользователю по ресурсам; с данной последней точки зрения как раз и удобны облачные вычисления;
-	Надежность, безопасность, защита конфиденциальных данных (соблюдение принципов Trustworthy Computing - TWC): программа
15
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
должна надежно и стабильно работать и обеспечивать защиту от возможных внешних угроз и атак, как на саму программу так и на используемые, создаваемые и обрабатываемые ею данные.
С точки зрения разработчика наиболее важными признаются следующие качества программы:
•	Повторная используемость модулей (reusability); компонентноориентированное программирование (component-oriented programming): не следует программировать однотипный код (например, поиск по списку) повторно, вместо этого следует использовать на каждом этапе разработки уже готовый и проверенный код. в виде программных компонент (модулей), предпочтительнее - из стандартных (встроенных в платформу) библиотек. Кстати, это один из принципов trustworthy computing: используйте проверенный готовый код, так как дублирование похожего кода может ухудшить надежность и безопасность программы;
•	Модульность (modularity) - разработка программы в виде взаимосвязанной совокупности относительно независимых программных компонент - модулей, каждый из которых решает свою четко определенную задачу и которые могут быть представлены в виде классов и их методов, процедур и функций, макросов, аспектов, сопрограмм и др.
•	Эффективность (efficiency) - оптимальность программы, согласно тому или иному критерию (например, минимальность времени выполнения; минимальность объема используемой памяти). При оценке эффективности программы необходимо четко сформулировать критерий; всем критериям одновременно удовлетворить невозможно. Говорить об абстрактно понимаемой "эффективности вообще" не имеет смысла. Природа и поведение программ диалектичны. Например, если программа оптимальна по времени, то для этого оказывается необходимым использование дополнительной памяти (например, индексной таблицы для ускорения поиска) и т.д.
•	Переносимость (portability) - возможность переноса программы без изменения ее кода на другую платформу и ее последующего использования на другой платформе без каких-либо ее изменений. Переносимости программ могут помешать неявно используемых в
16
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
них предположения о свойствах целевой платформы, например, различная разрядность чисел на различных процессорах. С этой точки зрения, наиболее предпочтительна Java-технология, предоставляющая единый высокоуровневый язык Java и единую виртуальную среду выполнения и реализованная на всех наиболее распространенных платформах (Windows / х86 / х64; Linux; MacOS и др.).
•	Познаваемость (читаемость - readability); легкость сопровождения (maintainability; sustainability) - ясность, понятность, самодокументируемость кода программы, использование единых стандартов его оформления, которые способствуют последующему изучению и изменению кода (как правило, другими программистами), с целью исправления ошибок в программе или расширения ее функциональности. К сожалению, не всегда программисты или даже фирмы-разработчики следуют этому принципу в результате чего затраты на сопровождение оказываются недопустимо высокими.
•	Применение принципов TWC (trustworthy computing^ SDLC (Security Development Life Cycle) при проектировании и реализации. Об этом уже говорилось. Необходимо учитывать требования безопасности и надежности, начиная с самых ранних этапов цикла разработки программы и на всех этапах ее разработки, иначе серьезные проблемы безопасности возникнут при эксплуатации и сопровождении программы, что в конечном счете может вообще привести к невозможности дальнейшего использования программы.
1.6.	Классические элементы технологий программирования
Любая технология программирования состоит из нескольких необходимых элементов, при отсутствии которых говорить о существовании какой-либо технологии бессмысленно. Как показывает многолетний опыт разработки программ, это следующие основные элементы:
•	Концепции (например, trustworthy computing) - совокупность понятий, поддерживающих данную технологию
17
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
•	Инструменты (например, FxCop, Spec#)
•	Схемы организации процесса разработки программ (например, СММ, CMMI, SDLC)
1.7.	Некоторые современные основные понятия из области архитектуры ПО
Начнем знакомство с платформой Azure с определений основных понятий из области архитектуры программ.
Клиент (client) - это пользователь и (или) компьютер, использующий какие-либо программные сервисы.
Сервер (server) - это компьютер или центр обработки данных, предоставляющий программные сервисы.
Тонкий клиент (thin client) - это клиент Web-сервиса с минимальным пользовательским интерфейсом, не имеющий состояния, сеанса, полнофункционального GUI и общающийся с Web-сервисом только через браузер и протокол HTTP посредством отправки НТГР-запросов и получения HTML-страниц.
Rich client (полнофункциональный клиент) - это клиент Web-сервиса, имеющий полнофункциональный GUI и общающийся с Web-сервисом через слой промежуточного программного интерфейса (middleware), обеспечивающий его функциональность; примеры ПО для поддержки rich clients: Microsoft Silverlight, Oracle JavaFX и т.д.
Слой (layer) - это крупная независимая компонента архитектуры ПО. Различают горизонтальные слои (или уровни абстракции), вертикальные слои (срезы) и др.
Уровень абстракции (abstraction layer), или "горизонтальный слой" (номер N) - это совокупность модулей, реализация которых использует только модули уровня N-l (N >0). Нулевой уровень абстракции образует аппаратура или базовые библиотеки (API). Концепция принадлежит Э. Дейкстре и сформулирована в конце 1960-х гг. в ходе разработки операционной системы ТЛЕ (Технического университета Эйндховена).
18
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Вертикальный слой, срез (в некоторых технологиях - аспект) - это совокупность рассредоточенных фрагментов кода, реализующих (сквозную) функциональность, например, проверку безопасности. Авторы концепции: проф. А.Л. Фуксман (Ростовский университет, 1979 - технология вертикального слоения; G. Kiczales (Xerox PARC, аспектноориентированное программирование и система Aspect!).
Промежуточное программное обеспечение (middleware) - совокупность слоев ПО, лежащих между клиентом и сервером и обеспечивающих их взаимодействие, например, поддержку сетевых коммуникационных протоколов
Ярус (tier) - слой программного обеспечения, реализующий какую-либо независимую часть его архитектуры; например: business tier - реализация бизнес-логики; Web tier - реализация взаимодействия с Web. Если используется понятие tier, следовательно, архитектура ПО настолько сложна, что двумерная модель (горизонтальный слой / вертикальный слой) ее полностью не описывает. Пег может находиться и использоваться в любой компоненте архитектуры ПО.
Многоярусная архитектура (multi-tier architecture) - архитектура ПО, при которой презентация результатов, обработка и управление данными реализованы как отдельные процессы. Пример: Использование middleware для взаимодействия с сервером и СУБД для взаимодействия с данными.
Многоклиентская архитектура (multi-tenant architecture) - это архитектура клиент-серверного ПО, при которой один экземпляр серверного ПО, исполняемый на сервере, обслуживает несколько клиентов (tenants -букв, клиенты, арендаторы). Пример: Web-сервис.
С точки зрения рассмотренных концепций, облачные вычисления соответствуют принципам multi-tiered и multi-tenant architecture.
Что касается abstraction layers, для современной сложной архитектуры ПО данный термин несколько устарел, так как все модули ПО повторно используемы, и в различных системах различные ярусы (слои) могут иметь разные условные номера. Двумерная модель не в состоянии адекватно описать современное ПО
19
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Пример многоярусной архитектуры ПО представлен на рис. 1.1.
Presentation tier
The top-most le^el of the application is the user interface. The main function of the interface is to translate tasks and results to something the user can understand.
Logic tier
This layer coordinates the application, processes commands, makes logical decisions and evaluations, and performs . calculatiuns. It also moves and processes data between the two surrounding layers.
Data tier
Here information is stored and retrieved from a database or file system. The information is then passed hack to the logic tier for processing, and then eventually back to the user,
ADD ALL SALES TOGETHER
SALE 1 SALE г CALE 3 SALE Л
Database
Рис. 1.1. Пример многоярусной архитектуры ПО
1.8.	Понятие о Service-Oriented Architecture (SOA)
Сервисно-ориентированная архитектура (SOA) - один из наиболее современных подходов к программированию.
Сервис - это компонента программы, непосредственно доступная пользователю.
Пример сервиса: Получение прогноза погоды через Интернет.
Основной принцип SOA. С точки зрения пользователя, программный
20
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
продукт представляет собой набор простых в использовании Web-сервисов с удобным графическим Web-интерфейсом.
Сервисно-ориентированная модель должна быть расширяемой: пользователь должен иметь возможность добавить новые сервисы или изменить набор доступных сервисов.
Пользователи также должны иметь возможность обращаться к сервисам через сеть с самых различных по своим возможностям устройств -desktop-машин, мобильных устройств и т.д.
Метод реализации Web-сервисов (.NET, Java и др.) для пользователя несущественен.
Разработчик должен иметь возможность публикации своих Web-сервисов.
Поддержка SOA осуществляется во многих современных программных инструментах, в том числе:
•	Microsoft SharePoint - простой инструмент для создания расширяемых Web-страниц и Web-сервисов);
•	UDDI (Universal Discovery, Description and Integration) - технология для публикации и поиска Web-сервисов (Microsoft).
С данной точки зрения, облачные вычисления соответствуют принципам SOA.
1.9.	Понятие о Software-as-a-Service (SaaS)
Software as a Service (SaaS) - модель разработки программ, основанная на использовании лицензируемых программных сервисов "по требованию" клиентами, получающими (покупающими) лицензии у сервис-провайдеров.
Термин SaaS возник в 1999 г.
Основная идея SaaS - использование ПО по требованию (on demand) по невысокой стоимости, вместо покупки полной лицензии на ПО для
21
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
всех платформ.
Характеристики SaaS:
•	Доступ к коммерческому ПО через сеть;
•	валенное управление ПО пользователями через центральный Web-сайт;
•	Использование модели "one-to-many" (multi-tenant application), т.е. использование одного приложения многими клиентами;
•	Централизация управления версиями и патчами (пользователи могут загружать новые версии через сеть);
•	Постоянная интеграция программных сервисов в общий гибридный набор ПО, потребляемый пользователем, как mash-ups - гибридных Web-приложений.
С данной точки зрения, облачные вычисления соответствуют принципам SaaS.
1.10.	Понятие об облачных вычислениях (cloud computing)
Англоязычному термину cloud computing соответствует русский термин "облачные" вычисления.
"Облако" (cloud) - широко используемая метафора для изображения сервисов, предоставляемых через Интернет или другую коммуникационную сеть (например, через АГМ-сеть).
Облачные вычисления - модель вычислений, основанная на динамически масштабируемых (scalable) и виртуализованных (virtual) ресурсах - данных, приложениях, ОС и др., - которые доступны и используются как сервисы через Интернет и реализуются с помощью мощных центров обработки данных (data centers).
С точки зрения пользователей, существуют "облака" (общедоступные или частные) , предоставляемые различными компаниями для использования мощных вычислительных ресурсов, которых нет у индивидуального пользователя.
22
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Перспективы облачных вычислений, как будет видно из данного курса, весьма многообещающие.
Недостаток облачных вычислений: пользователь полностью зависит от "облака" и не может управлять даже резервным копированием своих данных и программ.
Наиболее популярная "облачная" платформа - Microsoft Windows Azure (облачная ОС) и Microsoft Azure Services Platform (реализованная на основе Microsoft.NET). О ней и пойдет речь в данном курсе.
В настоящее время все крупные компании (Microsoft, IBM, HP, Dell, Oracle и др.) разрабатывают свои системы облачных вычислений; имеется тенденция к интеграции этих корпоративных систем в единое доступное пользователю "облако". Однако имеются и частные "облака", доступные только служащим определенной компании.
1.11.	Резюме
Подход к разработке программного обеспечения в новом тысячелетии принципиально изменился.
Вместо индивидуальных изолированных разработок на собственном компьютере программное обеспечение разрабатывается в виде совокупности сетевых приложений и сервисов, а основная тенденция для пользоватетей - использование (consuming) готовых сервисов через Web.
Будущее - за сетевым и распределенным программным обеспечением, основанным на Web-сервисах, многоклиентских и многоярусных архитектурах -принципах SOA, SaaS, multi-tenancy, multi-tiered architecture.
Всем этим принципам соответствует модель облачных вычислений.
Microsoft - одна из ведущих компаний, поддерживающих и развивающих этот новый подход в своей облачной платформе Windows Azure, реализованной на базе платформы .NET - платформе надежного и безопасного многоязыкового программирования.
23
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Ключевые термины
Вертикальный слой, срез (в некоторых технологиях - аспект) -совокупность рассредоточенных фрагментов кода, реализующих (сквозную) функциональность, например, проверку безопасности. Авторы концепции: проф. А.Л. Фуксман (Ростовский университет, 1979 - технология вертикального слоения; G. Kiczales (Xerox PARC, аспектноориентированное программирование и система Aspect!).
Клиент (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) -модель разработки программ, основанная на использовании лицензируемых программных сервисов "по требованию" клиентами,
24
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
получающими (покупающими) лицензии у сервис-провайдеров.
Промежуточное программное обеспечение (middleware) - совокупность слоев ПО, лежащих между клиентом и сервером и обеспечивающих их взаимодействие, например, поддержку сетевых коммуникационных протоколов
Сервер (server) - компьютер или центр обработки данных, предоставляющий программные сервисы.
Сервисно-ориентированная архитектура (SOA) - архитектура ПО, при которой программный продукт представляет собой набор простых в использовании Web-сервисов с удобным графическим Web-интерфейсом.
Слой (layer) - крупная независимая компонента архитектуры ПО. Различают горизонтальные слои (или уровни абстракции), вертикальные слои (срезы) и др.
Тонкий клиент (thin client) - клиент Web-сервиса с минимальным пользовательским интерфейсом, не имеющий состояния, сеанса, полнофункционального GUI и общающийся с Web-сервисом только через браузер и протокол HTTP посредством отправки НТГР-запросов и получения HTML-страниц.
Уровень абстракции (abstraction layer) или "горизонтальный слой" (номер N) - совокупность модулей, реализация которых использует толью модули уровня N-l (N > 0). Нулевой уровень абстракции образует аппаратура или базовые библиотеки (API). Концепция принадлежит Э. Дейкстре и сформулирована в конце 1960-х гг. в ходе разработки операционной системы ТЛЕ (Технического университета Эйндховена).
Ярус (tier) - слой программного обеспечения, реализующий какую-либо независимую часть его архитектуры; например: business tier - реализация бизнес-логики; Web tier - реализация взаимодействия с Web. Если используется понятие tier, следовательно, архитектура ПО настолько сложна, что двумерная модель (горизонтальный слой / вертикальный слой) ее полностью не описывает. Пег может находиться и использоваться в любой компоненте архитектуры ПО.
25
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Набор для практики
Вопросы
1.	Перечислите виды современного программного обеспечения (ПО).
2.	Перечислите требования к современному ПО
3.	Перечислите характерные черты современного ПО
4.	Какие Вы знаете современные платформы для разработки ПО?
5.	Назовите наиболее важные качества программных продуктов.
6.	Каковы три классических элемента любой технологии программирования.
7.	Что такое клиент-серверная архитектура и ее компоненты - клиент и сервер?
8.	Что такое тонкий клиент?
9.	Что такое полнофункциональный клиент?
10.	Что такое слой ПО?
11.	Что такое уровень абстракции ПО?
12.	Что такое вертикальный срез (слой) ПО?
13.	Что такое ПО промежуточного уровня (middleware)?
14.	Что такое ярус ПО (tier)?
15.	В чем основная идея многоярусной архитектуры ПО?
16.	Что такое многоклиентская (multi-tenant) архитектура ПО?
17.	Что такое сервисно-ориентированная архитектура?
18.	В чем суть концепции Software as a Service (SaaS)?
19.	Что такое облачные вычисления?
Упражнения
Для данной вводной лекции упражнения не предусмотрены.
Темы для курсовых работ, рефератов, эссе
1.	Краткий обзор видов современного ПО (реферат)
2.	Обзор требований к современному ПО (реферат)
26
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
3.	Обзор современных платформ для разработки ПО (реферат)
4.	Многоярусные архитектуры ПО (реферат)
5.	Многоклиентские архитектуры ПО (реферат)
6.	Обзор сервисно-ориентированных архитектур ПО (реферат)
7.	Обзор концепции Software as a Service (реферат)
8.	Облачные вычисления как пример многоярусной, многоклиентской и сервисно-ориентированной архитектуры (эссе).
27
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Понятие об облачных вычислениях. Обзор платформ облачных вычислений
В данной лекции рассмотрены следующие вопросы: облачные вычисления; история; роль и новизна облачных вычислений; платформы, архитектуры, инструменты облачных вычислений; виды облаков; роли и обязанности компаний и индивидуальных разработчиков облачных вычислений; специфика организации программ и данных для облачных вычислений; платформы облачных вычислений: Microsoft Windows Azure, Amazon EC 2, облачные платформы HP, IBM и др.
Цель лекции: Ознакомление с современными архитектурами облачных вычислений и с их основными понятиями.
Презентацию к данной лекции Вы можете скачать здесь скачать: httpy/old. intuit. ru/depaitment/se/pmsazure/2/Azure_course_2.pptx.
2.1.	Введение
Данная лекция знакомит с основными концепциями и наиболее распространенными платформами облачных вычислений.
2.2.	Общее понятие об облачных вычислениях
Облачные вычисления (cloud computing) являются одним из наиболее популярных направлений развития ИТ. Понятие облака (cloud) уже давно ассоциируется с метафорическим изображением Интернета, с помощью которого доступны некоторые сервисы. Облачные вычисления (cloud computing) - это практическая реализация данной идеи. Облачные вычисления основаны на масштабированных и виртуализованных ресурсах (данных и программах), которые доступны пользователям через Интернет и реализуются на базе мощных центров обработки данных (data centers).
Общая структура "облака" изображена на рис. 2.1.
28
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Servers
Cloud Computing
Рис. 2.1. Архитектура облачных вычислений
С точки зрения пользователей, существует совокупность "облаков" (общедоступные, корпоративных, частных и др.), предоставляемых различными компаниями, для использования мощных вычислительных ресурсов, которых нет у индивидуального пользователя. Как правило, "облачные" сервисы платные. Из бесплатных назовем Windows Live (ссылка: http://www.live.com-http://www.live.com).
Виды "облаков" в облачных вычислениях иллюстрируются рис. 2.2.
29
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Рис. 2.2. Виды "облаков" в облачных вычислениях
Недостаток облачных вычислений в том, что пользователь оказывается полностью зависимым от используемого им "облака" (в котором доступны используемые им данные и программы) и не может управлять не только работой "облачных" компьютеров, но даже резервным копированием своих данных. В связи с этим возникает целый ряд важных вопросов о безопасности облачных вычислений, сохранении конфиденциальности пользовательских данных и т.д.; далеко не все из них на данный момент решены.
Серьезной проблемой организации облачных вычислений с точки зрения аппаратуры центров обработки данных является экономия электроэнергии и проблема распределения загрузки, так как облачные вычисления в каждом центре обработки данных имеют (или в ближайшем будущем будут иметь) миллионы удаленных пользователей. В настоящее время целый ряд крупных, в том числе -правительственных и коммерческих организаций США закрывают свои центры обработки данных (ЦОД), в связи со слишком большими энергозатратами. В самом деле, ЦОД может занимать одно или несколько огромных зданий.
Наиболее популярная "облачная" платформа - Microsoft Windows Azure
зо
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
(облачная ОС) и Microsoft Azure Services Platform (реализованная на основе Microsoft.NET). Windows Azure можно рассматривать как "ОС в облаке". Пользователю нет необходимости беспокоиться о ее инсталляции на его компьютере, который может не иметь для этого необходимых ресурсов. Все, что требуется, это иметь Web-браузер и минимальный пакет надстроек (plug-ins) для запуска и использования через браузер облачных сервисов.
В настоящее время многие крупные компании - Microsoft, Google. IBM, Oracle, Amazon и многие более мелкие фирмы, конкурируя друг с другом, заняты разработкой своих облачных сервисов и инструментов для их создания. Имеется тенденция к интеграции "корпоративных облаков" в единое доступное пользователю облаю. Из наиболее популярных платформ облачных вычислений назовем Amazon ЕС2.
2.3.	Элементы концепции облачных вычислений
Элементами концепции облачных вычислений являются: инфраструктура как сервис, платформа как сервис, программное обеспечение как сервис, а также бизнес-приложения доступные через Интернет. Иными словами, организация облачных вычислений коренным образом меняет архитектуру системы: в ней необходимо представить все возможности обработки данных, использования программ настройки и т.д. как облачные сервисы.
2.4.	Уровни компонент облачных вычислений
Различаются следующие уровни архитектуры облачных вычислений.
Уровень клиента - это клиентское ПО, используемое для доступа к облачным сервисам, например, web- браузер.
Уровень сервисов - это сами сервисы, используемые через облачную модель.
Уровень приложений - это программы, доступные через облако и не требующие инсталляции на компьютере пользователя (в последнем -одно из главных преимуществ облачной модели).
31
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Уровень платформы - это программная платформа, объединяющая полный набор инструментов для развертывания и использования облачных вычислений на пользовательском компьютере (без дополнительных инсталляций, покупки оборудования и др.). Пример такой платформы: Microsoft.NET Azure Services Platform.
Уровень памяти - поддержка хранения данных пользователя и доступа к ним через облако.
Уровень инфраструктуры - предоставление полной виртуализованной платформы через облако, например, Amazon ЕС2.
Пример организации облачных вычислений с использованием различных уровней приведен на рис. 2.3.
/	/ Cloud Service \	 1	i (eg Queue) 1 f	Cloud Infrastructure \	(eg Billing Ws)	Cloud	\ Platform	I (eg W eb Frontend)	J Cloud Storage	/ (eg Database)	/
Рис. 2.3. Пример организации облачных вычислений с использованием различных уровней
2.5.	Архитектура облачных вычислений
32
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рассмотрим схему архитектуры облачных вычислений:
-	Сервисы, доступные через облако
-	Инфраструктура для их развертывания и использования
-	Платформа - набор инструментов для использования облака
-	Память - поддержка хранения пользовательских данных в ЦОД, реализующем облако
-	Архитектор облака - это главный разработчик его архитектуры.
-	Интегратор облака - это его системный администратор, отвечающий за добавление компонент в облако и их изменение.
-	Компоненты облака, как правило, являются Web-сервисами.
Облако может быть общедоступным или частным (корпоративным).
Общая архитектура облачных вычислений проиллюстрирована на рис. 24.
33
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Client
Application Platform
Infrastructure
Server
Рис. 2.4. Общая архитектура облачных вычислений
2.6.	Роли в облачных вычислениях
При использовании облачных вычислений несколько изменяются и роли участвующих в них специалистов.
Поставщиком облака является центр обработки данных.
Пользователями облака могут быть любые пользователи Интернета.
Производитель оборудования или ПО для облака - это компания, обеспечивающая разработку аппаратуры и базового программного обеспечения для центра обработки данных.
2.7.	Стандарты облачных вычислений
34
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Модель облачных вычислений основана на соблюдении целого ряда стандартов.
Для взаимодействия приложений используются стандарты:
•	HTTP (основной Web-протокол);
•	XMPP (Jabber) - стандарт для отправки и получения мгновенных сообщений в формате XML; слово jabber буквально означает "болтовня"; интересно, что XML-"фразы" в этом протоколе называются на поэтический манер стансы (stanza);
•	SSL (Secure Socket Layer) - уровень безопасных сокетных сетевых соединений, используемый, например, в протоколе https.
Для работы клиентов в облаке используются Web-браузеры (с активным использованием технологии AJAX (Asynchronous JavaScript and XML), позволяющей уменьшить число перенаправлений с одной вебстраницы на другую и, тем самым, время доступа пользователя к необходимой ему информации) и offline-клиенты, работа которых основана на HTML 5 (специальной версии HTML для облачных вычислений).
Для реализации облака используются принципы виртуализации программ и данных и стандарт OMF.
Для взаимодействия с сервисами данные передаются в формате XML.
2.8.Обзор платформ облачных вычислений
Amazon Elastic Compute Cloud, или EC2, по-видимому является наиболее ранней, наиболее общей и наиболее известной из облачных серисных платформ.
Страница облака Amazon изображена на рис. 2.5. Там же приведен ее URL-адрес.
35
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
фГ -	- Д	1h4b.rHvw - Mrtun^rr- ' ]FA»1 - r.lj-ipaff fj Nr»,-» -
Гл*
л* amazon
¥itb services
H Sujti m tn-№* *№ Ner^HTTont Сэпк** $ Сге«Г**п «AS Account v tnflllib
5C*s*i Product ]nl^T4(ticm *
Product»
СехеГирег»
Ccuuniurnty
Support
PtiXKmT. Л SjNwj4
Amazon Elastic Compute Cloud (Amazon EC2)
Лпъв/оп EC2 Details
л FC J iHr-t-Hrw
« геэ**£}*
« Сеггдах,
। t/nuzri El SL*
< H7J	If*—’
 J't}	Аисл+хм;
«	1пЛт-ц
«niJKrt PflKK LCHlDIZe Cloud {AmalCd CC21 X J Wlb tUK
I SljpiOpNtM Ai1
' fcr cfau*3of*rr_
Агп>НЛ t<?'5 brtplii ivtlb inrrtt/i irtF-Trf-ntr ybj to tjbfi.ri Лги! стЬдгл	with mirmrsjl fniticn- 1t prrwirXn rw with pjntcMvto
ccntnjl tjf v0ut qrwnjHJtpig ГТ/ОЩСС» and lif*j upj >(in pn iVn;r»i'; Orprtjn
rtrnpiArtfl ►r'lMifrnin'wct. ДгтчЬт KI rwlLcrri- the time required to dbtiirt aHd t>o« r*iM iMtA-ices to inmuws аНлА'^ч to «jiBdv 5ь*!и
capacjtv, both ui> апй M*n, as you* cc/nnwins гми|гат*пи йчгф*. Агпмсл EcJ tiiaoves Chi «ополия of согпиДпв by itawir-q yc«J cd wy only Гог cipjcTy thii; you acrujll) им Алпмоп pt? pcijvidac dnuMferE tbA to0is to btJd faluto to5JIic/lt	And ичлилУ'Сг frtdTl
eihViWMi Fdilu'A ^*Л4л<М,


Iht, thFXtcunlJn»} tj45 foHc’nintf СЛМОГ"*	nl'orrt^Wl Click to )ixnp dWi
ЛПШОП [t2f-B*IUr<S
« Brjue VK* Я5ГС
« A-retofl CloudWiWt
Aniazon fcUif kuncTfonaliTy
Service Highlights
Fvdluntb
Instance lypcs
Pricing
Resources
ucuiled Uirsoripllon
InTcndcd Usage and Restrictions
Рис. 2.5. Облако Amazon EC2
IBM Smart Cloud - облачная платформа, ориентированная на уровень предприятия. Ее облачные сервисы могут предоставляться и как элементы общедоступного облака, и как компоненты приватного облака.
На рис. 2.6, рис. 2.7 и рис. 2.8 приведены начальные страницы для входа в облако IBM и его использования.
36
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Рис. 2.6. Начальная страница IBM Smart Cloud
37
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Рис. 2.7. Страница IBM с информацией об облачных вычислениях
38
m
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
gk* 1ВГЛ -Cut^uuLirnj ип Dtnnjnd Blue Cloud
Cloud Plcrtlorm
IBM Smart Analytics Cloud lor System z
LfimmufB Q
Application Services
faaty Еф пл». гИ?грт5« Iqwjt ?»r*$ec	^пЫу1л;о жи)	tn^iagrnwrt
IBM Systems Director
L«iih mere
IBM Blueworks Live

Рис. 2.8. Страница IBM с перечнем некоторых enterprise-сервисов, предоставляемых облаком IBM
Microsoft Windows Azure также поддерживает как публичные, так и приватные облачные сервисы. Она основана на архитектуре .NET и подробно рассматривается в данном курсе. Весьма важно, что появились программные инструменты для связи платформы Java с платформой Azure, позволяющие работать с облачными сервисами Azure с использованием Java API. Обо всем этом - речь ниже в данном курсе.
Oracle Cloud - аналогично IBM cloud, доступно как в публичной, так и в приватной форме. Информация об облачных вычислениях фирмы Oracle приведена на странице, изображенной на рис. 2.9.
39
ORACLE
ожзв 7 »cnr>:*:-j| Btiwco
_0od Conprfnp
Cloud computing
’Clixjti ajmfHrtCffl J »naz*t»; r* aglltf rnqulrtdbf сгдавВгайсии to lh Jtirttffl 1л Itxliy'i м*»г bruwini} aJiXkU «г*1brtfi> В11 aqxatHnbmj В1» bnrt to nurtil tty1 nn* t* dill tti jrib
>вг4свз while .tdunrtj) the idsb to daslijrx t.Jd	and limpid Hwm prrthtdi and s««i1z»j
( Itii nt abl»r In hiikdanwnlallr th Ki Lit tfrt W3' ГГ str*^s ал Mitctd ana Ctasunwd- *qrri
•	ДПС.Ч
* SrtMfi» [?;«[«,EMH f fp;iiy M'lMtiWMit
* л»ьыюаи£ш
* JCtrpJQbtLiUYljWt
f м.-АН
1 tUifllfilLSf
аш. <!ia	tA iritrg.k1 д*;?. aafattoununitt imju
ал 1ф0л1я 1lC*n Th* JqtiafRin-i [HuiMUan	О-бв-S* HjOOd
РсроМ 1Хн™*чм31
* &№Jl8l DE
V*dlB A НТШ93Р«1 С»П¥ТШГ4' LMmMDrt
Whirs New
HUra^iiLtp tie d,TJi МтВнрЛЯо» «nd Опкд
Abuuplt dlljc*w >gmT*«<dIilig L? tilt ОНчлГ tpm	t-l^xJuu,
pu«i?hBitTj SrnpnbB
DilJlM W«d ?» Htp PIJ1T 34 Qa 1? -hXhk
рдрн wa* SN1 PM ДМ gpud win rXMllfrMII
□f 1st ACE Dlr*йсг flen D«3 Uk+b в 1як «I Pi*sfc (Wall and Hywia C$mj« UMiIb 3rd Hit rnlut prppasfrdtii of Bach
prnkdUwi 120*рЯ11 11ИВ.И-01НЮ
* ^глаИВдщ1чм1.>Нд
* Ssiiuu jftAJj.EMtiw
• takosaiEHf
I '«мадйш
Рис. 2.9. Страница с информацией об облачных вычислениях фирмы Oracle
Salesforce.com: Force.com cloud - легко интегрируется с программными инструментами, опубликованными на известном сайте Salesforce.com Начальная страница с информацией об облаке Force.com приведена на рис. 2.10.
40
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Г *	А.' '«dbSc-r»'	-г пSfThfrjt т ЛUpgiMkум ToettjrNow ’ v Мемортт J^MhI ’ MySpjce Cj Htwi ’
The proven cloud platterm for the social enterprise
Ihb jciia fr£*qin<* Pjafltrm dMv*o< я r«Winw mUbWaril ipqkiti^j	piartinTi Fill
Юж» cwroBW «и «ту и» I» mwe '№ c utomen me цгсч^^в» m nrtwnvc vc тйчсйл г*л
мял И/ftth-w Р>Г7ЛТ>хйЛСТс- Ггящрц Hwnfcu, inxl	С*^
ff* ntrtt UmvrcTdCdm [ioffixm W tmtocpm* ।
Database.corn
integrate the soaoi enterprise
Far«r cam
Delight уйиГ employMi
Hetoku
DeThjhi yixir customers
Build custom employ» apps on a proven doud ptalform
№и сип I* rt* oreven ikvs ИПГвтп О hirtoff и* гипгмч км пчЫ* *nd <мь
Рис. 2.10. Страница с информацией об облаке Force.com cloud
Google's AppEngine - набор облачных сервисов, ориентированный на веб-разработчиков и приложений для веб-хостинга. Типичный пример - надстройка Google для браузеров, обеспечивающая поиск с помощью поисковой машины Google.
Имеется и ряд других менее известных облачных платформ, например, Kaavo cloud.
Ключевые термины
Microsoft Azure Services Platform - платформа фирмы Microsoft для разработки и использования облачных сервисов на базе Microsoft.NET.
Microsoft Windows Azure - операционная система и набор инструментов фирмы Microsoft, обеспечивающий поддержку облачных вычислений ("ОС в облаке").
SQL Azure - версия СУБД Microsoft SQL Server для использования "в облаке".
Агент интерфейса (fabric agent) - агентское приложение, исполняемое на
41
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
каждом из компьютеров сервиса Интерфейс (Fabric) платформы Windows Azure.
Архитектор облака - главный разработчик его архитектуры.
Внутренние приложения (on-premises applications) - приложения, исполняемые на локальном компьютере пользователя.
Вычисления (Compute) - облачный сервис платформы Microsoft Windows Azure, исполняющий пользовательские приложения в едином облаке.
Интегратор облака - его системный администратор, отвечающий за добавление компонент в облаю и их изменение.
Облачные вычисления (cloud computing) -. вычисления, основанные на масштабированных и виртуализованных ресурсах (данных и программах), которые доступны пользователям через Интернет и реализуются на базе мощных центров обработки данных (data centers).
Облачные приложения (cloud applications) - приложения, фактически исполняемые в среде облачных вычислений (например, Windows Azure) на компьютерах центра обработки данных.
Платформа - набор инструментов для использования облака.
Поставщик облака - центр обработки данных, поддерживающий облачные вычисления.
Уровень инфраструктуры - предоставление полной виртуализованной платформы через облаю, например, Amazon ЕС2.
Уровень клиента - клиентское ПО, используемое для доступа к облачным сервисам, например, web- браузер.
Уровень памяти - поддержка хранения данных пользователя и доступа к ним через облаю.
Уровень платформы -программная платформа, объединяющая полный набор инструментов для развертывания и использования облачных вычислений на пользовательском юмпьютере (без дополнительных инсталляций, покупки оборудования и др.); пример: Microsoft.NET Azure
42
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Services Platform.
Уровень приложений - программы, доступные через облаю и не требующие инсталляции на компьютере пользователя (в последнем -одно из главных преимуществ облачной модели).
Уровень сервисов - облачные сервисы, используемые через облачную модель.
Центр обработки данных (ЦОД, data center) - мощный вычислительный центр, состоящий из компьютеров, объединенных в локальную сеть, обслуживающих сервисы облачных вычислений некоторой компании.
Краткие итоги
Облачные вычисления - популярная современная модель вычислений, основанная на динамически масштабируемых и виртуализованных ресурсах (данных и приложениях), которые доступны и используются как сервисы, исполняемые на компьютерах мощного центра обработки данных.
Преимущество облачных вычислений: все вычисления выполняются удаленно, от компьютера пользователя требуется только наличие веббраузера и доступа в Интернет.
Недостаток облачных вычислений - полная зависимость пользователя от облака (в котором храняятся не только программы, но и его данные).
Современная тенденция - разработка корпоративных облаков всех ведущих фирм, их объединение в единое облако и все более широкое использование облачных вычислений пользователями.
Элементы концепции облачных вычислений: инфраструктура как сервис, платформа как сервис, программное обеспечение как сервис.
Уровни компонент облачных вычислений: уровень клиента, уровень приложений, уровень сервисов, уровень платформы, уровень памяти (данных), уровень инфраструктуры.
Архитектура облачных вычислений: сервисы, инфраструктура,
43
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
платформа, память.
Роли в разработчиков и клиентов в облачных вычислениях: архитектор облака, интегратор облака, поставщик облака, пользователи облака, производитель оборудования.
Стандарты, используемые в облачных вычислениях, - коммуникация приложений на основе протоколов HTTP и ХМРР (протокол обмена мгновенными сообщениями); HTML 5 - специальная версия HTML для облачных вычислений; AJAX - технология для оптимизации обращений к веб-страницам путем минимизации числа перенаправлений; OMF - стандарт виртуализации данных; передача данных в формате XML.
Набор для практики
Вопросы
1.	Что такое облачные вычисления?
2.	Что понимается в облачных вычислений под "облаком"?
3.	Что такое центр обработки данных?
4.	Каковы элементы концепции облачных вычислений?
5.	Какие уровни выделяются при организации облачных вычислений?
6.	Что такое уровень клиента?
7.	Что такое уровень сервисов?
8.	Что такое уровень приложений?
9.	Что такое уровень платформы?
10.	Что такое уровень памяти?
11.	Что такое уровень инфраструктуры?
12.	Каковы роли клиентов и реализаторов в облачных вычислениях?
13.	Какие стандарты используются в облачных вычислениях?
14.	Что такое Microsoft Windows Azure?
15.	Что такое Google AppEngine?
16.	В чем особенность подхода IDM к облачным вычислениям?
Упражнения
44
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
1.	Сформулируйте, в чем, по-Вашему преимущества и недостатки облачных вычислений.
2.	Поэкспериментируйте с какой-либо общедоступной системой облачных вычислений, например, Amazon ЕС2
3.	Какие из современных платформ разработки программ, по-Вашему наиболее подходят для реализации облачных вычислений?
Темы для курсовых работ, рефератов, эссе
1.	Обзор концепции и реализаций облачных вычислений (реферат).
2.	Облачная платформа Microsoft Windows Azure (реферат).
3.	Эксперименты с какой-либо общедоступной системой облачных вычислений, например, Amazon ЕС2 или Microsoft Windows Azure (курсовая работа - требуется академический доступ к Microsoft Windows Azure)
45
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Основные концепции и архитектура Microsoft Windows Azure
В данной лекции рассмотрены следующие вопросы: архитектура Microsoft Windows Azure.
Цель лекции: Ознакомление с архитектурой Microsoft Windows Azure.
Презентацию к данной лекции Вы можете скачать здесь скачать: http У/old. intuit. ru/department/se/pmsazure/3/Azure_course_3. pptx.
3.1. Введение
Данная лекция знакомит с основными концепциями и основами архитектуры Windows Azure.
Windows Azure - облачная платформа, разработанная фирмой Microsoft (по существу операционная система и набор инструментов "в облаке"). На рис. 3.1 иллюстрируется роль Windows Azure в организации использования облачных сервисов, предоставляемых центром обработки данных Microsoft, фирмами и индивидуальными заказчиками.
Windows Azure Platform
Рис. 3.1. Windows Azure, пользователи и центры обработки данных
Важно подчеркнуть, что Windows Azure обеспечивает хранение,
46
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
использование и модификацию данных и запуск программ только на компьютерах центров обработки данных Microsoft. Никакого программного обеспечения, кроме веб-браузера, на пользовательских компьютерах не требуется.
На рис. 3.2 изображена схема организации работы пользователя в Windows Azure.
Сервисы .NET
Рис. 3.2. Организация работы пользователя в Windows Azure
С точки зрения пользователя, существуют две категории приложений -внутренние (on-premises applications), исполняемые на компьютере пользователя, и облачные (cloud applications), фактически исполняемые в среде Windows Azure на компьютерах центра обработки данных. На пользовательском компьютере могут быть установлены ОС Windows и, возможно, другие ОС. Независимо от этого, через Web-браузер пользователь получает доступ к 'Windows в облаке" - Windows Azure. Функционирование Windows Azure основано на Web-сервисах .NET. Windows Azure для хранения данных обеспечивает доступ к аналогу СУБД Microsoft SQL Server "в облаке" - SQL Azure.
На рис. 3.3 изображены основные компоненты Windows Azure.
47
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
8QL Azun.
облачные приложения
^сервисы .NET
Wind© г
Рис. 3.3. Компоненты Windows Azure
Основные компоненты Windows Azure - Внешний облик, Интерфейс, или Фабрика программ (слово fabric дословно означает одежда), Вычисления (Compute), Память (Storage) и конфигурация (config). Все компоненты - вычисления, память и интерфейс - являются web-сервисами .NET. Сервис вычисления выполняет пользовательские облачные приложения, сервис память хранит пользовательские данные, сервис интерфейс обеспечивает общие средства управления приложениями, использующими облачную платформу
Основная проблема, решаемая сервисом Вычисления, - исполнение огромного числа (возможно, миллионов) пользовательских приложений самого разного вида и назначения в едином облаке. Иначе говоря, основная проблема сервиса вычисления и облачных вычислений в целом - масштабирование. Данная проблема решается путем выполнения каждого экземпляра пользовательского облачного приложения в своей отдельной виртуальной машине. Данные виртуальные машины исполняются в среде 64-битовой ОС Windows 2008 Server - наиболее мощной серверной ОС фирмы Microsoft.
Сервис Память предоставляет пользователю средства работы с данными различной структуры - большими бинарными объектами (blobs), размером до 50 Гб, хранящимися в контейнерах, таблицами
48
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
(tables) и очередями (queues). Работа со структурами данных реализована на основе ADO.NET - библиотек поддержки обработки структурированных данных в .NET.
Сервис Интерфейс (Фабрика программ) реализован как большая группа машин, на каждой из которых работает приложение - агент интерфейса (fabric agent). Сервис интерфейс в целом управляется программным обеспечением, называемым контроллер интерфейса (fabric controller). Контроллер интерфейса взаимодействует с агентами интерфейса, а также с сервисом память как с обычными приложениями (поэтому детали представления данных от контроллера интерфейса скрыты). Контроллер интерфейса управляет каждым облачным приложением с помощью конфигурационного файла в формате XML.
На рис. 3.4 изображена структура сервисов .NET как основы для реализации Windows Azure. Как уже говорилось, вся реализация Windows Azure основана на надежной и безопасной платформе .NET, исполнение программ в которой обеспечивается в особом безопасном режиме (managed execution - управляемое выполнение). Часть .NET, называемая Windows Communication Foundation (WCF) и предоставляемый ею механизм сервисов и является основой реализации платформы Windows Azure. Облачными сервисами управляют две компоненты - управление доступом (access control) и сервисная шина (service bus), которые подробно рассмотрены в следующих лекциях данного курса.
49
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Windows Azure
Рис. 3.4. Сервисы .NET как основа Windows Azure
Перспективы облачных вычислений в Windows Azure, несмотря на их критику и пока осторожное отношение к ним, очень велики, так как облачные вычисления позволяют получить доступ к мощным вычислительным возможностям и данным большого объема практически с любых пользовательских компьютеров (в том числе -карманных, мобильных устройств и т.д.), имеющих веб-браузер.
Кроме того, платформа .NET обеспечивает высокую надежность и безопасность приложений, благодаря исполнению в режиме managed execution. Microsoft Azure Services Platform - это платформа фирмы Microsoft для разработки и использования облачных сервисов на базе МюгозоЕ^ЕТПодробнее вопросы архитектуры .NET и Web-сервисов в .NET рассмотрены в следующей лекции (см. лекцию 4).
Ключевые термины
Microsoft Azure Services Platform - платформа фирмы Microsoft для разработки и использования облачных сервисов на базе Microsoft.NET.
50
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Microsoft Windows Azure - операционная система и набор инструментов фирмы Microsoft, обеспечивающий поддержку облачных вычислений ("ОС в облаке").
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.
Облачные приложения (cloud applications) - приложения, фактически исполняемые в среде облачных вычислений (например, Windows Azure) на компьютерах центра обработки данных.
Память (Storage) - облачный сервис платформы Microsoft Windows Azure, предоставляющий пользователю средства работы с данными различной структуры - большими бинарными объектами, таблицами и очередями.
Сервисная шина (service bus) - компонента платформы Microsoft Azure Services Platform.
Управление доступом (access control) - компонента платформы Microsoft Azure Services Platform.
51
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Краткие итоги
Windows Azure - операционная система и платформа фирмы Microsoft для облачных вычислений, наиболее развитая и распространенная среди всех облачных платформ. Ее реализация основана на платформе .NET и Windows Communication Foundation (WCF) и предоставляемых ею сервисах. Компоненты (сервисы) Windows Azure - Интерфейс (Fabric), Вычисления (Compute) и Память (Storage). Обеспечивается доступ к SQL Azure - облачной версии Microsoft SQL Server. Облачные сервисы .NET функционируют на основе двух объединяющих компонент - управления доступом и облачной шины.
Перспективы облачных вычислений на платформе Azure очень велики, так как они предоставляют мощные масштабируемые вычислительные сервисы, не требуя дополнительных ресурсов от компьютеров пользователей. Кроме того, надежность и безопасность обеспечивается базовой платформой .NET.
Набор для практики
Вопросы
1.	Что такое Microsoft Windows Azure?
2.	Из каких основных компонент состоит Microsoft Windows Azure?
3.	На какой платформе основана реализация Microsoft Windows Azure? 4. Что такое Fabric?
5.	Что такое Compute?
6.	Что такое Storage?
7.	Что такое Fabric Controller?
8.	Какого вида данные можно хранить с помощью сервиса Storage?
9.	Что такое SQL Azure?
10.	Что такое Microsoft Azure Services Platform?
Упражнения
1. Сформулируйте, в чем, по-Вашему преимущества и недостатки
52
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
облачных вычислений в Windows Azure.
2. Войдите в Azure (ссылка: http У/windows, azure, com httpy/windows.azure.com/) , найдите GUI компонентов (App)Fabric, Compute, Storage и проанализируйте их основные возможности. Для выполнения упражнения необходим доступ к Azure.
Темы для курсовых работ, рефератов, эссе
1. Облачная платформа Microsoft Windows Azure (реферат)
2. Использование .NET Web-сервисов для реализации Windows Azure (реферат).
53
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Базовые технологии, использованные для реализации Microsoft Windows Azure
В данной лекции рассмотрены следующие вопросы: архитектура .NET и сервисов .NET как основы реализации Windows Azure.
Цель лекции: Ознакомление с принципами и технологией (.NET), используемой для реализации Microsoft Windows Azure.
Презентацию к данной лекции Вы можете скачать здесь скачать: http://old.intuit.rU/department/se/pmsazure/4/Azure_course_4.pptx.
4.1.	Введение
Данная лекция знакомит с платформой .NET - базой для реализации Windows Azure. Рассмотрены Web-сервисы .NET, на которых базируется архитектура и реализация Azure.
Реализация платформы Windows Azure базируется на платформе .NET -платформе надежного и безопасного многоязыкового программирования.
В текстах и презентациях данной и последующих лекций использованы материалы презентаций [1] коллег из Института прикладных наук Верхней Австрии, за что автор выражает им глубокую благодарность.
4.2.	Обзор архитектуры .NET
Windows Azure реализована на базе .NET.
.NET - платформа надежного и безопасного многоязыкового программирования.
Основана на единой для всех языков инфраструктуре (CLI), общей системе типов (CTS), общей системе поддержки выполнения (CLR).
В .NET исходный код на любом языке компилируется в сборку содержащую бинарный код на едином промежуточном языке (CIL) -
54
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
постфиксную запись программы, и метаданные - информацию о типах, определенных и использованных в сборке
Исполнение программы в CLR реализовано как последовательность вызовов методов и just-in-time (динамическая) компиляция каждого метода в native-код при первом вызове, с последующими вызовами native-кода.
Метаданные могут быть аннотированы атрибутами, как встроенными, так и пользовательскими.
На использовании метаданных основан динамический контроль типов и безопасности, выполняемый CLR.
4.3.	Основные идеи и принципы .NET
Основные идеи и принципы .NET следующие. Это компиляция с любого языка в промежуточный двоичный код MSIL (CIL) -постфиксную форму представления программ; генерация компилятором так называемых метаданных - информации о типах,
определяемых и используемых в программном модуле для .NET. Промежуточный код, метаданные, плюс так называемый манифест (список содержимого двоичного кода)
составляют сборку (assembly) - логическую единицу представления двоичного кода в .NET. Во время выполнения программы, при первом вызове каждого метода, его промежуточный код компилируется специальным компилятором (just-in-time, или ЛТ, компилятором) в платформно-зависимый (native) код аппаратной платформы (машины), на которой исполняется программа. Де-факто стандартом для представления конфигурационной информации и передачи данных серез сеть в .NET является XML.
4.4.	Преимущества подхода .NET
Преимуществом подхода .NET является независимость двоичного кода (CIL) от конкретной апппаратной платформы. Также .NET выполняет код в особом режиме - managed execution, в котором гарантируется
55
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
полный контроль типов и безопасности, что обеспечивает надежность и безопасность программ, в отличие от использования более старых языков и платформ, например, Си.
Многоязыковое программирование - еще один важнейший принцип .NET: программист может разрабатывать модули своей программы на любых уцобных ему языках, a .NET обеспечивает совместимость (interoperability) этих модулей в рамках одной программы.
Повышенные требования к безопасности - еще одна характерная черта .NET. Наконец, .NET имеет очень уцобные и современные механизмы поддержки Web-программирования.
4.5.	Архитектура .NET Framework
На рис. 4.1 приведена архитектура базовой библиотеки классов (BCL) .NET. Их использование ясно из их названий. Весьма важно, что все эти классы могут быть использованы при программировании на любом языке .NET - С#, Visual Basic, Managed C++ и др.
Наиболее важны для данного курса пространства имен System.Web -поддержка Web-сервисов - и System Security - поддержка установки, проверки и конфигурирования полномочий безопасности сборок.
56
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
.NET Framework
Каассы
Рис. 4.1. Классы .NET Framework
4.6.	Общая система типов .NET
Общая система типов .NET (CTS) - весьма удачная унификация систем типов данных современных языков программирования. Подчеркнем, что такая унификация просто необходима в .NET для поддержки многоязыкового программирования (CLR должна "понимать" типы каждого языка одинаково.
Различаются следующие разновидности типов в CTS.
Типы-значения и типы-ссылки - две основных разновидности типов, воплощающие два различных подхода к представлению значений и объектов - контейнерный и ссылочный.
Простые типы (int, double, unsigned int, native int и др.), разумеется, относятся к типам-значениям.
57
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Структуры, что весьма полезно, также относятся к типам-значениям, а не к объектам. Это позволяет описать в них собственные методы. Единственное, чего нет в структурах, по сравнению с классами, - это наследования. Структуры размещаются в стеке. Объекты (принадлежащие некоторым классам) - в куче.
Указатели (managed pointers) - это разновидность указателей, на которой базируются проверки типов и безопасности. Управляемый указатель в .NET содержит ссылку на тип объекта (на метаданные), благодаря чему тип и атрибуты любого объекта можно проверить во время выполнения.
Классы имеют обычный смысл, как в других системах ООП.
Интерфейсы - также стандартная концепция для современных яззыков ООП - Java, С#, VB и др. Интерфейс - совокупность заголовков методов, реализуемых некоторым классом.
Делегаты и события- типы данных для обработки событий. Тип делегата описывает типовую структуру заголовка обработчика события, представленного в виде callback-метода. При описании события указывается конкретный тип делегата.
4.7.	Язык С#: Определение классов
Язык C# разработан специально для платформы .NET, хотя не является обязательным и единственным для этой платформы (в отличие от Java). Классы в C# определяются традиционным для ООП образом - как набор полей и методов. В дополнение к другим языкам, определение класса может также содержать свойства (обобщенные поля с операциями get и set); индексаторы; события; делегаты. Пример класса:
public class Person JPersonAge
{
private int YOB;
public Person()
{
}
58
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
public int YearOfBirth {
get { return YOB; };
set { YOB = value; };
}
public int GetAgeToday() {
return TodayQ-YearOfBirth };
}
4.8.	Web-сервисы в .NET
Концепция Web-сервиса в .NET поддерживает сервисы в виде классов, интерфейс которых доступен через Web, соблюдающие ряд стандартов (WSDL, SOAP, XML), основанные на библиотеке классов .NET Framework.
На рис. 4.2 приведена структура распределенного Web-приложения.
59
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Распределенные Web-n рмложения з .NET
Контракт
1Л вЕн с врн НЫЭ в
Рис. 4.2. Структура распределенного Web-приложения
Приложение состоит из клиентской и серверной частей. Web-сервис должен удовлетворять определенному контракту (реализовывать определенный интерфейс).
Инфраструктура Web-сервисов представлена на рис. 4.3.
60
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Инфраструктура Web-сервисов .NET
Рис. 4.3. Инфраструктура Web-сервиса в .NET
Web-сервис может обрабатывать несколько видов запросов Web-клиентов. При обнаружении (открытии) сервиса клиент передает запрос вида vsdisco, в ответ на который сервисы открытия (UDDI) сообщают о месте расположения Web-сервиса. В ответ на другой запрос - WSDL - сервис сообщает клиенту структуру своего интерфейса в формате XML с соблюдением стандарта WSDL (Web Service Description Language). В ответ на запрос asmx Web-сервис посылает свой файл реализации в формате XML.
На рис. 4.4 приведен простой пример кода Web-сервиса, выполняющего вычитание двух чисел и выдающего результат, на рис. 4.5 представлена структура WSDL-спецификации Web-сервисов, состоящей из сервисов, портов и сообщений.
61
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Пример реализации Web-сервиса .NET
webservi се Language=“cf“
class= Mathservice" %>
using system;
using System.Web.Services;
public class Mathservice
{
[webMethod]
public int Subtract(int a, int b)
{
return a - b;
1
public int subtract_vs(int a int b)
{
return b - a;
Л.--
Рис. 4.4. Простой пример кода Web-сервиса .NET
Пример WSDL-описания Web-сервиса:
definitions name="serviceName">
<import namespace="httpy/namespacePath"
location=' http У/path/fileN ame. wsdl' '>
<portType name="serviceNamePortType">
<operation name="opName">
<input message="msgNameInput" />
<output message="msgNameOutput" />
</operation>
</portType>
<binding name=' 'serviceN ame S oapBinding' '>
<soap:operation soapAction='httpy/..." />
</binding>
<service name="serviceName">
<port name="serviceNamePort" binding='bindingName">
<soap:address location='httpy/..." />
62
Платформа облачных вычислений Microsoft Windows Azure
В.О. Сафонов
</port>
</service>
</definitions>
Использование Web-сервисов основано на следующих принципах. Полностью разделена логика размещения и вызова: сервис представлен в виде пары файлов: .aspx и .aspx.cs (или .aspx.vb). Файлы .aspx предназначены для дизайнеров, файлы .aspx.cs - для программистов. Таким образом достигается легкость сопровождения приложения.
Фрагмент кода сервиса:
<%@ Import Namespace="MathServiceSpace" %>
<script language="C#" runat= "server ">
public void Submit_Click(Object S, EventArgs E) {
service.Add(operandl, operand2);
</script>
<input OnServerClick="Submit_Click" runat= "server" ...>
4.9.	Архитектура Windows Azure и реализация облачных Web-сервисов
Перейдем теперь собственно к предмету рассмотрения - архитектуре Azure и реализации облачных Web-сервисов средствами .NET.
Архитектура Azure представлена на рис. 4.5.
63
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Архитектура Windows Azure

Рис. 4.5. Архитектура Windows Azure
Fabric - это сеть взаимосвязанных узлов: Commodity -серверы, высокоскоростные роутеры, переключатели, волоконно-оптические коннекторы.
Azure Fabric Controller - сервис, который осуществляет мониторинг и предоставляет виртуальные машины для исполнения облачных приложений.
Главные сервисы Windows Azure следующие:
-	Compute: Хостинг масштабируемых сервисов на платформе Windows Server 2008.
-	Storage: управление данными (не реляционными).
-	Network: Ресурсы для взаимодействия со внешними приложениями (Service Bus).
64
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Функции 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
Web-роль - это интерактивное .NET - приложение, обслуживаемое IIS, - Web Application или Web Service Windows Communication Foundation
65
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
(WCF).
Worker-роль - это независимый изолированный фоновый процесс. Предоставляются способы доступа к нему со стороны внешних приложений.
Fabric Agent сохраняет метрики ресурсов, такие, как использования и ошибки.
Модель сервисов:	Определение сервисов. Файл
ServiceDef initon . csdef определяет общую структуру сервиса:
•	vms i z е: ядра CPU (1 - 8) и память для виртуальной машины VM (1.7-15GB)
•	full/partial trust: поддерживается исполнение native-кода
•	Endpoint:внутренние и внешние точки взаимодействия (http, https, top)
•	Localstorage: временная память на сервере, на котором исполняется объект
•	Conf igurationSettings:HMenanapaMeTpoB конфигурации
Файл определения сервиса обрабатывается во время развертывания приложения.
Структура файла определения сервисов изображена на рис. 4.7.
< 5е rvic eDeTini-ia-n *-ame = aiMy Zervits" ...>
<Ие bRo-1 е гam== "HyUte ЬАвХс" спа b l вЧа“ ix> rCad е Е:се е uz ion = "~ а 1 s«e " wra i z е = "Find i jm" >
< I n puz E nd poi n~ r.ams = "lrte“ sin." zr^-z-z-CGl = " hzzp" psrz = ,,3*-3" />
< /1Л p-uz E R z z z i nt в >
<Cowf i ju г-az ion S e” i n gz >
<S-E”ing Ram: = "r.amEl"
</Con-fi gu rat ion S e~ i n gz >
</Wsbflals>
Рис. 4.7. Структура файла ServrceDefiniton.csdef
Модель сервисов:	Конфигурация сервисов.
Файл
66
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Serviceconfiguration . csdef задает конфигурацию сервисов. В нем указывается число экземпляров каждой роли и определяются значения для установок конфигурации.
Содержимое файла Serviceconfiguration может быть изменено во время выполнения.
Структура файла конфигурации сервисов изображена на рис. 4.8.
< S е г vi с е< э-п-рi.gu га- ion □ : г i сams = "Му ii = rv i с г " ил! г s =
<4WLe жапе = "MyW" = 5 = 1 - " >
<I.nSUMCES	Г‘>
< Cctn-f i ?u га- ion 5c”“ ings>
<SE““in,n; л am: = "r.am: 1 " valuE = "valuEl" />
Рис. 4.8. Структура файла ServiceConfiguration.csdef
Диаграмма классов Windows Azure Role API изображена на рис. 4.9.
Классы Windows Azure Role API
BasirEntryPoint
On St 51
OnStapf)
______i----
M-yWebRol
I______
MyWorke-rRole
Role I lists nee
Id
Rale
F=ultDamEi n
Update Domain
Inline 5 End pa int

67
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рис. 4.9. Диаграмма классов Windows Azure Role API
Класс BasicEntryPoint (с потомками MyWebRole и MyWorkerRole) содержит методы жизненного цикла - onStart (), onStop (),run().
Класс Ro 1 eEnvironment имеет потомков Role и
Rolelnstance.
Реализация ролей изображена на рис. 4.10.
Рис. 4.10. Реализация ролей
В реализации роли определяется класс-потомок RoleEntryPoint и перегружаются методы жизненного цикла. Обычно перегружается метод OnStart () . Регистрируется обработчик, который прослушивает изменения в конфигурации учетной записи облачной памяти. Когда обнаруживается изменение, роль повторно стартуется (переиспользуется).
Реализация ролей Web и Worker изображена на рис. 4.11.
ziiblic clsss WorkEr-KalE i R-j1eEn~гуРо-iпт = - = Не ov-rri-i- Run() {
while (true) {
// =•=- ленч m:s=;=:
// =<:□=□= nwss = =ie
// dEl-tE M====?=
7-r-==.:i-=={ieee)j
68
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рис. 4.11. Реализация ролей Web и Worker
При реализации Web Role нет никаких отличий от стандартов ASP.NET Web Forms, ASP.NET MVC или WCF-приложений.
При реализации Worker Role переопределяется метод Run () класса RoleEntryPoint. Этот метод служит в качестве главного потока исполнения для этой роли.
Альтернатива: можно прослушивать внешние H11P(S) - или ТСР-коммуникационные точки для входящих сообщений.
Взаимодействие между ролями изображено на рис. 4.12.
Взаимодействие между ролями
Экземпляры ..слей могут бе ан моде иста об вггь есннкроннз с. помощью очередей.
Пр ед почтите*=Htiii м егод дл" нзд.-ен: кого обменз с о □ б тениям и
 Экв е м п л я р ы р о л ей м о гут та н.:+: е вз а и м одей ст во ватьне п о ср едстве иное помощью TCP-или HTTP(5) - соединений.
iJC.I	SO А?.’.
Рис. 4.12. Взаимодействие между ролями
Экземпляры ролей могут взаимодействовать асинхронно с помощью очередей.
Это предпочтительный метод для надежного обмена сообщениями.
69
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Экземпляры ролей могут также взаимодействовать непосредственно с помощью TCP- или H11P(S) - соединений.
Взаимодействие между ролями на основе WCF/TCP изображено на рисунках 4.13, 4.14, 4.15.
Вэаимодейстзие между ролями на основе WCF/TCP (l)
F'e вливания сервиса
[Se rvic e Cont ra c t[каче spa c e=}] public interface ICalculator {
[OperationContractJ
double ^ddjdoufale 3j double hj;
public class Calculatorservice : Kalcula ter £
public double Addd-cufcle a_, double b} {
return a - bj
	Конфигурация worker-роли
	Добавление внешни» или внутренних коммуникационных точек
<	□ = г '.-I сеZ=~ir‘ i~ izn r=ni= = "La 1 cZet vi e " ...>
rar.= = "Z = lc3-zl=	enatlеЧэ-ix-E-LodEE:«cir:ian= "~r" >
<Endpoinie>
<	I npu-~ E n.d poi п~ г.али = "Сй1 EjsrvicsEP" peri = " 5-&&Э" p ratio-col = "i c p" />
	< I nt s r-п a 1E nd pa-i nt name = "My 1л~е гла 1EF " p rot D-cal = " t c p "/ >
	С/ Endpo-int e>
</Н&гк.= г?Ь1.= >
Рис. 4.13. Взаимодействие между ролями на основе WCF/TCP: сервис
70
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Взаимодействие между ролями на оснозе
riouda pp.net: экю/Sa И е ги ic=	Our'Ert R°*=1 rjt 3":Е 
I n=taг := E г zpoir.ts | щ.zE ica' ]
z.Dlic cla = = Wcr^ = rH = l: 	ny=oirz {
zri-.azs Se rvi eeHz 5Z ssi-vic E-iz-sz ;
public zv = rrid-s i zig Run-O {
z'-is . s"r-.iz""»zsz = nsw 5ervice“ht5~(tyfeef\€al cServi ce )) j
fcszlczzirz in? bindir.? = г-w SezIczE irrin=-(Z = z-ri zyttzzE . liz'>- = ' >
floL=Ir.=-=r.c = Er3zoir.z ekTsrwlErt-dFoiJK =
RolsEnivir-onniEnt.CirrremRo-LeInszance . In-slan ceEndpoints[ "€al.c5 ervi.CE EP"]j  r i i. □  r i z "tta s z . Add Sepi.- i с e E п-d po-i nz
-^{ICalc^P ice), =irz -r
5z г i r =. F z rma z	c z	С a 1 c i:  г . i l e " d
= - = r-aLE-z-zirz . I = E-3z-z-i-z JV // hcs^Awns and iizrz
Рис. 4.14. Взаимодействие между ролями на основе WCF/TCP: хостинг
71
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Взаимодействие между ролями на основе
WCF/TCP(J)
Реализация клиента
\ = zTc = = i- = i- = =i- = ir,= =	^Tc = = i--3i-s 'Ssc-ri-yi-fcs-. —= J т;1=с>
usi-r (2r = nr-=lF3” = rJ<Iiali:i:-rvic-> cf =
r,:w Channel F.acz»ry< КaLc S-e гvi t e > ( bi п-d i г B.d
 mz .-cf I / / 5W0/C sLc Se rule e " ) ) [
IiaJci-г- ic- calc’rciy = с-.-2г = ат~а='г = 1() 
□ = -Ы= 5urn = C=lz-rz;Tj .Asz ' lj 2;j
При использовании внутренних коммун и кацис-нных _счек отправитель должен выполнять балансировку загрузки вручную. * Используйте RoieEnvTonmen:.Roi,eslr,rTjrge‘RoleJ''j для поиска зтих коммуникационных точек
Гиггзе" (lR.o-1 в I п sz »|ус е ri ir. R-o-leEnvircMimEn-. RolEs["£ailEflolEH I. Iast№CEs) [
Fieri еIпst □ пlеЕ n_dpoiп~ :с = ri . ТлетапсвЕrwlpo-in-s("Му Ir.zs г<гаIE? "1 j
= -rinr = = = г = = = = i-ri^r.F = rfl>sz{,,5-7.z = ::/l-,[^}/FT-1-5 = r.ic=,,J = з . IF End psi r>-J ;
. =r E-r =	2-a-'- = lF = L-z---7<I:',^iI-rvii:E> ( 'bi p:iF;J assr-ssjj
Рис. 4.15. Взаимодействие между ролями на основе WCF/TCP: клиент
В примере реализуется сервис ххх. С помощью атрибутов определяется контракт сервиса. Для конфигурирования worker-роли добавляются внешние или внутренние коммуникационные точки. Реализуется хостинг WCF-сервиса. При реализации клиента, при использовании внутренних коммуникационных точек отправитель должен выполнять балансировку загрузки вручную. Необходимо использовать RoleEnvironment. Roles [ "TargetRole" ] для поиска этих коммуникационных точек.
4.10. Резюме
Сервисы .NET - надежная и безопасная основа для реализации Azure. Дополнительные детали по поводу реализации компонент Fabric, Storage, Compute приведены далее в соответствующих лекциях, посвященных этим компонентам Azure.
72
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Ключевые термины
Azure Fabric Controller - сервис, который осуществляет мониторинг и предоставляет виртуальные машины для исполнения облачных приложений
Web-роль - интерактивное .NET - приложение, обслуживаемое IIS, -Web Application или Web-сервис, основанный на Windows Communication Foundation (WCF).
Worker-роль - независимый изолированный фоновый процесс. Предоставляются способы доступа к нему со стороны внешних приложений.
Краткие итоги
Реализация платформы Windows Azure базируется на платформе .NET -платформе надежного и безопасного многоязыкового программирования. .NET обеспечивает управляемое выполнение приложений. Основана на общей системе типов и общей системе поддержки выполнения. Web-сервисы .NET базируются на стандарте WSDL.
В архитектуре Azure основной компонентой является Fabric. Она управляет приложениями через Fabric Controller. Главные сервисы Azure - это Compute, Storage и Network.
Среди исполняемых программных компонент Azure различаются Web-роль и Worker-роль. Web-роль - это интерактивное облачное Web-приложение, Worker-роль - это независимый процесс, исполняемый в облаке.
Модель (структура) сервиса и конфигурация сервиса задаются конфигурационными файлами формата XML.
Экземпляры ролей могут взаимодействовать либо асинхронно с помощью очереди сообщений, либо непосредственно через TCP- или
73
Платформа облачных вычислений Microsoft Windows Azure
В.О. Сафонов
HTTPS-соединения.
Набор для практики
Вопросы
1.	На какой платформе базируется реализация Azure?
2.	Каковы основные принципы .NET?
3.	Что такое общая система типов .NET?
4.	Что такое общая система поддержки выполнения .NET?
5.	Что такое единый промежуточный язык .NET?
6.	Какие основные разновидности типов входят в общую систему типов .NET?
7.	Каковы особенности определения классов в С#?
8.	На каких стандартах базируются Web-сервисы .NET?
9.	Назовите основные виды запросов к Web-сервису .NET.
10.	Каковы основные архитектурные компоненты Azure?
11.	Каковы функции Fabric Controller?
12.	Что такое Web-роль и Worker-роль?
13.	Каким образом задаются конфигурация и структура Web-сервисов?
14.	Какими способами роли могут взаимодействовать между собой?
Упражнения
1.	Реализуйте WCF-сервис для упрощенного обмена сообщениями
2.	Сформулируйте, в чем, по-Вашему достоинства и недостатки рассмотренной реализации Azure.
3.	Войдите в Azure и проанализируйте текущую структуру ролей и сервисов с помощью средств Azure GUI.
Темы для курсовых работ, рефератов, эссе
1.	Обзор архитектуры .NET (реферат).
2.	Обзор архитектуры Windows Azure (реферат).
3.	Функционирование Fabric и Fabric Controller в Azure (реферат).
74
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
4. Реализация ролей в Azure (реферат).
75
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Windows Azure AppFabric
В данной лекции рассмотрены следующие вопросы: архитектура Windows Azure AppFabric - основной компоненты Windows Azure для управления приложениями.
Цель лекции: Ознакомление с Windows Azure AppFabric - основной компоненты Windows Azure для управления приложениями; с компонентами самой AppFabric и их возможностями для пользователей.
Презентацию к данной лекции Вы можете скачать здесь скачать: http У/old. intuit. ru/department/se/pmsazure/5/Azure_course_5. pptx.
5.1.	Введение
Windows Azure AppFabric - основная компонента Azure, предназначенная для управления приложениями в "облаке". Слово fabric буквально означает '’ткань". По классу ПО (см. лекцию 1) Azure Fabric относится к промежуточному ПО (middleware). Azure AppFabric предназначена для поддержки разработки, развертывания и обслуживания приложений в Azure Platform.
Windows Azure AppFabric предоставляет современную облачную платформу программного обеспечения промежуточного уровня для разработки, развертывания и управления приложениями на платформе Windows Azure. Кроме того, AppFabric обеспечивает высокую производительность программистов на уровне модели Platform-as-а-Service (PaaS) в среде Windows Azure. AppFabric обеспечивает связь существующих приложений разработчика с облаком и поддерживает их безопасную связь в сети, связывающей различные географически удаленные точки, и обеспечивает целостную модель разработки как для Windows Azure, так и для Windows Server.
Наконец, AppFabric обеспечивает более высокую продуктивность разработки, предоставляя более высокий уровень абстракции для разработки коммунникационных приложений и упрощает сопровождение приложения, выбирая оптимальные возможности используемой программно-аппаратной инфраструктуры.
76
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
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 (laaS) - облако вида инфраструктура как сервис; клиент-разработчик ПО управляет приложениями, средами поддержки выполнения, механизмами безопасности и интеграции, базами данных, всеми остальными компонентами управляет поставщик облака (cloud provider);
•	Platform-as-a-Service (PaaS) - облако вида платформа как сервис; клиент-разработчик ПО управляет только своими приложениями, всем остальным управляет поставщик облака;
•	Software-as-a-Service (SaaS) - облако вида ПО как сервис; клиент-разработчик ПО не управляет никакими компонентами, все делает за него автоматически поставщик облака.
По классификации, Windows Azure относится к облачной платформе вида PaaS, т.е. клиенту-разработчику предоставляются средства управления облачными приложениями (это как раз и обеспечивает
77
Платформа облачных вычислений Microsoft Windows Azure
В.О. Сафонов
компонента AppFabric).
Пример облачной платформы типа SaaS - Windows Live: она предоставляет готовые облачные приложения и сервисы, например, аналог Microsoft Office, пользователь может их применять для своих задач, но сам своих облачных приложений не создает).
Отметим еще раз, что в облаке вида платформа как сервис [2], в отличие от облака вида инфраструктура как сервис, клиент облака управляет только своими приложениями.
Виды облаков и их компоненты изображены на рис. 5.1 [2].
Types of С oucls
Рис. 5.1. Виды облаков и их компоненты.
5.3.	Архитектура и компоненты Windows Azure
AppFabric
Архитектура Windows Azure AppFabric изображена на рис. 5.2.
78
Платформа облачных вычислений Microsoft Windows Azure
В.О. Сафонов
High Level Architecture
Рис. 5.2. Архитектура Windows Azure AppFabric.
Windows Azure AppFabric состоит из трех основных компонент:
•	Access Control (управление доступом)
•	Bus Service (Сервис шины)
•	Cache (Кэш - Ассоциативная память).
Windows Azure AppFabric обеспечивает предварительно подготовленные, высокоуровневые сервисы ПО промежуточного уровня, которые повышают уровень абстракции и уменьшают сложность разработки облачных приложений. Эти сервисы открыты и носят многоязыковый характер, т.е. могут быть использованы из программы, написанной на другом языке (любом языке, реализованном в .NET; Java; JavaFX Script; Ruby, PHP и др.), и предоставляют разработчикам мощные библиотеки классов для разработки облачных приложений. Разработчики могут использовать каждый из этих двух сервисов отдельно или объединять сервисы в одно составное программное решение. Эти сервисы включают:
Шину сервисов (Service Bus). Обеспечивает безопасный обмен сообщениями и сетевые возможности, которые поддерживают построение распределенных и изолированных приложений в облаке, а
79
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
также гибридных приложений, сочетающих в себе локальные и облачные приложения. Шина сервисов поддерживает использование большого набора протоколов и шаблонов кода для коммуникации и обмена сообщениями.
Управление доступом (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 для разработчиков.
80
В.О. Сафонов
Платформа облачных вычислений. Microsoft Windows Azure
AppFaoric SDK for Java Developers
Home [ Tutorial; | Download | Roadmap | Community । Announcement [ SourceForge
Download
•	AppFabric SDK for Java Developers jar - idotnetservices-vl O-sdk-jar.zip
•	AppFabric SDK for Java Developers source - jdotnecservices-vl .0-sdk-source.zip
•	Sa lesD ashboa rd Demo application source idotnetserv'ces-vl.Q-sample-source.z^p
Prerequisites
•	Java SE (This SDK is tested with JDK 6 Update 17f but will work with newer versions also.)
•	Java EE Tools (Glassfish &. Eclipse} (The product is tested with Eclipse Galileo)
•	Apache Ant
•	Commons Codec jar
Рис. 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.
81
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
О Wnd cwj Azure Platform
ll[IHE TyilriH К |JrltHIIC ( НННЫМ 1lElf11 clJII1H
1Ц1ИГ tyildH К IJdbtlIС Е Wirilit!W4 Агигг
Q Готдлин? nopnorn покалкнпго пркложрннп WiHflnWB Arttre
Мы,*згЫ., "ж	п^»*Нзжяяи* ASP BfT Йл_и< jQura  Vnjjll
9lH= i
M Ралмршвание и млуск приложений Windows Azure ’Mi4, uh ZKJ^t-H.Tk й ЯЗЛТИГ,	нрнгчррнмя *	I
L.J Нлчдо [чблгы
l_| lirnT-rirwu J4OT-tp
q tjiwe-j и пауюрж-а
Си Wwr™
РАЗЛИЧИ I* Ы* <цт»л6ы, 1	3d ПИИ* vpdMdH*’ и
itirtx HfiuMCii'KHuai елСЖпУш
НПВЫР Rb3HflHtHOrr« этого пыпугхл
Нныа
Jmrui oiwnvcr*
|J им данных
LL От“»гн
сгггжйи, Э QaXrqM и K-XU
t *, ВирГулпычАч net*
r Где чю кыкуднгсн n<i маил пирыле?
Гдг ыявди11» са^леэдояик	Т
Рис. 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 Имеется
82
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
возможность управления пространствами имен, с помощью которых пользователь может именовать облачные приложения. Информация представляется в виде таблицы. Интерфейс позволяет управлять ее столбцами.
83
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
О Windows .Azure Pla tform
it uwittwb*
J KJW
Zj1 Глагчм
PJJHOUKIFUIW* слупбы, M УЧСГМЛ записи jpXMJH*’ и uctb itHVH&YH'HUHJ tncmrtxi#
|| Бан данных
ОГч^гы
Ш*Й СЛхвйм, ЛГСЧЛ
** COWjгЫ и K>ji
t *, ВирГулпьиЛч ntt*
ГцИоФФ- О <Х" ж ЧЫ=тХчн**Р Й"М™ти».
Рис. 5.5. Обращение к Windows Azure AppFabric Access Control
5.7.	Анализ информации о размещенном сервисе
На рис. 5.6 представлен интерфейс для управления размещенным сервисом. В качестве примера взят простой сервис, разработанный автором курса. Имя сервиса - safonov-test2, в нем одна web-роль (то есть одно Web-приложение, в виде которого он реализован). Windows Azure Pass - это академический доступ к Azure, любезно предоставленный на полгода автору курса и его ученикам, за что автор выражает искреннюю благодарность уважаемым коллегам из Microsoft Research и из российского офиса Microsoft.
84
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рис. 5.6. Просмотр информации о размещенном сервисе
5.8.	Анализ информации о работоспособности
развернутого приложения
Azure AppFabric позволяет анализировать информацию о работоспособности развернутого в облаке приложения - подписках (доступе), на основании которых оно работает; worker-ролях (т.е. процессах), запущенных в рамках приложения. Соответствующий интерфейс представлен на рис. 5.7.
85
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Windows Platform
U L/r.lil	jtT
s umwotMh а или
Windows Afar® ApgFjbric утр ypoX'W'ioxw.Ji1	nnitfccfHu ПО
Слрдпкя 11 рр^урги
Плкс1Ы SDK
v6LTf>MtW4i'M йрк.пуч<чий у Window, Alyrq Pitfari*!. Ui'J yriKHWr ПАлкЛйТку, (ItJrillV» аисСлв^^иИтМил” «614-1 urn iCizfii а рань ль ЧлзЛДи-им "С1Ллг|1мл1лл ые Сл/ж^Ч’ LPjJS) у	< jHjniJnOri йСчхеыг-нчгл!
ДррЬлЬлС,
ГллгЬ|Лн
PajHBiijflHHUi: службы,
[И T4*T>*<* ??П|ЧМ ПрЯМИМЧ и сеть raiuripvHW* свряврм
1Ч)ипсшЬ1иА С облачней Средой тйГрсдс^вйн бМоПлсыоГй (чХаипсий». ч* ив*»спи^яги от «точки: и гасгр>ф|*чяо-и/ о-рачичмчиА, и риалктугг <ии,ЛЛео^ЪчнЬ'1й мййуП» СйЧьЛбОтхи дЛя WiftdOai AAlffr n WlMdwi Зич-»!-.
Ha»c»H?J, учм Гцк^лдысг	pjjyj5p:HM. voo/H'-n^w1 ',W«i*>
<tx.rpabww POn Ппвооенгл <олПГН!яс|*т»у пДОарепий, и уйрощйеГ
U^tiiунимииу а0пп^«р|ий Ди Счуг Hry'rtu'vRJuj.irii' гЧч*1п',пду<г1у ivuiCi.lt-rS'jh.-rrtkJ nCidrpa/o*iLrt o&hiJlilHrf-.iHil и ьбсруДОлАпия
Wind&w*. [Cirillllv f-BuiTdntiiyi - ytti	й.1* рШи)Аиии
vjwarxnipow™ IM ютчцт iHWwAC'Mii
у |'СитлО<1С|111ит
.Pyjч.'-МДflip 1,|Гкчг  х^жЛ/ч hf'PPHP'THf гу«Ии $1*>J
рГкт плио'мя SDK I'lpftic’ytinyw пуяТнчпи, -Пр4*носи и ипСГтг/^VVi ну УСПйл*яи4ниОСпужВ ityjF<iKrt! D ДРТГЖ Ььлвгфсрнлт
|J Ey>j дчишн’
QlMtffW
Шжнд-слумйк, 4(ИИ
Jj* Cjimtrtd и Кчщ
A 4 B*iPIV*n**l*-4 C^rir
В Спо/* »руй№ WindCws Алий Apu^jbcic гтотьм ч*к!и /вадэтичнг! нои«Гги
H ОвИВЛАНЛЛ.
Сведении о п|ин:г|>1нп«** имен службы АрАГеЬПс
Lr>-мАК гйрвглблс СЛМСНы Фб«Л¥ЖР«ТЪ HWHBlTb.’IC' мзаичывшй —
ГЛ1ЛктНЛТ1>П1'.к/1Л»*гТЫ «ЯНОСТНу ЩУЬчПкТрЧЛ прлдпугаоимя кСрГ-ОрМДИАЙ
Майкрософт ЕЛДОВш. Клиенты «МЛИР.^’С’ О5'|ТГ отддуп flo ссое^ахвнилн
Ечвгум4нпс<и м иго/гтс^и'-'рС'и гисГмшении t-«rc»i Дчм кт ттньгьпььчмл
Докунеы iciiHR
ПЬлСобяи*- евОдгн.™ О ncK/rejfritri шГЦ'йгё фТ/жй ДДрГлСитс НОИНО найсм е Ут1ГЦтуг р (KolvOifl
ЧлЦц?н*лу дпч Hjui>4 Р>50Ги t «И-Ь и ^ЛрауСчию
й цянтр» глчяВстиигйж пр*дцтля.л»ни. ссылки мл гнхтпирз
Рис. 5.7. Просмотр информации о работоспособности развернутого

приложения
5.9.	Резюме
Azure AppFabric - уникальный мощный инструмент для работы с облачными приложениями Azure, имеющий достаточно удобный Web-интерфейс. Не будем забывать, что все это реализовано на основе платформы .NET, то есть обеспечивается надежность и безопасность кода. Важно также подчеркнуть, что система открыта для использования средствами других технологий и языков, например, Java.
Ключевые термины
Azure Fabric Controller - сервис, который осуществляет мониторинг и предоставляет виртуальные машины для исполнения облачных приложений
Web-роль - интерактивное .NET - приложение, обслуживаемое IIS, -
86
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Web Application или Web-сервис Windows Communication Foundation (WCF).
Worker-роль - независимый изолированный фоновый процесс. Предоставляются способы доступа к нему со стороны внешних приложений.
Private (On-Premise) - частное облако; клиент-разработчик ПО управляет всеми перечисленными компонентами;
Infrastructure-as-a-Service (laaS) - облако вида инфраструктура как сервис; клиент-разработчик ПО управляет приложениями, средами поддержки выполнения, механизмами безопасности и интеграции, базами данных, всеми остальными компонентами управляет поставщик облака (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.
87
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows 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 позволяет управлять информацией о размещенном в облаке сервисе и информацией о работоспособности развернутого в облаке приложения.
Набор для практики
Вопросы
1.	На какой платформе базируется реализация Azure?
2.	Что такое Azure AppFabric?
3.	Что такое Bus Service?
4.	Что такое Access Control?
5.	Что такое Cache?
6.	Что такое частное облако, облаю типа laaS, PaaS, SaaS?
7.	Какие основные действия над облачными приложениями позволяет выполнять веб-интерфейс AppFabric?
Упражнения
1.	Разработайте свое первое облачное приложение, используя
88
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
информацию, предоставляемую пользователю Azure.
2.	Выполните развертывание разработанного облачного приложения.
3.	Проанализируйте состояние облачного приложения с помощью веб-интерфейса AppFabric.
Темы для курсовых работ, рефератов, эссе
1.	Архитектура Azure AppFabric (реферат).
2.	Обзор возможностей обращения к AppFabric средствами Java-технологии (AppFabric SDK) - реферат
3.	Анализ производительности работы Windows Azure на основе собственного опыта его использования (эссе).
89
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Windows Azure Storage
В данной лекции рассмотрены следующие вопросы: архитектура Windows Azure Storage - основной компоненты Windows Azure для управления памятью и хранением информации в облаке.
Цель лекции: Ознакомление с Windows Azure Storage - основной компонентой Windows Azure для управления памятью; с компонентами самой Azure Storage и их возможностями для пользователей.
Презентацию к данной лекции Вы можете скачать здесь скачать: http://old.intuit.rU/department/se/pmsazure/6/Azure_course_6.pptx.
6.1.	Введение
Windows Azure Storage - компонента для управления памятью в Windows Azure.
Компонента Windows Azure Storage Services обеспечивает устойчивое и надежное хранение информации в облаке.
Для доступа к сервисам Storage необходима учетная запись хранения (storage account), обеспечиваемая через Windows Azure Platform Management Portal.
Основные сервисы памяти включают:
•	Сервис Blob (Binary Large OBjects) для хранения текста или бинарных данных
•	Сервис Queue для надежного сохраняемого обмена сообщениями между сервисами
•	Сервис Table для работы со структурированной памятью, к которой можно обращаться по запросам.
Windows Azure SDK предоставляет REST API (REST, Representational State Transfer - один из стандартов разработки Web-сервисов, основанный на передаче информации о состоянии через аргументы и результаты методов) API и управляемый (managed) API для работы с сервисами памяти (managed API означает, что возможен доступ к Storage из .NET-
90
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
приложений, см. главу 4). Доступ к сервисам Памяти возможен из сервиса, выполняемого в Windows Azure, или непосредственно через Интернет из любого приложения, которое может посылать и принимать данные по протоколам HTTP/HTTPS.
Более подробная информация о REST API для сервисов памяти приведена в документе Windows Azure Storage Services REST API Reference. Информация об управляемом API для сервисов памяти приведена в документе Windows Azure Managed Library Reference.
6.2.	Основные возможности Windows Azure Storage
•	- Binary Large Object (BLOB) Service, простейший способ хранения бинарных данных в Windows Azure.
•	- Table Service - поддержка работы с таблицами
•	- Queue Service -поддержка надежного обмена сообщениями между экземплярами Web-ролей и Worker-ролей.
•	- Windows Azure Drive позволяет приложениям для Windows Azure смонтировать Page Blob на отдельный том файловой системы NTFS VHD.
6.3.	Преимущества Windows Azure Storage
Устойчивость к ошибкам и встроенная сеть CDN
Вся пользовательская информация, хранящаяся в Windows Azure, дублируется три раза. Независимо от того, какую память использует клиент облака, его данные дублируются в нескольких дублирующих областях (fault domains), что обеспечивает большую устойчивость к ошибкам. Windows Azure ссылка: Content Delivery Network (CDN) -http У/www. microso ft.com/windowsazure/features/cdn/	обеспечивает
интеграцию "в один клик" с сервисами Памяти (Storage). CDN естественно улучшает производительность, автоматически размещая информацию пользователя поблизости от того места, где она наиболее часто используется.
REST и Managed API
91
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
В дополнение к сервисам Памяти Window Azure для приложений пользователя, выполняемых в Windows Azure, она также может работать с приложениями, выполняемыми на локальной машине или на другой облачной платформе. Скачайте SDK, чтобы получить как REST API (программный интерфейс без состояния), так и управляемый API для работы с сервисами Памяти. Более подробно REST API описан в документации ссылка: MSDN - httpy/msdn.microsoft.com/en-us/library/dd179355. aspx.
6.4.	Некоторые особенности предоставления сервисов Windows Azure. Storage
Объем использованной Памяти в Windows Azure вычисляется на основе Вашего использования ее в среднем (в течение какого-либо оплачиваемого периода какого-либо двоичного объекта, таблицы, очереди, либо Windows Azure Drive storage. Например, если Вы использовали 10 ГБ Памяти за первую половину месяца и ничего не использовали за вторую, Вам предъявят счет на использование (в среднем) 5 ГБ Памяти.
В СТР-версии Azure предоставляются три сервиса Памяти - таблицы (tables), очереди (queues) и бинарные объекты (blobs). В коммерческой версии они объединены под сервисами блокировки и кэширования. Они функционируют под управлением Azure Fabric.
Каждый сервис имеет программный .NET API и HT1P REST API. REST-узлы сети имеют следующий формат имен:
.[storage,blob,queue],core.windows.net.
Имеются также утилиты командной строки для разработки и сопровождения данных на стадиях их разработки и сопровождения.
6.5.	Таблицы
Возможности.
Таблица - это структурированные, не требующие описаний в виде схем,
92
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
масштабируемые хранилища данных, похожие на хранилище данных Арр Engine. Последняя является распределенной системой, которая по стилю проектирования очень похожа на Bigtable. Она рассчитана на хранение миллиардов объектов и терабайтов данных.
Модель сущности в таблице
Каждый объект имеет имя таблицы и набор свойств вида ключ / значение. Явное представление информации о схеме данных не требуется. Ограничения на объекты: максимальный объем - 1 МБайт, максимальное число свойств - 255.
Поддерживаются следующие типы свойств:
•	строка (string)
•	двоичный объект (binary)
•	целое число (int)
•	длинное целое (long)
•	булевское значение (bool)
•	вещественное двойной точности (double)
•	глобальный идентификатор объекта (guid)
Имеется три специальных свойства: ключ раздела (partition key), ключ строки в таблице (row key), и версия (version).
Ключ раздела идентифицирует раздел, т.е. группу объектов, которые должны храниться вместе. Ключ строки идентифицирует объект в разделе. Совокупность (ключ раздела, ключ строки в таблице) является первичным ключом (primary key) для объекта. Ключ раздела и ключ строки оба являются строками размера до 64 КБайт.
6.6.	Очереди к таблицам
Кроме стандартных операций, таблицы поддерживают некоторую ограниченную форму очередей.
В СТР-версии поддерживается только отношение равенства для ключей с одним или несколькими свойствами. Результат выдается в
93
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
лексикографическом порядке, в соответствии с ключом (partition, row). В коммерческой версии поддерживаются вторичные индексы, определяемые пользователем, для сортировки.
API для запросов из программ использует LINQ - упрощенный язык запросов, аналогичный языку запросов GQL, реализованный в Google Арр Engine. Н11Р REST API использует интерфейс Astoria, основанный на использовании URL-адресов для обращения к сервисам для работы с данными ADO.NET.
6.7.	Целостность и транзакции
Таблицы Azure полностью целостны, обращения к одному объекту строго синхронизированы, отсутствуют "dirty reads". Для работы с каждым объектом поддерживаются транзакции в стиле ACID (Asynchronous, Consistent, Isolated, Durable - известная парадигма для описания транзакций).
6.8.	Реализация таблиц
Таблицы спроектированы аналогично хранилищам данных Bigtable and the Арр Engine.
Разделы (partitions) аналогичны блокнотам (tablets) Bigtable. Все объекты в разделе хранятся на одном сервере данных.
Транзакции реализованы аналогично Арр Engine datastore,. Используется управление версиями объектов.
6.9.	Запросы. Возможности
Очереди аналогичны Amazon SQS. Они позволяют поставить сообщение в очередь и обрабатывать его позже, в слабо связанном виде.
Операции над очередями во время выполнения: enqueue (поставить сообщение в очередь), dequeue (удалить сообщение из очереди), delete (удалить из очереди все сообщения). Сообщения типизированы, их
94
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
размер - до 8 КБайт.
Операция dequeue использует займы (lease) - средство синхронизации. Займ позволяет в течение определенного заданного интервала времени удерживать сообщение в состоянии, не видимом другим клиентам очереди. По умолчанию время завержки - до 30 секунд.
6.10.	Бинарные объекты (Blobs)
Сервис blob служит для хранения "непрозрачных" бинарных объектов. Они аналогичны Amazon S3. Бинарные объекты могут создаваться и обрабатываться программным путем. Бинарные объекты идентифицируются уникальными, мнемоничными путями доступа в виде URL-адресов типа:
<account> .blob. core .windows.net
Размер бинарных объектов можнт быть до 50 ГБайт. Блоки до 64 МБайт могут обрабатываться непосредственно, большей длины - должны быть разделены на блоки. Каждый блок закачивается на сайт отдельно. В конце операции проверяется, все ли блоки закачаны.
Пространство имен для бинарных объектов - это иерархический URL-путь вида:
<account>.blob. core.windows.net
Бинарные объекты можно изменять или клонировать, они не являются неизменяемыми.
6.11.	Личный опыт автора
Рассмотрим основы работы в Azure Storage.
Для начала работы необходимо выбрать в левом верхнем углу основного окна пункт Создать учетную запись хранения (рис. 6.1).
95
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Jr GuglL-	- •Jru.Hu-	|MUI 4, -
-	4," J/rti jtMdl НосЛгтъ<Л-ь — r'^rtiir^k - jZ^Up^i^r уУпи Irr^berHuw “ Ф1 F.V-Lii-n^T - 1 ] M4d - F.lj Fj Nn~>
Рис. 6.1. Начало работы с компонентой Storage: создание новой учетной записи хранения
Выбирается имя учетной записи.
Затем выбирается территориальная группа (рис. 6.2), где будет осуществляться хранение данных.
96
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
* l.Lf jj!e	- ‘'Jnuilli-	. Вс-'Л Д-
-	4." Wth	-Нск+ггиАъ — P ^v-riirvp — LFfJttr yi*n^ IffjMrHtw - ф< Mrijm^r- ' Jbtel -	Fj -Hrw-> -
Рис. 6.2. Выбор территориальной группы
Выбирается подписка для выделения квоты на создание учетной записи хранения (рис. 6.3).
97
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
. Widows Azure PlatfOTTi
УИП-Ыв ЩЛНЗЧ ИНН8НЛ1
(J Lin данных
о Главная
cjtjumj,
ВнрГ* апыч£ч ей Г»
Рис. 6.3. Выбор подписки

1_|	групгь
а Счтфжаты управляй i_l РалЧЩЦ.'НМнЧ У|,|еийч
WineiWrt Alurn PUa
Li уттмаганч iTitvjooJiwi
litTb.	Crp№0O*|
tAywilu, iKOKl
Новая учетная запись хранения может быть создана из контекстного меню (рис. 6.4).
98
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
HJM41 CftpidlJ, Att/fJi
Рис. 6.4. Создание учетной записи хранения из контекстного меню
l_|	1ИТЯ>
а	утцвалечИ!
Ll PJjhvuwvhw Ut'ir«tV
ВирТ>*пыч£ч свГ»


Вводится URL-адрес новой учетной записи (рис. 6.5, рис. 6.6).
99
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Рис. 6.5. Ввод URL-адреса новой учетной записи хранения
100
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Рис. 6.6. Ввод URL-адреса новой учетной записи хранения (выбор имени)
Выбирается область или территориальная группа для учетной записи хранения (рис. 6.7).
101
Рис. 6.7. Выбор области или территориальной группы
Наконец, новый Storage account создан (рис. 6.8).
102
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рис. 6.8. Storage account создан
Проверяется пользовательский домен, в котором будут храниться данные (рис. 6.9).
103
Рис. 6.9. Проверка пользовательского домена
Домен в учетной записи хранения создан (рис. 6.10).
104
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рис. 6.10.
6.12.	Резюме
По личному опыту автора курса, модель и реализация компоненты Storage весьма интересны, однако реализация требует тщательной отладки. Далось создать Storage account с URL-адресом saf.core.windows.net. Пока на данный момент, к сожалению, не удается поработать конкретно с указанными видами Памяти (информация по состоянию на сентябрь 2011 г.)
Для пользователей наиболее важно понимать при работе с компонентой Storage, что каждый элемент Памяти Azure - фактически Web-сайт, а не данные в основной памяти компьютера и даже не база данных.
Насколько удобен для пользователей подобный подход, покажет опыт.
Ключевые термины
Windows Azure Storage - компонента для управления памятью в Windows
105
Платформа облачных вычислений Microsoft Windows Azure
В.О. Сафонов
Azure.
Binary Large Object (BLOB) Service, простейший способ хранения бинарных данных в Windows Azure.
REST, Representational State Transfer - один из стандартов разработки Web-сервисов, основанный на передаче информации о состоянии через аргументы и результаты методов
Table Service - поддержка работы с таблицами
Queue Service - поддержка надежного обмена сообщениями между экземплярами Web-ролей и Worker-ролей.
Краткие итоги
Подсистема Windows Azure Storage предназначена для управления памятью в Azure. Ее основные компоненты:
•	Binary Large Object (BLOB) Service, простейший способ хранения бинарных данных в Windows Azure.
•	Table Service - поддержка работы с таблицами
•	Queue Service -поддержка надежного обмена сообщениями между экземплярами Web-ролей и Worker-ролей.
Для взаимодействия с ними (как с Web-сервисами) предоставляется REST API (REST, Representational State Transfer - один из стандартов разработки Web-сервисов, основанный на передаче информации о состоянии через аргументы и результаты методов).
Для создания учетной записи хранения в Azure (Storage account) необходимо задать ее URL-адрес и использовать подписку на Azure с достаточными квотами. Необходимо создать домен в учетной записи хранения.
Набор для практики
Вопросы
106
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
1.	Что такое Windows Azure Storage?
2.	Что такое Blob Service?
3.	Что такое Table Service?
4.	Что такое Queue Service?
5.	Что представляют собой компоненты Blob, Table, Queue Services?
6.	Какой стандарт Web-сервисов используется для взаимодействия с компонентами Storage?
Упражнения
1.	Изучите документацию по Azure Storage в MSDN
2.	Изучите документацию (help) по Azure Storage внутри самого облака Azure.
3.	Практически изучите возможности Storage на данный момент. Проверьте работу всех компонент - Blob, Table, Queue.
Темы для курсовых работ, рефератов, эссе
1.	Архитектура Azure Storage (реферат).
2.	Архитектура и реализация Azure Storage Blob Service (реферат)
3.	Архитектура и реализация Azure Storage Table Service (реферат)
4.	Архитектура и реализация Azure Storage Queue Service (реферат)
107
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Windows Azure Compute
В данной лекции рассмотрены следующие вопросы: архитектура Windows Azure Compute - основной компоненты Windows Azure для управления вычислениями в облаке.
Цель лекции: Ознакомление с Windows Azure Compute - основной компонентой Windows Azure для управления вычислениями; с компонентами самой Azure Compute и их возможностями для пользователей.
Презентацию к данной лекции Вы можете скачать здесь скачать: http://old.intuit.rU/department/se/pmsazure/7/Azure_course_7.pptx.
7.1.	Введение
Windows Azure Compute - компонента для управления вычислениями в Windows Azure.
Компонента Windows Azure Compute предоставляет разработчикам платформу для размещения и управления приложениями, выполняемыми в центрах обработки данных (ЦОД) корпорации Microsoft.
Архитектура компоненты Compute изображена на рис. 7.1.
108
Рис. 7.1. Архитектура Windows Azure Compute
7.2.	Роли
Приложение в Windows Azure строится из одной или более компонент, называемых ролями. Сразу отметим некоторую терминологическую путаницу: в .NET термин роль означает совершенно иное - группу пользователей с определенными полномочиями. Это вызывает определенные трудности при начальном ознакомлении с платформой Azure, которая как раз и реализована на основе .NET. Итак, подчеркнем еще раз: в Azure, в отличие от .NET, роль - это программная компонента приложения.
Роли в Azure бывают трех различных типов: Web-роль, Worker-роль, и роль Virtual Machine (VM). Такая классификация адекватно отражает различные архитектуры программ: Web-роль - это Web-приложение (как правило, ASP.NET - приложение); Worker-роль - это обычный независимый процесс; VM-роль - это приложение (задача), исполняемая в своей отдельной виртуальной машине.
Windows Azure Web-роль используется для хостинга web-приложений, использующих Internet Information Services (IIS). Worker-роль может выполнять любое приложение, но обычно используется для хостинга фоновых процессов для web-роли. Windows Azure Web- и Worker-роли
109
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
предоставляют разработчикам возможности для развертывания и управления программными сервисами, выполняемыми в той же виртуальной машине. Для всех приложений общепринятым методом взаимодействия является взаимодействие через Web-роль, а затем распределение задач в виде Worker-ролей для их решения.
Разработчики свободны в принятии решения об использовании .NET Framework или другого программного обеспечения в среде Windows в качестве Worker-роли или Web-роли.
7.3.	Функции и преимущества Windows Azure Compute
Удобство для хостинга приложений. Благодаря тому что Windows Azure Web-роль предконфигурирована для использования с IIS 7 (Internet Information Service 7), облегчается создание приложений, использующих ASP.NET, Windows Communication Foundation (WCF) или другие web-технологии. Разработчики могут также создавать приложения, используя такие языки, как РНР и Java.
Акцент на обработке приложения, а не на ограничениях функциональности. Автоматическое управление сервисами предоставляет пользователям Windows Azure следующие преимущества:
•	Администрирование: Windows Azure автоматически выполняет следующие функции, такие, как балансировка загрузки (load balancing) и обработка ошибок, тем самым уменьшая трудоемкость и стоимость администрирования окружения для запуска приложений.
•	Доступность: Windows Azure реализована для того, чтобы предоставлять пользователям доступные приложения всегда, даже в случаях обновления ПО или сбоев оборудования..
•	Масштабируемость: Windows Azure дает пользователям возможность построения масштабируемых приложений, выполнямых в центрах обработки данных Microsoft. Она также позволяет пользователям уменьшать использование ресурсов, если это необходимо, давая им взможность использовать в точности те ресурсы, которые им необходимы.
по
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
7.4.	Использование Windows Azure Compute c помощью Web-интерфейса Windows Azure
В данном пункте описана практическая работа в Windows Azure с целью тестирования и использования компоненты Windows Azure Compute.
Войдем в облако ссылка: https://windows.azure.com https://windows.azure.com/.
Основная страница Web-интерфейса изображена на рис. 7.2.
in
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
L.J Нэидлр (Ч&п*
Cj rrflWiVQ Д4ЛГ-П* q ирмла и гкьздержтз i_| rtpXwrrry
Н[1ИС туп-гкн Н |м(нпе С НОНЫН IIIlfllcITIIlM
ВЗ Новые ПЕНИЛ *.ноггм этого ВЫПУКЛ ф
ПМкИ 91 И1Щ>и
Звнепл о «пут
13[1ИГ EyiTciH К раСнПСЕ W1 ndciW4 Л/11ГГ
Уилипикл икс срунгнтпм LViiieIhwii Arurr
глмнал	Й
PJ-wimjtHji'irw» слуяби, I гчеГмич за пик* 'рйм»щ и
ECt-». XjHkW&TMlutrtX trOnriXir
|| Бан данных
Опчиты
шина слгжйи, ««я
Л* CSnfnJJ И KJO1
Ь, *, Биргтлпычхч сиг*
ГцИоФФ
Выполнсннс общих задач
Ссздж-ue нмсА	оптб™
Q Гоп длине пер пот покаянного гфнллжаннп Winrinw'i Azure
Vknl^lr. ЯЖ ДОд tba	ASP BfT	Wrfatbal AfiX*  SlAAMl
Hn a
M Развертывание и запуск приложений WllTEfowsAzure
Kj-HJrt, КМ «1ИС+КТ» И ДвК,1СПЛ>ЗЙЧк1ЯМ п₽ип?исния p WllHftWl	T
Рис. 7.2. Основная страница Web-интерфейса Azure
» гамд«р«жл
Для активизации Web-интерфейса Azure необходимо кликнуть ссылку 'Размещенные службы, учетные записи хранения и сеть кэширующих серверов" в левой части страницы, под надписью "Главная".
При клике на данную ссылку возможна задержка, так как обновление информации о размещенных службах Compute выполняет через некоторый временной интервал, в текущей версии Azure (сентябрь 2011 г.) - 30 секунд.
На рис. 7.3 изображена основная страница Web-интерфейса Compute, на которой представлена информация о работоспособности развернутых в облаке приложений данного пользователя.
112
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
О W ndows Алис Pla tf опт
Рис. 7.3. Основная страница Web-интерфейса Compute :Информация о
развернутых приложениях
На странице представлена информация об имеющихся подписках (доступе к Azure), развертываниях и экземплярах пользовательских приложений. Дана информация об их состоянии. Небезынтересно предупреждение, воспроизведенное в столбце Подробно: оно рекомендует в целях надежности иметь по крайней мере по два экземпляра (объекта) каждой роли, на случай, если текущий исполняемый экземпляр даст сбой.
На данном практическом примере хорошо иллюстрируется и становится понятным пользователю Azure концепция роли: роль - это не экземпляр приложения, а само приложение, которое может быть запущено в нескольких экземплярах. Один из экземпляров может дать сбой, и тогда данная роль перепоручается другому экземпляру того же самого приложения. Это отнюдь не означает ненадежности Azure. Это - просто типичный подход к разработке и использованию серверного ПО: на облачный сервис публичного облака нагрузка может быть очень велика (до нескольких миллионов обращений пользователей одновременно), поэтому в облаке всегда должна быть предусмотрена возможность взаимозаменяемости аналогичных друг другу экземпляров ролей (серверных приложений).
из
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
7.5.	Резюме
Компонента Windows Azure Compute предоставляет удобный и достаточно надежный интерфейс для управления приложениями, отражающий потребности серверного ПО.
Более детально практическая работа с использованием компоненты Compute рассмотрена в Лабораторной работе 2.
Ключевые термины
Azure Compute - сервис Windows Azure для управления вычислениями в облаке.
Web-роль -Web-приложение (как правило, ASP.NET - приложение) в облаке
Worker-роль - независимый процесс в облаке
VM-роль - приложение (задача), исполняемая в своей отдельной виртуальной машине.
Краткие итоги
Подсистема Windows Azure Compute предназначена для управления вычислениями в облаке - развернутыми приложениями. Приложения представлены в виде ролей: Web-роли - это Web-приложения, используемые для взаимодействия программных компонент; Worker-роли - это обычные независимые процессы в облаке; VM-роли - это процессы, в которых запущены виртуальные машины.
Compute предоставляет достаточно удобный Web-интерфейс для визуализации информации о запущенных приложениях, их статусе, для управления ими (приостановке и т.д.). Эти средства аналогичны пользовательскому интерфейсу обычной ОС для управления пользовательскими процессами.
Отличительной чертой подхода Azure является то, что рекомендуется, в
114
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
целях надежности, иметь по нескольку экземпляров каждой роли, так как код исполняется на облачных серверах, число обращений к которым может быть весьма велико.
Набор для практики
Вопросы
1.	Что такое Windows Azure Compute?
2.	Что такое Web-роль?
3.	Что такое Worker-роль?
4.	Что такое VM-роль?
5.	С каким серверным ПО для Интернет-взаимодействия сконфигурированы Web-роли?
6.	На каких языках возможна реализация Web-ролей?
7.	Каковы преимущества автоматического управления сервисами в Azure Compute?
8.	Каковы рекомендации относительно числа экзепляров каждой Web-роли?
Упражнения
1.	Войдите в облако Azure и поэкспериментируйте с web-интерфейсом Compute
2.	Получите информацию о работоспособности развернутых приложений.
3.	Попробуйте кликнуть на надписи Активно. Не возникло ли при этом проблем?
4.	Попробуйте получить информацию о территориальных группах. Не возникло ли при этом проблем?
Темы для курсовых работ, рефератов, эссе
1.	Архитектура Azure Compute (реферат).
2.	Использование IIS 7 в Azure Compute (реферат).
115
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
3.	Web-роли и их реализация в подсистеме Azure Compute (реферат).
4.	Worker-роли и их реализация в подсистеме Azure Compute (реферат).
5.	VM-роли и их реализация в подсистеме Azure Compute (реферат).
не
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Web-сервисы в Windows Azure. Traffic Manager, Connect, CDN
В данной лекции рассмотрены следующие вопросы: Организация Web-сервисов и управление ими в Azure. Возможности компонент Traffic Manager (Управление трафиком), Connect (Соединения), CDN (Сеть кэширующих серверов).
Цель лекции: Ознакомление с организацией Web-сервисов и управлением ими в Azure, с возможностями компонент Traffic Manager (Управление трафиком), Connect (Соединения), CDN (Сеть кэширующих серверов).
Презентацию к данной лекции Вы можете скачать здесь скачать: http У/old. intuit. ru/department/se/pmsazure/8/Azure_course_8. pptx.
8.1.	Введение
Для организации облачных web-сервисов в Azure реализован целый ряд новых компонент. Среди них - Traffic Manager (Управление трафиком), Connect (Соединения), CDN (Сеть кэширующих серверов). Они облегчают работу пользователям облака и дают дополнительные возможности управления сервисами. О них и идет речь в данной лекции. Интересно, что набор этих компонент постоянно расширяется. Буквально каждый день в облаке появляются новые компоненты или модифицируются их части. К сожалению, академическая подписка на Azure не в полной мере дает возможность с ними работать, но, по крайней мере, в облаке доступна справка, дающая представление об их возможностях. Пользователям, интересующимся новыми возможностями, в том числе - указанных компонент, рекомендуем подписаться на тестирование их бета-версий (СТР - Community Technology Previews, и т.д.), которые становятся доступны в облаке сразу же по мере их разработки и появления. На рис. 8.1 изображена начальная страница справки и поддержки в облаке для новой компоненты Connect (необходимо активизировать пункты Подключить / Виртуальная сеть).
117
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Рис. 8.1. Начальная страница справки и поддержки в Azure для новой компоненты Connect (активизированы пункты Подключить / Виртуальная сеть).
8.2.	Соединения (Connect)
Компонента Windows Azure Соединения (Connect) предназначена для описания и обработки виртуальной сети. Позволяет настроить подключения между компьютерами в локальной сети и ролями (т.е. процессами), запущенными в Azure.
На рис. 8.2 изображена вторая страница справки и поддержки для компоненты Connect
118
Рис. 8.2. Вторая страница справки и поддержки для компоненты Connect
8.3.	Traffic Manager
Компонента Traffic Manager (Диспетчер трафика) предназначена для управления пользовательским трафиком своих сервисов в Azure в различных центрах обработки данных и визуализации информации о них. Под трафиком в данном контексте понимается распределение загрузки между различными, удаленными друг от друга, центрами обработки данных (например, ЦОД Microsoft в Редмонде, штат Вашингтон, США, и в Дублине, Ирландия), на компьютерах которых могут выполняться облачные сервисы одного и того же пользователя.
119
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Cj Windows AZLHPMdrfnfTTl	Пшглнгхвг.-м-то» Vl-im»h-4o1=mrr Н»>гЛ * О
j ГГщяГимШг
J ,ЬИСГ»ТЧв&
Вас приветствует диспетчер трафика Windows Azure Traffic
Manager
Ha	н>йта лодлнсси, О'Лк^мо-ыич дня #чег^тче|м тдо*деа rtlnis#? Атигв Чгв(ил»сг тетри [и;-мт>ея 
пр-эттаине ттстихиигти» лчттетиера rpotburj Wrakhw 4zurr нч2птит«1|йтЕ ршч ‘Просран< ипчоинир
PajMBiXfflHHUt елДОы, M учлть*** тлписи крякаимч и сеть -зшируннцн* вврвврм
jj fljMirv»
ЧТь-би нвстрРиГа jiUnirt и ГСЛстГиКv icij'etxoOi тйайчча iTfilT-^ Нв4чаЛ1г BH>WMHTt С«Г|Лйии<| яети^гаттй,
I Рам>аинн1е ринеи*енкыа еяунсби в po6chbJ <т<ле
2 ВалОврмта ме-тод «алаисигаанм TiarpyiKH.
Шина tinyirtHj, Accari
** Gintnjl и Пли a * 5иргуйп>-ия rjrh-
OhTiblMD
Рис. 8.3. Первая страница справки и поддержки компоненты Traffic Manager
8.4.	Виды балансировки нагрузки в Traffic Manager
На рис. 8.4 изображена вторая страница справки и поддержки для Traffic Manager, содержащая информацию о принципах балансировки нагрузки сервисов, которые (принципы) в некотором смысле аналогичны принципам распределения ресурсов в операционных системах (например, Round Robin - поровну по очереди, "по кругу").
120
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рарищвнны» tnywJw, >*J*П*<* 1ЯЛ1КМ	и
сшъ ’зи.нруюшх мрмрм
U bJjJflJKirv
Рис. 8.4. Вторая страница справки и поддержки компоненты Traffic Manager
u. Акютнр И
8.5.	Размещенные службы (Deployed services)
На рис. 8.5 изображено уже хорошо знакомое нам по другим лекциям визуальное представление информации о размещенных службах (deployed services). Например, для облачного сервиса saf-test2 указан список его ролей (Web- и рабочих ролей), состояние (хранится во временной облачной памяти), DNS-имя, конечные точки (сетевые протоколы и сетевые координаты) для взаимодействия.
121
Рис. 8.5. Представление информации о размещенных службах в Azure
8.6.	Обновление параметров операционной системы
для выполнения сервиса
Предоставляется возможность средствами Azure обновить параметры ОС для выполнения сервиса (рис. 8.6). Как правило, в Azure на машинах ЦОД используется в настоящее время (сентябрь 2011 г.) серверная ОС Windows 2008 Server Release 2.
122
Рис. 8.6. Обновление параметров операционной системы для
выполнения сервиса
8.7.	Настройка столбцов таблицы представления информации о сервисе (добавление информации о гостевой ОС и др.)
Вид информации о сервисах, выдаваемой в облаке, можно настроить (рис. 8.7).
123
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
D Windows Алле Platform
iWwEw(l)
ipfl:. rz>w fri1 Ki Uu nc
-ОСТСЧЧ11Ч-
Шни» елФ>с>ь> conmu и кз-ш
Рис. 8.7. Настройка столбцов таблицы представления информации о сервисе (добавление информации о гостевой ОС и др.)
2j Упсйжпекл»  нУълс«-ьп«
J 1<ИМ’ЧЖЛ*ГНЦЛ| ГИ1К1И
3 Capn*t«»jnj учришямля.





8.8.	Результат настройки визуализируются в таблице
столбцов:	они
В результате настройки столбцов мы получили иной, удобный нам внешний облик информации о своих облачных сервисах (рис. 8.8).
124
Рис. 8.8. Результат настройки столбцов: они визуализируются в таблице
8.9.	Территориальные группы для выполнения сервисов
пользователя
Для выполнения сервисов пользователя в Azure могут быть созданы территориальные группы, дислоцируемые в любом регионе мира (рис. 8J).
125
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Cj Windows Platform
Рис. 8.9. Территориальные группы для выполнения сервисов
пользователя
8.10.	Управление пользователями
Имеются базовые возможности для управления своей учетной записью как пользователя Azure, своими подписками и другими ресурсами (рис. 8.10).
126
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Windows AzurePlaritHTTi	ей	в»»л * Q
Ин*	HUbAUCTviH
'_-0_bk'aot>-<i3^il,r,Ui {ItaJ Iffindoin Axurn (61)1й1ЛК£4*	cnpcfi
Рази HUB H HUE «Л'РЙЫ, 1ЛПИСМ YpikJHw»» И ' сеть яц.иртющи*' tepeipM
[J	flJHl'V»
yiUtjFlH
tp>wa cnywdu, iKCOR* CdntrtJ H Kill
> *. !>1Р^Лпн-*.Ч ДГ1
Рис. 8.10. Управление пользователями
8.11.	Ограничение бета-версии на управление учетными
записями
В некоторых случаях (например, для новой компоненты CDN - Content Delivery Network) в подписку пользователя на Azure не включается право на использование данной компоненты, например, если она доступна только в бета-версии (рис. 8.11). В таком случае необходимо отдельно подписаться на тестирование этой бета-версии, что может быть затруднительно из-за большого числа желающих.
127
Рис. 8.11. Ограничение бета-версии на управление учетными записями


8.12.	Информация о размещенной службе и попытка обращения к CDN
В подобных случаях, когда подписка не включает права пользования той или иной компонентой (например, CDN), попытка обращения к этой компоненте вызывает сообщение об ошибке. Этому не приходится удивляться, так как Azure находится в состоянии непрерывного развития и совершенствования.
128
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Рис. 8.12. Информация о размещенной службе и попытка обращения к CDN
8.13.	CDN не включена в текущую подписку (требуется специальная подписка на тестирование бета-версии)
При попытке обращения к компоненте CDN из академической подписки выдается сообщение о том, что CDN в эту подписку не входит (рис. 8.13). Требуется доступ к бета-тестированию CDN.
129
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Рис. 8.13. CDN не включена в текущую подписку (требуется
специальная подписка на тестирование бета-версии)
8.14.	Управление пользователями и их подписками
Windows Azure Platform позволяет визуализировать свои подписки и управлять ими (рис. 8.14).
130
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
О Windows Azure PtarfrHTTl	Pl"*"-""	Пмг.яяягииг.чппп VWmrt-Sdcrm, Н>«|>и л О
[J &4>j

UJnwa ciwirfiM. Accftpi
Рис. 8.14. Управление пользователями и их подписками
8.15.	Добавление другого администратора (со-администратора, co-administrator)
Очень важной возможностью Azure является возможность добавления нового со-администратора (рис. 8.15) для своих облачных задач (рис. 8.15). Это позволяет, не раскрывая свой логин и пароль, поручить управление своим ассоипСом другому лицу (рис. 8.15).
131
j	1	ггал&л |^ |
а Гмритсо.ипь-и гиттии
jcepn^iv^pMW» v_e_ttfflmw<ff1wd.r—-'
Й	Q n,i4fo« *zini p “J
U Уче'чм *Ы|гел ьрйьчиич	Л Д«***>ть hOers кчш*л-1нп‘р*'гс₽*
J Тгтрдипр»*. пс<чгт»п.	.! *Н[Чitt!«	инн(ПИПТС**
। ГУчичы	шцг
Рис. 8.15. Добавление со-администратора
8.16.	Управление проектами для со-администратора
После создания учетной записи со-администратора ему можно
поручить выбранную Вами часть проектов (рис. 8.16).
132
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рис. 8.16. Управление проектами для со-администратора
8.17.	Настройка вывода информации об образах виртуальных машин в облаке
Имеется возможность настройки набора столбцов для вывода информации об образах виртуальных машин в облаке (рис. 8.17). В частности, можно включить в набор визуализируемых столбцов информацию о гостевой ОС (рис. 8.17).
133
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
£j Windows Azure Platform	ВМГ.Я1И-ПИГГЧГ™. VW.rtr'U.mrr "«'4 *
Рис. 8.17. Выбор столбцов для вывода информации об образах
виртуальных машин
8.18.	Контекстное меню территориальной группы (сертификата управления)
В рамках одной подписки можно создавать несколько территориальных групп (сертификатов управления) с разными именами. Контекстное меню территориальной группы показано на рис. 8.18.
134
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
' Windows Azure Harfnrm
j	fW*iu <
U СЯРП'ЛГЛТЫРЦМВМНН!1
CJ	.
q Учвтны «пнем
J >Гчм*Лсъ»»1Х*,^Х«'СЛя З «чшы ВИртр'ЛЛЫМГ ни
J № QUiVflOW" CW«V
ГЛлыаи
Wintfivnr Mjrt Ptti 1С*Л|*М
CMtftflHM
В лсР-J »*сп*США
Римььвнии* сдобы, >4>n*J* 1ЛПИСИ	и
сеть 'Зшируюии*' ирмрм
U (ь4>адим1>уг
РТч^Гу
ЦЗдча слуабм, Accasf
** tuintrd и Kxu
4 * 5ир^апн-*ч t^fb
Рис. 8.18. Контекстное меню территориальной группы
8.19. Выбор подписки территориальной группы
для
создания
новой
Для создания новой территориальной группы выбираем подписку, в рамках ресурсов которой новая группа создается - в данном примере подписка только одна (рис. 8.19).
135
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
о
£j Windows Лгите Harfnfrn
Тля.
1Ш	WrXlrln
ь1ПНчЧ>*Т<П«Ч (
j Учетные мигнем >₽анення
Л*пи»чй
э Образы вивтР1лы-ы^ май
Разнимнны* слушвы,
сеть -зширущщ^у cepeipM
Рис. 8.19. группы
Выбор подписки для создания новой территориальной
м

j dprw^rjiw управления

Ср* слшфугаци' WV«?
8.20.	Добавление новой территориальной группы (сертификата управления)
Добавляем новую территориальную группу (сертификат управления), указав выбранную подписку (рис. 8.20).
136
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рис. 8.20. Добавление новой территориальной группы (сертификата
управления)
8.21.	Создание двух территориальных групп
Указав имя новой территориальной группы, создаем ее. Таким образом, в рамках одной подписки созданы две территориальных группы (рис. 8.21). Это удобно, если требуется управлять, например, разными своими задачами в разных регионах.
137
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
1 Windom Perform
hi
Т«₽РНТЧ*1ЛЬНЬЦ вдпгц
Ммт> пшЛи
fityiruj <
а Учвтны* ал нем >ыненда
KKWJWC^n
j Сбраза вивт>'алы-«<м*ц
CPXi ющкфугацнг (Ц|Ж>
ГЛлДлаи
Размешан ни» слух® ы,
э С«₽п*гмм7ы>травмняя
Cj PS^«S33*.»«MA<yrk-wbt* (1)1
4 Myiwst
С.Тр*мЫ>вГнвм
-OCtCfflhlM
сеть auiHpTHHkH* серанюа
у*”35
ti WinCim» AiJrti F»U (Ml к*пнси ^ьэсмггоемшгаам пгнии
Рис. 8.21. Создание двух территориальных групп
Л' 'Arti$a#<'h [jJdMtmirtj* Г berliivjt - Д Upside	1w«fcir No*
Тип
8.22.	Информация обо всем, что создано в облаке под нашей учетной записью (За что боролись?)
В итоге наших экспериментов с управлением компонентами в Azure в данном курсе, визуализируем все, что создано нами в облаке под нашей учетной записью (рис. 8.22). Это размещенная служба и учетная запись хранения (см. лекции 5 и 6). Только что созданная вторая территориальная группа здесь не приведена.
138
Рис. 8.22. Информация обо всем, что создано в облаке под нашей
учетной записью
8.23.	А что есть еще? Информация (справка и поддержка) о службах AppFabric
На рис. 8.23 приведена справочная информация о других службах Azure AppFabric.
139
□ CnvTirf	лХ
LLJtHi УТ.'жбт»
Главнэл
Сведения о ’ 'тукнбол A*jpF<ibrk
Windora Ашre ippfitxir -г это ьлеС/лгчлчнцаи о6пнч|<<1» h;iirit>c0H* ПО rMftexwinwiJcrM, пмлназнч'гемнан дли wso*Sdth*if разматмнннл и {6сЛуИИ|ЫМИЙ 4^НЙОВ1Г|1"Й u WlndiTWl- Длим Fjtfrum Они Vl‘4K.4JJJi'r E*i,i(Li|5a'ri4yJ piwnin-i'* в*ацЁ>!н!1>рС*ин4ц4й нЮ'инйниглМ-м i рЛниак BifklflU/HUl 'Г1ЛЛГфчЧи^'» KiK CJi'inrfJ' tPi3S) S ДОЛ61Тийыил h! 'ичакСн-Лй «nXxTUrtrtiL^» начали Wiridovei Ат-иге Ста таг»» плаайпигт сс*иос™т> LymiacTaytRiiLW |фМП0К*ния с ойланней тдаодей Л|Хредспиж баютас^сгго гл»диь«н»1в, и* мв*нлц<агс1 от сетевых и гчк*р*±нчюлх вгн^ичыиЦ. в реализует яглкнванниа чодат» мзваЗопи для WindoiHb Аамге и MlnPowa Swm.
Справкун ресурсы
Пакеты S&K
Jrai ла»'*г 4йК содержит прогряннч и прйм*[чч для работы си щпрсбами
AppFabric
WindcihK [dAitity Fojrb±4iztn -» jmp пплтф-эр»> для рралигжцяи b'ACiCTcjfitpibHi-Tri Hi йСхСфД уГр^рдД*ннй а ГкрмЛйи^ iiHitx
Р$ЛЛЩЧ11И|Г>*< 4ц1тч6и,
ilytK X^hiehPy Hl щи х агСЛпХЧ!
НАхМац, спа ГкмыиПсТ эффткТивнеигП|. олибОпы, 'рТюЛжаива^ vpceciu*
йба^рлкции бри посТрогнни ч!<тпп*»Съих: ПрлГйжЛнлй и уПрац^тст сбслухиги^и» лрилпжамий ая сот исгиг>*зяа«и» гкж*»н'|1й4жгга йя.?см>м р,-|Ц:мпп,|ФТ’г'зы прзпнр?*1С*1Я1Амг*кеицр н «Мруддмннр
Ятя^.'-мдиЛстни* — чпятчкхнч*чн.и* i-uhvtxi ЯГИ'
fl ЗТПК ПпшГгаь SDK rXpcflCTajuWHfci праТккнны. припое*- и uncTpyxi^MH по ikcrtHA.Waiutik> служб tpcFibnC й jlPk'lM'l rVuif (iCtiMai
[J Бшданмх
Fi 6ncrf»i группьг WirriCiw*. >WW AppfatKiL hc>.ki н.*Дти /вядоигйния, взясстч и сйьяггллнт*
Д|>КУИШ111ЦШ1
lU*ii СЛу»«Ы. A«ft3
Синдяиин а прочтрлягтинх имя службы AppFpbrk
Гг.уибм ДррГа 1*1 t СПОСОС-<ы ОбСДужнв.-1'п, иРСкОТ»--'» [SiЪГн*р-гъч,।нй cdnv.HilVlf rylH нйнЬтТтч Сссп'лМ>и ИГГИ ИдсЛМГЛАтинл OCm->piu>iiHi МайкроссхЬт сл'ребр Ксилиты кгалиртцгав! друг zrr друг? по соо^оажрииян
Виргунпыч*.ч ей Г»
В urn-npw [tiKiajCiTMMrfif M’L&M П[1ЛДцТ»яляны la («л км ha ПШ1Я1И>'О
Рис. 8.23. Информация (справка и поддержка) о службах AppFabric

d кдщ
8.24.	А что есть еще? Сведения о пространствах имен AppFabric. Доменные имена
На рис. 8.24 приведена справочная информация о пространствах имен Azure AppFabric и о правилах образования доменных имен.
140
Vli^b-rdr 'winret Иытл-д. О
Windows Лги if Platform
tt Cny*fa управления ДОС T L11mpi> службу
kwttipicInfFTr'PM ritxWui^wtKO оЬвспешеник и СбсиТг^^омнии
Й Или
СПлыЛИ
("едении п притринггиах инны службы AppFebrk"
Г-гриОы Лрр£»Ьг< способны н*ят» иесюугжко рашярлыияий — ГоЛЛиЮПЛГгЛи кЛОиТти ССишцСтий иСЫЛкЛуДО прСдгиГ7Ин-1МЯ *ЮрпарАцИ|Ч1 Майкрософт йл'^Сче, Клиенты кзол иглист друг отдоуга го сoatoаханиям Сияя'-всжкги и нсоГнччинос'и йьк: г явлении и CHrtCB Дли к» у-ниильмий
pa ЙМЙИЛНйЫО йтумбы,
сеть отерт юти * ирмрм
5то СйЩЗва«%Ч ГНЙПЬИМТвЛЛМН УЯЛ4НИЯ, KCTTOCwO Вллкчакнся К' М"ОГИ* ЦЙ1 слуъб и упрмлйнияг £13рг*4р(о«ч* Arv^i}lrlL: Й сосгнетстяии с 1чтмбн«тянн Dtecw^HP [ниагдинятм а иильпы-аго ьегтащинин cMjft* rnjpiHi tOngjIb ojyiti fijictrpjn^fkJ ином «Ли ноСгоЛнсО.
Лекунгитлц-нп
ЛоДрХгчыр- сЧ1ВД1ЛлеЯ П nprjTjjjHijn yjhTiyP»* СЛуиС AjipEdtmc nowiif най'и * ASHBtra» с «wTivtxe
4a1etWHUiiM дгч ицнала рдАрГн i; ^С5 и С'Лрав'т-нр-т реГормв^и
Й цвнтм м набегли км 4SPN пр«дстав.лвны ссылки на гк-лин^ч
др*унлчтяии<|, сгаткм и ш<5-трансляции.
Сообщества
Задять ислсис и лс|у1и^ъз*ат^  сСсужд^ии- ьцкнп на форумах М5С>Н.
(ТРлУты
Шина tnprtHK, Д«вя Cortrol и Кэт
nfMH^S UHL-.Адресе* СГгунсЭ дня ЛроСГДАмстяА кяНч '
• Службл упрляпеиии динтгуиынч httpv.// .accewDctroi Twndouic not
Поддержка
- Шина службы https f,<
<АС*1Ь Wirdt^i-ГнД
Рис. 8.24. Сведения о пространствах имен AppFabric
8.25. Создание пространства имен для кэш AppFabric
Создадим теперь новое пространство имен для кэш-памяти AppFabric (рис. 25). Укажем его имя, регион, подписку и свойства (размер) кэшпамяти.
141
Рис. 8.25. Создание пространства имен для кэш AppFabric
8.26.	Новое пространство имен для кэш-памяти AppFabric создано
Новое пространство имен safhamespace для кэш-памяти AppFabric создано (рис. 8.26).
142
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Qr T	Ц/ WrbVwh [ф&кЬпиЪ* Г Settlor ДЦр-^мкуия T octi r Now ’ Меняет QMnl ’ MySpjce ijl Mow -
Windows Лаи if Ha form
Window» ?аи (eaHjl_>K2+*)
Гии
Раэншянны» «л'гэгенк, /ЧЙТ1»* ЧЯПИСИ IfJWlWl И een> oumpTHHiDit мрмрм


Dl4i>TbJ
ИМча шуифы, i««5
З*1 Control И KJUJ
Рис. 8.26. Информация о об именах сервисной шины и кэш-памяти AppFabric
8.27.	Новое пространство имен для кэш-памяти AppFabric активизировано
Новое пространство имен safhamespace для кэш-памяти AppFabric активизировано (рис. 8.27).
143
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Cl Windows Azure Platform
СВОЙСТВ!
мГг*твк*:г
j Или
Л urP*ia утцмимнкя дсс
1? UMl^Viywtiv
II «frAiYit ItpGcip^HCtK AXtrtiHbM
/jf ГЛЗЖ.1ЛИ
Размйынкы» сл'гэгёы,
een> зширтиишх мгнирм
I j fM'M ДЛкИк'т
тч|Нъ1
Шина EJtprttx, J-ctfrB
** Octroi и Jjuj
нвьм2н jd>dO


Рис. 8.27. Новый кэш активизирован
8.28.	Информация о службе управления доступом
(страница 1)
Как мы помним из вводных лекций, основные управляющие компоненты AppFabric для облачных сервисов - сервисная шина (service bus) и управление доступом (access control). На рис. 8.28 приведена справочная информация о возможностях службы управления доступом.
144
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
’	4." 'Web h [iJ>Coc*m»rki г Г т A UpgiMk/DO TixAjrNow т Mesunger-T ,'Z) M«l ’ Myipxce Г} ttewi ’
£J Window AZircPtlrtLflTI	I и Ct™*	l^nWl-l^Atwr ВМЙ1Х tJ
Служба управления
доступом	Г1рсяррхнг,«во именС-тум^ sJ’rwrmjSfMC^Cqr^
Служба управления доступом
Отпоштинл доверия	Слум.'фу ynpwciMj dgclyfipu (4£$J иржчр щлрлкАДОь л’я гигдрерчк фсдсрл‘ирньгт уЖ^Ндоиий и ыиннНи *л?дл [$$СЛ В
Пчктищно|1 МКЧНДОИЙ КЛч^илржйият и <ду*Фы Ддгцкля»нел|,Икге ЯМР1ИИ о упрмрлчнии дошутил!
ПрНЛежеДЯЯ npoif рЯЮЩИЙ OtQpOliu
ГруГГци flfJttiiJ'l
Лармлгтрье служры
Сер1т*$яняи<И1 * гДпИ
УддсКошаретчгч службы
Адмниистрнреддян* ^IWUMiny'JTOfbJ ТЮрТХЛЯ
Спужйл 51TIPM1MHHR
Рлзрлбопа
Ингмррац.и» npKnci^Mitl
Начало работы
Ь л строки единого входа ди пя-Ь прилошения:
Q Нижиит^ uiaficy ’iTc-rtiemuxH удйс-ГаверениВГ utdEir* досчригь пмНдщдал Ш№1д«Чрти!К /цГи>,тк)-/>нли«: с
*1*^4111» THor'iFy ' Приложен и я пр-ащттощей сГсфанж" нт-в4ы дс&двшь прниюхеьле грс-верянхлг «тирены. >s ввв прилажемив в «1таре.кг<1ред1ч.чг*е"йя ре1/ик«ть
Ае-двря’ниную грхмярг/ недлинное Г и с IHMttUk» ACS
Q HauuBle«лОЬгр 'Группи- ДрЛАнл", щелкните rpytirt}1
1X410 уш>Лидми>Р i итеи- «Литник
«HQhry TPMa'fr'. H’pfv др1дид1иицлм срШЦ npaqwAj дтт поггаякциим VjipcTpqepeHnil ripioniu апр*дрлки>т
сикие утде^киДВни* Д«р<аа>6Тгл tit гЧ<тдащ,лгОХ
Рис. 8.28. Информация о службе управления доступом (страница 1)
8.29.	Подробная информация о службе управления доступом в MSDN (страница 1)
На рис. 8.29 приведена более детальная справочная информация о возможностях службы управления доступом (на английском языке) из MSDN (часть 1).
145
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
msdn
ACS Overview
Window! Azure JMtfwm
'Wl*5»*i(ii [£i<Jo:km*rtar F5e«ir»jt т JI IJpgtKk ум Ttxjttar Now
^rdoMii Ante Plattoim
Window Airjrr Afp*aLlF;
Wind*™-» Алле Арч|Г*Ь|< Арчil Mil Ktkay
Aetna t«itiol 5еттк»
Аши CMiftal Seme» ZjJ
RHeise Ncde
ApntT.Mll
Update* M№ 1* ХЩ
ДррИи Го; Windewi Атте
$L*nancs Jid SArtnint PrtwkJ *£S ACS FunctHxdllty
*« UuiiMniy.tnrtva
tr<juWirJipolmg ACS
Window! Ati_nr ДррГлЬлс AtoeSA CrtrMrol Serrate fACj1 li t Cloud tiled lennce (bat prwdel An fdiy wly n| jijLher-LC-ilirg Jn<f *jIh*tr.Mg uteri to gain Mril lb >tXit **fa dppiKAJMH And 4*r.X*4whiz aftfranp The Fr-Afurd-J <11 nulhNrt>r.itnXi and й1ЛЬолМЬр«1t* br fxii>rd out Of rtair ftjda tmlhwi of inapkni^nlirtg art Aiitiwififibon T^-rt**r> with uw KtLMirrtTihit w*<p*trFx ip уак дррЬиТмп y<w слпЫ A£ > xch«tr.»1* 1h* nthKibcatuiri Jftd -rnHicii <rfih* juthcdvifton of ywx ими PCS integrate wrth sliiJdard» bawd idimty р&.Им «doeHig wterpnst dirtaxw-i u.<h is Actftf DinnMjx and w* idcMibes wtJi» Windcwi uve D Gcogle i'lhob. *id гмеЬсок
Д<$ rfblfakF'1. *JrtVKiJi1tijn drfAprt-; to b< pUkd b-jt tf OkF лрркЛГйп Jnd lilt* a-4M tf dtctl/nbw- nJM that tin trdri'Anrt ukK/nir'dj <*tunSy fiaonVi *1tO diontThat appAcabcrrf ?r«d отл«ч. LnkiH^taocL Ifx>v njl*t nrp d*rir>«i byu^iog л umpl» and fimliar prpqrammrq mciiri nwiHlir^ in d*an₽r rod*
Ai$ ЦП jlx? t* VHtd fP nMn^t dmnt отптЧ.Я₽», rhy? 5*лпд-114 4<T«Xt -and Срнир*Ш[у Ol Omdptnng |Ьч*Р СлрАШТхЯ-
Л<$ к ccrnpafiblp ATtfi rrud рр^нДчг ртодг.а-шоша and rurrtimp-pn.^cjimxM,, jrd ^jpjsrty:
Uh) £p*nHp, w$'
AC.J Cid* bXnpkf tndri
jlrt Mirbkjr'TH'i] 'ГГЛ’Г Art Brferrttt*
lb* following ft JturM Ar* A'.fuhN* n flCI
•i Infpgrjfitn wlh Wirr>7wi Identify Fpunfat^nfWQ]
c*™ie swirt wuh лсд

- СчЛ *1 Bit bo* lypsort «or peflrtw web rterrtm ptotrien indu-лгч 'ЛУШмъ Ltw IP, &Ю0», 'Vw irJ Fiirtsct
- Out-<if-tfw-bCj typpurt ftr Achvt ChrMttr-y f rd* rJIxXi $>r,n<r< ГАР ₽5)-?X1
 Support fix фДцЛ > i> ((fcaft WirTfua. jnd W>-fc>ch4itKHi protocol'
Рис. 8.29. Подробная информация о службе управления доступом в
MSDN (страница 1)
8.30.	Подробная информация о службе управления доступом в MSDN (страница 2)
На рис. 8.30 приведена более детальная справочная информация о возможностях службы управления доступом (на английском языке) из MSDN (часть 1).
146
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Jv4	' JlBCUC*  Дчч*И1 tn w« »	ВС<йгй A ’
Qr T	V	RHJocfanwbr rstthftjt т Дир^мйуоо TuctbarNow ’	- 4) MyjpJC« Г? ?(w -
......	. ....	....	Hi*ioBaefaeipatiin«a*jwilKbtoteiZC?
lift Г.Ц	5*^X <• API РЫн^ЬС*
’ Infc^rMicwi Mlh WirwkWX lUHitiTji PcwjndntarifATH
	 Out *1‘the bin. Kjf^Zqt kr ptpvlH w*b KtenWy рЧЛтвйг» nHkjtfinj WmdOw> Live ID GOdwjfc VabO* «rd Fitebota
	Cnrt-<jf-tJ>*-bciY uippcirt Fee ZictTi* CiH*<ir«y LWwiihyi Smv>ck (Jiti f $ji ?Л
-	Support 1ск ОЛЛИ M (*14 Wh WS'Tlun *nd WS FMfntwn prdorDU
iuppirt fa/lbr $АЛЦ г I 5AMI ?o IrcltimffrWeb Tt*fvi ItWtHO^l’biraFs
	litfegraled jrJ i^jtlLUTujkbt* Hlut» R*jtm CJrttpvPry Ihat лЛйил irf*rt to ckXrw Й*т кЭС-пЕПу pHJsuSw
-	Kn Open frit* Рто1гХ.Ы fODitJj hi*ed rrwiayeT'nwrt striTie that fBPvdei progrlnunrijC 1см» La the AC? <ппЪул-ЛCwt
	A Iwuww-h^fHl imri^AlWit pcwul thji jlk«n idmuudrilr.* iqrMC. tn ihw нИ сс*1Гн^иг11ки1
AtJti wrnpiuMe rilh ritually aw Tbdem'A-eti piirfonn mduins.NFT Pjltva Jaw *hJ Ruby. Ftf atatoFAii rtouwenwiU set fTfftqwsfiit
♦pr j quick	op polling 1.L*rtpd	AC$, bpv AV$ frua_
See Also
Cowiofiti:
A<W» Corflrtt !^лтл JO
Рис. 8.30. Подробная информация о службе управления доступом в MSDN (страница 2)
8.31.	Провайдеры сертификатов
Имеется возможность получить информацию о провайдерах сертификатов, обеспечивающих доступ к Azure. В нашем случае такой провайдер только один - служба Windows Live (рис. 8.31).
147
УГЧЧ*пе^|г, (ЙЧГИ fipcnpujmW удСчГ^ФСртнпй, >чЛ0лЬлу?М1Л hpw.4j-T.riiПСЫ г^и?»^»ипчгЩГ(ф<л»>| длч Пртфсрц*
ПС'Дл»'И1чк*и ДппопнмТглы^г (Ли^ктчй р н^ргрдмк? чрямрч Прздрргр fopд.пм iw« 1 л р Д£$ Удрррррсррыия
ПфМЛВЖвШЯ n₽DlfpNKHL|tfl tftOfjCmw
rpyiWw ftpdirA
Пчрмлгтри службы
СерТифпичй * tMHH
Д{Лл.нтк I /м/пть
। I
Иил	1ИЛ
WtciSowi 1л* Ш	VJIFUJOY/I 1Л*][?
Уд'ХЧз’Жерт’Чг» ог/жБм
Адмнннстрнремлн* ^LkXHjLTplTOftaJ ncprani
Служил !r¥ipi*MHHR
9x3pjt5oiw>
Иымрли» ПрКПОЖДНИЙ
Рис. 8.31. Провайдеры сертификатов
8.32.	Визуализация приложений управления доступом
Визуализируем, какие приложения имеются для управления доступом. В нашем случае это созданное нами пространство имен кэш-памяти для управления доступом (safhamespace) - рис. 8.32. На рисунке приведено его доменное имя - http://safhamespace.cache.windows.net. Еще раз обратите внимание: практически все ресурсы и приложения в Azure представлены URL-адресами Web-страниц. В этом - принципиальное отличие подхода облачных вычислений от других видов ИТ
148
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Начальная
Отноштням довгрнч
Пкт1ИМ<|* гА&пом₽ыь1Й
f рут ы «трл пл л
Приложения проверяющей стороны
У1>р»ф/1РЧ1Ч С^ЛОЖСНИИЫИ брОВСрЯЧЦЛЙ С*прпыН Арийрлснилчи Г<И1Чр'К1Щ«Д<Тр^ИНкГ'ир|,у1 <inR wfl‘-C»ih V, ИрилржричИ и службы, С гогрруи ip’Hj'i'tlc.* 4riTpnL>r>oji|. h.i'S д»' «ХдираЧ-пнСм <1ррвцрги иидлнннс<1г1 Пр|>60«.г<1ия прсчЧ'рЯчщсй С1г>рс“1И нСЯолк»уи>Г yUrjj »_цвннт ot tWt1*cwwrO» /лйсЮагртгий дЛ" НриняГнл рсшвмийа ituJt Лр£«рсл ПоДЛичК-йи и ж)Гпри ujim ЛоЛапми 1тльиыг Свгйсцл» Г> прийоагти проЛгрмои^гй ;Гсцжзн1л_
Пармлетри службы
CaptwJiMaaiM •< кЛстчи
Уд'РСЧзявр^'*-" службы
£V9»I HR | Уд»,MR
рМл irpuaoiaPHir»
Orfw
httpy/ufnsrriupi:* carh* wndflhcrM/
Адмнннстрнремяна
Ад-илшслрато^ лсртала
Служб» управления
Разработал
Инсирдци» П/ЖПСжЛИкД'
Рис. 8.32. Визуализация приложений управления доступом
8.33.	Справочная информация о службе управления доступом.
На рис. 8.33 (в виде справочной информации) перечислены основные возможности службы управления доступом в части управления сертификатами
149
Отношении
ПчХгчшдитл
Пряспот^дая прсцн^якннкчй стороны
(р,ПГЫ1Т₽ДВНЛ
Jlipuitipui службы
С<-рЫфы*л»ы х еЛиУчн y/lO<tn»f С*«»г1л службы
Ддчкннстря^мил-ниг
Ад«ч(ис1рлзоры ЬсрГжпя
СлутЧ-я уйрччшхя-я
Р«|Мб4П!а
Ингогряимк прк-гта женил}
Сжужбу управ ,мия доступ си ^*ь±) иежно ьктюлк>си~ь. для КяЯДрОкЯЯ 9+**рл;нянш удсстая*р*ний и »динс<о ию^л ^-6^лрило*гнп*11 fa-p^bJ ДцСндл^тели.** едгделий g ргужбе упрмлВ1|ия ддоупры
Начало работы
Н * строй «I иннего ««д* «ля в»0 приложения:
н*хиите«капчч TiwTMiunifti | AfKisieuMHii' нтаРы дйЬлвюя пс>гтля|цяяи у*о<7йв*р*>>нй нсг-я>а*1у.ч1ыя с •Ьеб Ирм>атй«|яеи.
Q НЛмии1< ыюПгу 'П^нАйлмия Hpa*cpt**guilHJ С+й^Мнм" ч1чбы Дпбапигь hpiiAQ.n.ci'nt Лр<?1Ц!рЯ1О4дпЛ pIQppaibi ЗГр □сб-,Прм.,ртч»1Рч: g ugloppw мред1м?ллгэеГдЯ pggmirtjry <рг-Л“ра’ийН!,тй flputpw ncj.luhrtiktu t twiuttupc Pt-l
У тхмито ч*огчл| трупп* лрирл' телкнни rp^iw лраид-приложена лф умелчиин} j «ww-kw^kw *ЛйПку *Ср1ДЛ1Ъ* ьлобы лиоилгмчкйл СП1М*Ь пряяиял ллт fldcttiuinvcfl удОс^вЕрЕнип ПряйилЯ п предел я к>1 хечигчч«мдehi1* лсдоаютгл рт гк-гг*ви.н<я >ЛРПС<ЕреН1Й ЛРИЛВХЕННЮ.
Нлъии*й<мйпгу 'Ингнртия прмлижениЛ", "пойм fldAVHlITL LpjL HftjblQjlrlUUbi ЛПЯ ИHffГрЛЦР-П ПрСОЛрч» ЛЭХЛииНргГп II A«fCrfhrt«lj.ihrt cprAiMlUhbl 4CS «ИЯЙ-Грилр.жднну
Дсл»лнит«лм*ш*«я*ддни» Р сшиярня* ИСПОЛЫОМНИР AESc
4»С1-ПрМЛСГ*РИ>«Я
ДоЛс1/1ни1елыиы-е еввдеьнч О нас^рсчяе Проверки П1Д/ИНЛ1ФЕТ1* иявтаримиинл/я IE6 MfflH И В«4 нм.’ажаний-.
sef,btnyirfu
ДФОйлн^ТЛльньи1 СйЕ-4*нл< P naPtfWiS<* ПрйМфяи
Г»Д,1 LittHD Ct" Ч л fl Мри И ци и: ди Вт Ь-tn уж б t l1put»H»j fXIMHUHF.dn уДрС1йПДО|1ИЙ или учтичи jVHMT yjWC'PUCpSHHft	РЯЖЧНЦЯ?М1ИГ  ДС$
Рис. 8.33. Основные возможности службы управления доступом (в
части управления сертификатами)
8.34.	Управление сертификатами и ключами криптования осуществляется автоматически (часть 1 -запрос на изменение)
При попытке изменить, например, потилику криптования сертификатов и т.д. выдается сообщение о том, что управление сертификатами и ключами криптования осуществляется автоматически.
150
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
. ‘ Wrtlcefh [5»Явс>ти41 г Г Srttirvjt т A IJpgiBdcytx» Tocttar Г4я#
я GF
Мемлфетт ОМк1 ’ 4 MySp*™ U

Политик* шифронии* и*рк*рои
Т7ОС
Паст1вшикнуд»етев4мний
Eu&&p.i:c лостпа«<иск ^йьЛчМм^ргнлй иг^олк.^+ии!' f приль».«1глЕч. йра*Лр*и)щ^м ййрч^им /]0Г1бЛми1<-лы<иг tka^ihK t’ WuTckrwi Sjvt ID
Выбгршг трупгги ЛраамЛ klLjWjAb'tyrUMf Гцш CrfipMkJl*/- yttirflAArWMU ДЛ* Ittrfti ЛрИПОЖЛЫк* ПрйВ^р«>Сци<Й ktOpCrtdiJ СЙЛ-дМчнЛ
£j СзхАлчтчяуч’ груму пр»?нл
р Ot’iuq ftufc ^IJLV Гсч
Нйж-мигк кмсч’ш/ 'Дп15вп с<иие сср!Иф«<Ы1| или глк™* дл* подлижи Mipt«poeb “Io5w нлсгрдитк-иокый симмк^ричнын ч_пйн пк псдлр«и трнрн.
ЧЛЧ'-чш npwpjuc’F» 1ЧЛГЧ служим I J4W г^ирсграипи имр* <?<ушя;г|**кгг*
Рис. 8.34. Управление сертификатами и ключами криптования осуществляется автоматически (часть 1 - запрос на изменение)
8.35.	Управление сертификатами и ключами криптования осуществляется автоматически (часть 2 -реакция системы)
Как видно из рис. 8.35, реакция Azure подтверждает то, что управление сертификатами и ключами (в нашем случае) осуществляется автоматически.
151
Т70С
Паст1вшикнуд»етев4мний
EU-&&p.i:c лостпа«<иск ^сьЛчМмйрйнлй iirtnjhk.ij+uu^ f Прийрй.«1глНч npA*^p*K)i<j^u гЗйрч1мм /]ОГ1бЛми1<-Лы<иг <**Л/41И* £] WinckPwi Sjvt ID
/рупГги прайм Л klLAtiAbtyrUMf Гцш pfipMSaibr yttlrflSAChMU ДЛ< Ittrfti ApMAOlfoiU ПрйВ^р«>Сци*Й LtilfHjHJfcJ ДМйЙН1(Гф1ьмМф СЙЛ-дМчнД
£j С|?*ЙЛИ-«Ч?УЧ’ ГруМу Пр«нл
[? ОС’тЦ ftufc ^пир Гсч
Наж-мнгк кмсчш/ 'Дп15вп сстие сср1Иф«<Ы1| или глк™« длр подлижи Mipt-epoeb “Io5w нлсгрб#пь-ио»ый симметричные члиУч HF подлей трнрн.
^лч'-чм-ч! npwpjHC’f» 1члрч служим | г^ирсграепи имге <хуццн;г|л»«гге
Рис. 8.35. Управление сертификатами и ключами криптования осуществляется автоматически (часть 2 - реакция системы)
8.36.	Дополнительные сведения о сертификатах и
ключах
На рис. 8.36 приведены дополнительные сведения о сертификатах и ключах.
152
П«<тажщнкй гяюймрнмй npttflDXWWJI npoif ряющвЯ егьрйим rpyiWIfai jVJm/
Cp<4*j4*i^ и иачсиеи-иг <?plT=JiE4jEt?|i и	для А(?ДЯщи Mjp»upon, и1 щичЗрч>ми1г* ti р>;ц,uQpoput p jhpv
я’мри yiyjrfcu ^CS Д9гн?.'п1л-19Л1,нуг<лед^1ия 9 нртиОикдови «г^ч^к.
нажните кисчтяу Доояв чгние ггртифни । а или слюиа дит г1пдл>*:>1 мариров “trfw нвсГрс*11ь новый тер Гиф и г.#- нлм ч» для нсДОки чаргерси-
Адмннистрнремян*
J^tiMMUirrpiTop*! тюртапа
Cnyrfj утраемння
£ fdJtiin, I '/дЛм1
P.upjt5oiwa
ИМСМДОДО» ПрМПС
Cej;tHitlwuEw шт^рЕчм.“ия м арлера к и доваВл’лнсь Ч r-rfifcj а.оАа  и 1 ь стрГиф ичлГ шифрам* и я чартере* кичи1е- ixnrtrj ’fJofriBim.’.
Рис. 8.36. Дополнительные сведения о сертификатах и ключах
8.37. Информация о названии и URL-адресе группы правил, используемой для кэш-памяти
На рис. 8.37 приведена информация о названии и URL-адресе группы правил, используемой для кэш-памяти.
153
Служба управления доступом
Лрйетрлия*! иигн сЛрсбы vafrjntMpatf-iiache Г Групии Правил
Начальна»
Отношении доверии i tocrauuiHkH у-лсс г оперений
Птрчпот.тчг-ин претор вивший сгоромы
ES^^BM
Лзримтры службы О/р1ч41ли1ы tr г-.'яочч
УлШййДОняыумйы
Адчинигтркрси иие
AlIZrWMiTpjTSflw ЗСрТЬЛВ
Crtywti yripjHi^ws
Рир4в4Т¥И
Инг»граиил- приложения
Изменение группы прявил
ИСГи^Л^ЙТ^ СИЛдрОши*- ilipauftpkJ	kiaiTi ГфрОдОи tlpeoflp
ftepf-AJBTObHJT- лриАржг HWKj Гц^кер^^-гй стйрйнр-
Иан
ВвеДк1-е ни» ipjTlНи ПрлжиА n*tajh RJ* Лгсшр fcr Cache
Исеслыугтсн следующими приложениями проивртюшей сттдкми Ciehe
~ Скфаннтъ~| [ 'итиена
Рма'еч у гто^жлр*мй
СлуяХчу^аЧшя awtjTig,
лаttynaФинка асъ * истздодне
Рис. 8.37. Информация о названии и URL-адресе группы правил, используемой для кэш-памяти
8.38.	Удостоверения сервисов (Service Identity)
На рис. 8.38 приведена информация об удостоверениях сервисов (service identities).
154
Отноижянл довгрич
ДОДОмрениРЫИ службу b ПрдС1раысГВТ umsh А.С$. Удсирсчитжчп» служб кЧП&Пнрт;1ся ДЛ" HpRUv-1! Ирчитти
ГЬктадщИчн !гдооимремяй полжникги в А<5 (чн уидт* гкгляцры удлСрввдощ] £чзм?лниг(и»м<ии с?тлк-н-1» об у«к швгр^иин? pr/^frw
Приложим* пронрнющЕй ttO06llM
Fpyrtflp «’n'JtMJ'i
Лврвмгтры службы
С1<р1Т^»1Ы<И * К.Ч47ЧИ
Адиниислркревин*
J^T-LhK>WLTpITOf№> Персии
CrjXflj PIPUMHM
Дсйлнтъ | /Д1/ПТк
ИкКЛ	ОПИШИ!
Wilier	ferret l&tnliiy Гог Cacfrt
Нл IM'H’Hlj™?
9лзрл15оп.а
Инсирдик* Л|ЖЛС|Д-*МиД
Рис. 8.38. 5^остоверения сервисов (Service Identity)
8.39.	Администраторы портала ACS
На рис. 8.39 приведена информация о URL-адресе, который администратор портала ACS может использовать для управления им.
155
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
От н пикт инк довгрик	у Гфлф п ен I т ммия,^1рл1инин*г	г.	'impJfuiRwwi НДОстрлиИ-кч им*м с*)т>0ч упрлрАч^ив joCtyrtpV
ГЬктаицйКР! и;к1»|рный Дрпдлиигмм<мс угасни*	админк' pji ррдл иррг**л ACS
прилежны* провервющия
CtbfjfiliU
ГрртМЦл ЛрлчиЛ
Лврвмгтри служвы
С*р-Ги<гтм<ы * М<ни
Удое I rjw prw» службы
АД1ЛН HHCTp'ii pepo «и*
Служба УПРММНМВ
9 ЛТ работал
Ингм’рац.ив п^жпож'димЯ'
Дсблитв | /М/г1ТЬ
Удмтскрение
НОТ 3 в F F СЧ1 f К tAfl ® |ЛЪС 0 m
(1«!ИЫ1ЕК удостоверен^
WirJowiuvelD
OtIHUPHI
ifhlt URL-ЛДР*к ы^*м6 ЛрсЖкМЛвнть адиинлгтрЛТйрЗи глртллл tftoibj сжм ииии tifiputT. ГК»тля уПрЛвПС'нна дЛмниы npdLtpJhtfni,'iu imfw Jfor 1ию,-лдргъ нгв:’ллйжн* rfjJn^inL'iotMTLдЛа AoCtyTil i ntftaAy yrt|Sd®at«>ui WwidOwl Ar-urt AppMbrit r, UfHUfr jrpJlj'fTJH» njw'pJHC'iJJMH uUy«i
hup у/у I’m m	л s ct« w а пШ*лйтлм у
Рис. 8.39. Администраторы портала ACS
8.40.	Служба управления ACS: управление клиентами (tenants)
На рис. 8.40 дана информация о службе управления клиентами (tenants -см. лекцию 1) кэш-памяти. Дан URL-адрес этой службы. Управление осуществляется по протоколу OData (см. материалы конференции TechEd 2011 Russia, Москва, ноябрь 2011 г., доклад Д. Чэппела).
156
Лд-гтищий'! ^|к»мрсчнА
Пяьпвжимя прсиерлющи? стЬрйим
rpyiWlM ДрЛонД
М^ЧфЛение у^гными ДОиСдым для др<Гуйа к j*pjp«iinw ji<?rg Лрт^ррмрГК имен 0j1y*iUj ^радЗчиия iw-tytitv луж<4 уИрап.г^иия Flp^di'»?’ KPHfpphiipoqJHi рг/»>/ jnpaqr^hwR др, tjiipij Лро|рл1линичи методами гн> ПрфГдорлу Орцп ftilJ (01>л1 el ДаГиЛ
Лярмлттри службы
Л**4*М1» I VjujO.!
ГЛЙ1*ТРГ1^Ги
 mvic) tdMitrty tipr C-jrb* Трщпз Денга Contrfd Marji^rriPHt
Адмниистркрсм-ни*
JLiwttuirrpiTopoi портала
Ржтрлботкл
ИмжрдиМ» I
CMoruipyiire Я01 !JHL-3iW№ HHHGCrtf приложение □[jata. 11цГИ>Лк¥/г-Ы|зе для упрдячния Пр<к-|рлнств<|и-миен служба уНрЛрЛ^|'Я ДнС^уГЧИМ Дочини!елнлкЧ СЛеДТМИЯ q (лужф<? упрлн/пмр ДС$.
htlp i/ /4а Fna mfi{kXe--o*< hi' J CX+SKfl nlrp Lwirtdpvejjwb'u J /m 5 rny (ЛХ 1“
Рис. 8.40. Служба управления ACS: управление клиентами (tenants)
8.41. Информация для интеграция службы управления доступом в приложения
Для интеграции службы управления доступом (ACS) в приложения необходимо знать "конечные точки" для взаимодействия с этой службой, T.e.URL-адреса ее компонент. Эти URL-адреса приведены на рис. 8.41.
157
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
ЕН
’•I _ llhTCfMiixn приложии»!
'	’ rsettinpt т	Upgjufe ртн» Toc*<rF4ow » v	’ |Э Ми1 - 4 Му5рке L J Mow
Рис. 8.41. Информация для интеграция службы управления доступом в
приложения
8.42. Информация для интеграция службы управления доступом в приложения (часть 2)
На рис. 8.42 приведена вторая часть информации о URL-адресах компонент ACS.
158
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
стероны fpyttfrw 1*р«1и п
Пц>1Ы*Т?Ы C/IrtttGu
CcpTj^riKJlM. tt LPX>4ri
Уйсидпв#р*кия служЛы
Ддми.нистр»рсв*ии»
Ajl!W4*rtp(irjp^l TK5Jti.ni
Оужфя
PniU^nrti
Hunpci А «а вдернивнсй 'пржицы лля <м*4 в п₽кля*ч*ив>, npfliepwikei1 стцмнь,
> СТЦЗНИЦЬЧЛЯ смы
Нзстрс-йы^кпсльмияил маркере* шхтенрен^ 1ыдлвае*1ылсггА<юАулрзгпемл дктупам  прм/эде^инх пдовернюшеЛ СТРРОЯЫ
» пакеты- SBX н лмртннпшн
Сл'рхОа rfipiB.'WHR портал травления
Oftuth WRAP
0Ли1Щ
М«Г*л*нИЫк WVtidiMiruXi
W5 MeLBdaUbdringre
ИНрк//и'галт«раЕе 4idi*i(teHtarrtrol,bWdol»1w}rLlV2,,lnbgnit'Mn*:a
http s/ДОгнил pa u cadi ы 2 t икооТм I ,*>чл d рлил+ь
h ttp ь'/ы Jr*mes pate u di * а с и и to nUd I .ww d елм# AV ftA Pvt'?
hH^rX/^frjnwjpato (vtficTfflidpwi ndAMWHM113
h t Lp >	i peer c adi e a tte nod rt II □ L Mndowa nel/V rdn >1 kJ n Ve Lxtilj /2 DO T ’
№Ttdejd1ion-Vcl«>^»1a.Tinl
hHjrL/,i1M,i<a*ncipdt.e c*die •rctiioanlrjl TfflidtTYiJwl/v2'Lrt-sbu»14i'mei
Рис. 8.42. Информация для интеграция службы управления доступом в приложения (часть 2)
8.43. Резюме. Уникальные средства управления
облачной вселенной
Средства управления Web-сервисами, пользователями, подписками, областями, сертификатами и др. (т.е. всей облачной вселенной) в Windows Azure поистине уникальны и, кроме того, постоянно развиваются все дальше и дальше. Использование подобных инструментов весьма полезно, так как развивает кругозор программистов и их абстрактное мышление. Кажущаяся излишней сложность - лишь отражение реальной сложности современного программного обеспечения, в котором воедино слились Web-технологии, средства защиты, визуализации, мониторинга и др.
Разница между такими средствами управления и, для сравнения, средствами управления пользовательскими заданиями в операционных системах прежних поколений очень велика. В прежних ОС мы могли визуализировать информацию обо всех задачах, выполняемых на одной mainframe-машине.
159
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Легендарная команда ВЦПП (время центрального процессора пользовательских задач) в ОС ДИСПАК для БЭСМ-6 [2] позволяла узнать статус своих и других задач - сколько времени они выполняются, сколько времени им еще осталось считаться и др.
В системе же Windows Azure пользователь, как некий (надеемся, добрый) волшебник получает право управления всеми своими облачными заданиями, которые могут выполняться на десятках и сотнях машин в ЦОД всего мира, да еще и право перераспределять нагрузку между ними - например, поручить исполнение того или иного сервиса либо ЦОД в Редмонде, США, либо ЦОД в Ирландии.
Эти возможности просто поражают. Однако они и настораживают, так как, к сожалению, могут быть использованы и во вред. Например, хакер (теоретически) может искусственно создавать непосильную загрузку то для одного, то для другого сервера в ЦОД и, возможно, выводить их из рабочего состояния. Подобный вид атаки называется Distributed Denial of Service (DDoS).
Поэтому разработчикам Azure хотелось бы, в заключение данной лекции, пожелать, в соответствии с принципами надежных и безопасных вычислений [2], чтобы их система обеспечивала защиту от всех возможных внешних атак, возможности которых также разрастаются, в связи с ростом возможностей облака.
Ключевые термины
Traffic Manager - Управление трафиком
Соединения (Connect) - Компонента Windows Azure, предназначенная для описания и обработки виртуальной сети
CDN - Сеть кэширующих серверов (Connect Delivery Network)
Территориальная группа - группа серверов ЦОД какого-либо региона, который пользователь выбрал для предпочтительного выполнения своих сервисов.
Краткие итоги
160
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Windows Azure имеет целый ряд полезных компонент: Traffic Manager (Управление трафиком), Connect (Соединения), CDN (Сеть кэширующих серверов). В лекции рассматриваются на практических примерах их возможности.
Набор для практики
Вопросы
1.	Что такое Azure Traffic Manager и каковы возможности этой компоненты?
2.	Что такое Azure Connect и каковы возможности этой компоненты?
3.	Что такое Azure CDN и каковы возможности этой компоненты?
Упражнения
1.	Исследуйте практически (в облаке) все доступные возможности Azure Traffic Manager.
2.	Исследуйте практически (в облаке) все доступные возможности Azure Connect.
3.	Исследуйте практически (в облаке) все доступные возможности Azure CDN.
Темы для курсовых работ, рефератов, эссе
1.	Azure Traffic Manager и возможности этой компоненты (реферат).
2.	Azure Connect и возможности этой компоненты (реферат)
3.	Azure CDN и возможности этой компоненты (реферат)
161
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
SQL Azure
В данной лекции рассмотрен инструментарий для взаимодействия с реляционными базами данных SQL Azure в системе облачных вычислений Windows Azure.
Цель лекции: Ознакомление с инструментарием для взаимодействия с реляционными базами данных SQL Azure в системе облачных вычислений Windows Azure.
Презентацию к данной лекции Вы можете скачать здесь скачать: http У/old. intuit. ru/department/se/pmsazure/9/Azure_course_9. pptx.
9.1.	Введение
Microsoft SQL Azure - широко доступный и масштабируемый облачный сервер баз данных, построенный по технологии SQL Server. С помощью SQL Azure разработчику нет необходимости инсталлировать, настраивать и управлять каким-либо программным обеспечением. Широкая доступность и устойчивость к ошибкам встроены в SQL Azure, при этом не требуется какого-либо специального администрирования. Кроме того, разработчики смогут быстро улучшить свою производительность в использовании SQL Azure, используя для облачной СУБД туже реляционную модель, основанную на Т-SQL, и те же мощные средства разработки и управления, которые используются и для локальных баз данных.
Кроме сервисов управления базами данных (БД), дополнительные сервисы включают в себя: SQL Azure Database, SQL Azure Reporting (доступную как Community Technology Preview, пока коммерчески недоступную) и ссылка: SQL Azure Data Sync httpy/www.microsoft.com/windowsazure/features/database/ (доступную как Community Technology Preview, пока коммерчески недоступную).
Наиболее важные возможности SQL Azure
•	Построение пользовательских enterprise- и Web-приложений
•	Реляционные СУБД (Relational Database Management Systems -RDBMS) позволяют создавать и манипулировать таблицами,
162
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
способами визуализации, индексами, ролями, хранимыми процедурами, триггерами и функциями, предоставляют возможности определения и исполнения сложных запросов к базам данных, в том числе - со множественными таблицами.
•	Доступ к данным через ADO.NET (управляемую компоненту .NET для работы с СУБД), через более традиционный программный интерфейс ODBC, а также через РНР и JDBC (программный интерфейс Java-технологии для работы с СУБД).
Преимущества SQL Azure
Для работы с SQL Azure не требуется никакого специального администрирования: разработчик полностью может посвятить свое время проектированию, оптимизации и использованию программных решений.
Поскольку SQL Azure - управляемый облачный сервис, никакой инсталляции или обновления на клиентской машине не требуется. Все необходимые средства для широкой доступности, управления виртуальными машинами и обработки ошибок уже встроены в облачную систему
На рис. 9.1 изображена основная страница портала Windows Azure, в левой средней части которой имеется пункт "База данных". С него и начинается использование SQL Azure.
163
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
- О
Windows ^zurePldrfnrm
гипнм-ь№ задлчн
П[1ИЕ TyilrlH К |Уг1(нН>' С НОНЫН llllfllcIHUH
44 Нлные познсжмсягти зтпгл ныпугна
-йг
Ирш tyiMH к palHiiet Wiriihiws Лгип*
РаРЯКМНнЫ! Елрйы, M f4*T>w« ТЛПИСИ	и
:«Ть -ЭШ К р^ННЦН* еаряврм
Выполнение общих задач
Создание первого помольного приношений Windows Azure
“’* WM,T‘	NFT4**WiBlft*f 4w« Ф Vw^
Щнид cnywfiu, ACCCrRI
** tiwrfnM и JWui
Рис. 9.1. Основная страница Windows Azure с пунктом 'База данных".
9.2.	Начало выполнение задания "База данных" для SQL Azure
Рассмотрим теперь, каким образом практически выполняется работа в SQL Azure. Войдя на основную страницу windows.azure.com, следует выбрать с левой стороны пункт "База данных". При его выборе выводится соответствующий список задач (рис. 9.2).
164
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
J _дГУщг*ск>4
.‘J WMwfcvii Aruna Pass ГИЮ
Приступая r. pjfioru
Учебники
lioifliKt# hijkoA подлиски W'.ndnw» Ajurfl
Пайлсу ь* п/ч'Г'Гн^-т' SQL KiuT » ip>r.to Befl-t/rorfw К*1ч>Х*ф'г
Рис. 9.2. Начало выполнение задания "База данных" для SQL Azure
WirsBcrww Arum МлНежтп ТгжэТЫ
Как видно из рисунка, для работы с базой данных необходимо
выполнить три этапа:
•	выбор информации о подписке
•	создание сервера баз данных
•	создание новой базы данных на этом сервере.
Выполнение этих этапов контролируется специальным мастером.
9.3.	Сведения о подписке
Для создания новой базы данных (или выбора уже существующей базы данных в облаке) необходимо прежде всего найти сведения о подписке. Ссылка на подписку находится в левом верхнем углу экрана. Выбрав ее, получаем подробную информацию о подписке (рис. 9.3).
165
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
О Windows Platform
начальная страница поплигки1 wwioaws л^иге retnot шфц
Рис. 9.3. Получение сведений о подписке для SQL Azure
Если сервер баз данных уже создан Вами, то информация о нем указывается на странице. Указывается также Ваш логин и пароль как администратора сервера. Обычно подписка на Azure предоставляет возможность создать определенное небольшое число серверов баз данных в рамках ресурсов данной подписки.
9.4.	Создание нового сервера баз данных: выбор
региона
Если необходимо создать новый сервер баз данных в рамках данной подписки, то прежде всего система потребует от Вас выбрать регион для сервера (рис. 9.4).
166
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рис. 9.4. Создание сервера баз данных: выбор региона
Регион выбирается из выпадающего списка.
9.5.	Создание сервера баз данных: логин и пароль
администратора
Для создания сервера баз данных в выбранном регионе далее необходимо создать логин и пароль администратора (рис. 9.5).
167
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
OF -	Л "	RifrUngt - Л VCH* 1«ЯмгГ*?*| -	J FAbl - 4) HySpJtt Cj -
Рис. 9.5. Создание сервера баз данных: логин и пароль администратора
9.6.	Создание новой базы данных на сервере баз
данных
При создании новой базы данных (рис. 9.6) указывается ее имя, выпуск и максимальный размер. Рекомендуется выбрать Web-выпуск. Практически это означает, что база данных будет храниться на новом, специально созданном сайте, URL-адрес которого будет сообщен пользователю после его создания. URL-адреса баз данных Web-выпусков имеют вид: server_name.database.windows.net.
168
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рис. 9.6. Создание новой базы данных на сервере баз данных
Теперь для входа в созданную базу данных необходимо будет выбрать пункт База данных / Управление в верхней части страницы (рис. 9.6).
9.7.	Вход в SQL Azure для работы с базой данных
При входе в SQL Azure для работы с базой данных (рис. 9.7) необходимо указать свой логин, пароль, а также имя базы данных. Если имя базы данных не указано, SQL Azure самостоятельно найдет базу данных указанного пользователя.
Собственно взаимодействие с базой данных осуществляется средствами Microsoft SQL Server. Рассмотрение данного инструмента выходит за рамки данного курса.
169
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рис. 9.7. Вход в SQL Azure для работы с базой данных
9.8.	Резюме
Система SQL Azure предоставляет простой и удобный графический пользовательский интерфейс для взаимодействия с облачными серверами баз данных и для управления самими базами. Кроме собственно управления базами данных (создание, открытие и работа с базой, удаление), имеется также новая возможность генерации отчетов по базе данных (SQL Azure Reporting). На момент написания курса (сентябрь 2011) данная функциональность является новой, ее реализации существует в бета-версии. Поэтому для использования генератора отчетов по базам данных Windows Azure необходимо подписаться на тестирование этой бета-версии, что можно осуществить через портал Windows Azure.
Ключевые термины
SQL (Structured Query Language) - язык запросов к реляционным базам данных, являющийся де-факто стандартом.
170
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
SQL Azure - компонента Windows Azure для работы с реляционными СУБД, основанными на SQL-запросах
SQL Azure Database - компонента SQL Azure для работы с базами данных
SQL Azure Reporting - генератор отчетов по базам данных в системе SQL Azure
Краткие итоги
Подсистема SQL Azure обеспечивает доступ к облачным реляционным базам данных, основанных на SQL-запросах. Имеются возможности выбора подписки на облаю; создания серверов баз данных и самих баз данных; входа на удаленную базу данных, расположенную на специальном сайте и т.д. Имеется, кроме того, возможность генерации отчетов по базам данных (SQL Azure Reporting), реализованная в бета-версии.
Набор для практики
Вопросы
1.	Что такое SQL Azure?
2.	Что такое SQL?
3.	Что такое T-SQL?
4.	Из каких компонент состоит SQL Azure?
5.	Что такое SQL Azure Database?
6.	Что такое SQL Azure Reporting?
Упражнения
1.	В	облаке	Azure	попробуйте	и	практически	изучите	все
возможности SQL Azure.
2.	В	облаке	Azure	попробуйте	и	практически	изучите	все
возможности SQL Azure Database.
171
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
3.	В облаке Azure попробуйте и практически изучите все возможности SQL Azure Reporting.
Темы для курсовых работ, рефератов, эссе
1.	Архитектура SQL Azure (реферат).
2.	Архитектура SQL Azure Database (реферат).
3.	Архитектура SQL Azure Reporting (реферат).
172
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Разработка приложений для Windows Azure
В данной лекции на примере рассмотрены вопросы разработки облачных приложений для Windows Azure средствами Visual Studio.NET 2010.
Цель лекции: Ознакомление с разработки облачных приложений для Windows Azure средствами Visual Studio.NET 2010.
Презентацию к данной лекции Вы можете скачать здесь скачать: http У/old. intuit. ru/department/se/pmsazure/10/Azure_course_l 0 .pptx.
10.1.	Введение. Visual Studio 2010 как основной инструмент разработки и запуска приложений для Windows Azure
Разработка облачных приложений, по сравнению с разработкой обычного консольного или Windows-приложения, является нетривиальной задачей, ввиду сложности архитектуры приложения и всей облачной системы Windows Azure. Приложение фактически представляет собой Web-сервис, который должен быть опубликован и развернут в облаке.
Разработчикам Visual Studio 2010, тем не менее, удалось обеспечить столь удобную поддержку разработки облачных приложений, что она по сложности почти не отличается от разработки обычных приложений. Всю техническую работу по генерации большого объема рутинного кода и конфигурационных файлов, перекачке файлов на сайты облака и т.д. Visual Studio берет на себя.
Следует иметь в виду что, в отличие от использования Windows Azure (которое может быть осуществлено с любого компьютера с Web-браузером), разработка приложений для Windows Azure предъявляет весьма высокие требования к компьютеру операционной системе и рабочему окружению разработчика. Например, разработка облачного приложения для более ранних версий Windows, чем Windows Vista, в настоящее время (осень 2011 г.) невозможна. Даже к Windows Vista для этого необходимо установить Service Pack 1. Наиболее предпочтительна
173
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
разработка облачного приложения на компьютере с Windows 7, которая и рассмотрена в лекции в качестве примера. Кроме ОС, для разработки необходимо инсталлировать на компьютер разработчика значительный объем программного обеспечения, точная спецификация которого опубликована на сайте windows.azure.com.
Итак, для разработки облачного приложения необходимо запустить Visual Studio 2010, причем в специальном режиме - от имени администратора (рис. 10.1).
174
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
Рис. 10.1. Запуск Visual Studio 2010 от имени администратора
10.2.	Создание проекта типа Windows Azure Project
Следующий шаг - правильный выбор типа проекта. В Visual Studio 2010 предусмотрен специальный тип проекта - Windows Azure Project, который и следует выбрать (рис. 10.2).
175
Рис. 10.2. Создание проекта типа Windows Azure Project
10.3.	Выбор ASP.NET Web-роли
Теперь необходимо выбрать Web-роль для разрабатываемого облачного приложения, т.е. определить, чем именно будет (какую роль будет играть) новое облачное приложение. Выбираем роль Сервис с пользовательским Web-интерфейсом (рис. 10.3).
176
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
Рис. 10.3. Выбор ASP.NET Web-роли
10.4.	Создание основной облачного приложения
ASP.NET - страницы
Разработаем основную ASP.NET - страницу нашего приложения, используя готовый шаблон ее кода (рис. 10.4). Напомним (см. лекцию 4), что в .NET Web-сервис представляется ASP.NET - страницей, файл которой имеет расширение .aspx. В ASP.NET - странице указывается ее заголовок, язык, на котором она разработана, а также ссылка на так называемый Code-behind - файл кода на языке реализации С#, содержащий методы обработки событий, связанных с ASP.NET -страницей. Такое разделение на файл спецификации пользовательского интерфейса страницы и на файл его реализации удобно и соответствует принципам модульного программирования. Назначение этой простой ASP.NET - страницы в том, что она выдает заданный текст -приветственное сообщение от моего курса по Azure - на созданную по пользовательскому запросу динамическую HTML-страницу
177
В.О. Сафонов	Платформа облачных вычислении Microsoft Windows Azure
Гм Edit VTt* hnj«t	Dawi) Turn OjIj Took	!cB	’Ijjc
JP Л Л Л J <1 ‘	 t ПНнд - Jut,! HU	-I 1.3	-	1 T jl “1 >	41 □' 7
Рис. 10.4. Редактирование основной страницы облачного приложения
10.5.	Сборка (build) облачного приложения
После набора и редактирования исходного кода ASP.NET - страницы в VS 2010, необходимо выполнить сборку (build) проекта. Рекомендуемый авторами Azure способ сборки в данном случае - выбор пункта Debug / Start without debugging (рис. 10.5).
178
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Fm Edrt Vk*	Bkjm Dtt'Ug Trim Uiti Toott 44>Vcc* r - .г»1	'lac
Рис. 10.5. Сборка облачного приложения в Visual Studio 2010
10.6.	Локальный запуск облачного приложения на машине разработчика
После сборки облачного приложения, в целях его отладки, рекомендуется, до публикации его в облаке, запустить его локально на компьютере разработчика. Поскольку при этом не используется и вообще недоступно реальное облако, оно эмулируется на локальной машине. По времени все это происходит достаточно долго (несколько минут), поэтому не уцивляйтесы При этом будут выдаваться интересные сообщения о загрузке и запуске эмулятора, и.т.д. Следите за событиями на экране.
В результате данной фазы разработки создается Web-страница на локальной машине (IP-адрес которой, как известно, равер условному значению 127.0.0.1), и данная Web-страница интерпретируется браузером, визуализируя текст нашего сообщения
179
Рис. 10.6. Запуск облачного приложения на машине разработчика, с эмуляцией облака
10.7.	Публикация приложения в облаке
Теперь, для того, чтобы облачное приложение можно было вызывать извне (через Web), по URL-адресу который был бы автоматически присвоен приложению интегрированной средой VS 2010 и (или) средствами Windows Azure, - приложение должно быть опубликовано в облаке как общедоступный Web-сервис. Публикация информации о разработанном приложении производится в особых форматах, детали которых, однако, разработчику знать не требуется, так как файлы для представления пакета в облаке автоматически генерируются средой VS 2010. Разработчик должен помнить только имя своего проекта (решения - solution) Visual Studio и место его расположения на локальных дисках. Причем последнее подсказывает ему среда: после сборки проекта среда Visual Studio выводит на экран директорию, где она разместила пользовательский проект, и рекомендует пользователю (разработчику приложения) эту директорию запомнить. На рис. 10.7 представлен этап publish (публикация), на котором разработчик приложения выбирает и сообщает среде VS 2010 директорию, где находится его проект
180
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
WindowsAzureProject3, и выбирает пункт контекстного меню Publish (опубликовать). Вот и все, что требуется от разработчика, чтобы выполнить сложнейшие действия по публикации разработанного им приложения в облаке! Не могу удержаться от комментария, что это уже похоже на магические действия волшебника, который запускает в небо новую планету Или на запуск спутника или космического корабля. Поэтому подобные возможности доставляют ценителям программных архитектур и сред, включая автора, истинное наслаждение. Так запустите же Вашу звездочку на небо - разработайте свое облачное приложение и опубликуйте его в Azure!
181
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Рис. 10.7. Публикация приложения в облаке средствами Visual Studio
10.8.	Развертывание приложения в облаке
Следующий этап разработки - развертывание (deployment) приложения в облаке. В простейшем варианте, как в рассматриваемом примере, развертывание - это создание пакета специального формата, в который упаковывается информация о приложении. Данный случай рекомендуется выбирать путем выбора пункта Create Service Package Only в окне 'Deploy Windows Azure Project" (рис. 10.8).
182
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
Рис. 10.8. Развертывание приложения в облаке
10.9.	Поиск и указание директории, из которой происходит развертывание
При развертывании необходимо указать, из какой директории (расположенной на локальной машине) фактически происходит развертывание сервиса (рис. 10.9). Фактически развертывание означает, что теперь разработанное облачное приложение (как сервис) доступно в Web. Вот истинное воплощение принципа Software as a Service (SaaS)!
183
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
Рис. 10.9. Поиск и указание директории, из которой происходит
развертывание
10.10.	Отслеживание развернутого приложения в облаке с помощью Azure AppFabric
Работоспособность развернутого в облаке приложения можно проверить средствами Azure AppFabric, выбрав пункт Работоспособность развернутого приложения. Выдается информация о типе развертывания и состоянии развернутого приложения (рис. 10.10). Выдаются также важные для пользователя предупреждения, например, о том (как в данном примере), что на каждую роль имеется только по одному экземпляру приложения. Говорится также о том, что надежность сервиса - не стопроцентная, поэтому рекомендовано дублировать функции, т.е. иметь на каждое необходимое приложение как минимум по две роли. Напомним, что роль - это ^процесс, в котором исполняется приложение. Не будем забывать о том, что это - серверный код, и число запросов к сервису может быть очень велико, т.е. возможны отказы. Чтобы уменьшить риск отказов, и рекомендуется иметь как минимум две роли на каждое (серверное) приложение.
184
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
a PMFttmeHiwtivxiSi flj
ИЯ1ИИА|ЯИНЫ* l^iyMOUI, r^tTNUi UftVrtM KfJlrtlHWS И I СЙТЬ. ou-HpjiKHUjAj: «рдорси,
Рис. 10.10. Отслеживание помощью Azure AppFabric
развернутого приложения в облаке с
lj Тедж+гзтншьчые гпуп^ы
1 №Глг**-ГТи iTir^WiAiHrt*
10.11. Удаление
предыдущего развернутого


приложения (при нехватке ресурсов)
Если не хватает ресурсов текущей подписки, приходится удалять второе развернутое приложение (в данном примере - приложение safonov-test2, рис. 10.11).
185
Рис. 10.11. радение предыдущего развернутого приложения (при
нехватке ресурсов)
10.12.	Повторное развертывание приложения в облаке
Затем при необходимости, после освобождения ресурсов, облачное приложение можно развернуть повторно (рис. 10.12).
186
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
Рис. 10.12. Повторное развертывание приложения в облаке
10.13.	Выбор области для развертывания
При (повторном) развертывании необходимо выбрать область (регион) - см. рис. 10.13.
187
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
Рис. 10.13. Выбор области для развертывания
10.14.	Создание URL-адреса облачного сервиса
После этого создаем новый размещенный сервис (рис. 10.14), указав его имя, которое станет частью его уникального URL-адреса.
188
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
Рис. 10.14. Создание URL-адреса облачного сервиса
10.15.	Скачивание сервиса в облако с локальной клиентской машины
Как и в предыдущем примере, теперь публикуем в облаке сервис safonov-test3 (рис. 10.15).
189
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рис. 10.15. Скачивание сервиса в облако с локальной клиентской
машины
10.16.	Указание имени развернутого приложения
Задаем имя развернутого приложения, которое становится частью его URL-адреса (рис. 10.16).
190
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
Рис. 10.16. Указание имени развернутого приложения
10.17.	Активизация Web-роли для развернутого
приложения
Теперь активизируем Web-роль (т.е. процесс для обслуживания) развернутого, разработанного нами Web-сервиса (рис. 10.17). Состояние занято указывает, что в текущий момент еще происходит перекачивание сервиса в облако.
191
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
J УП₽й*ПвН<*
kJ Терри Тгрнл.гтък'ья гпутТ1Ы ] Е^СгЛгфл^Ти TTi[*wuto*t* ti Fwwuifww w>T*tw (1)
Рлчнкьр/оины» cpipe&j, ‘r’Jt’TbdJ* -UriklPM	и I
иггь	«ррцрси1
Рис. 10.17. Активизация Web-роли для развернутого приложения
ne>:iH«r<rt>4Ho« тиемне
CUEFF.QJ ] KiWHflS Pl
Ли»
W'NWU
Состояние
10.18.	Поиск URL-адреса развернутого приложения
Теперь, когда сервис развернут, необходимо найти его URL-адрес для запуска через браузер, как любой другой Web-страницы. Обращаемся к пункту Размещенные службы Azure AppFabric. URL-адрес указывается в правой части визуализируемой страницы.Копируем его обычным образом, через механизм copy/paste (рис. 10.18).
192
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
О Wndcws AzureP^rfcNTTi
uttnin Vl*dimJr brfsrwi* 1ыхм О
Рис. 10.18. Поиск URL-адреса развернутого приложения
10.19.	Запуск приложения из облака по URL-адресу
Запускаем новый, развернутый в облаке Web-сервис и видим привычное изображение активизированной страницы с нашим сообщением (рис. 10.19). Однако теперь мы достигли качественно иного этапа: это наше (первое) облачное приложение, которое можно использовать как часть доступных в облаче Azure сервисов.
193
В.О. Сафонов	Платформа облачных вычислении Microsoft Windows Azure
Mv ASP.NET Application
WELCOME TO A5P.NET FROM WINDOWS AZURE PROF. SAFONOV'S COURSE EXAMPLES’
To mm тир abc-Jt ASРЛЕТ ww mwjspppI.
tw alw ^дцэчейИ^
Рис. 10.19. Запуск приложения из облака по URL-адресу
10.20.	Копирование URL-адреса из облака в браузер и запуск по URL-адресу
Копирование URL-адреса нашего сервиса выполняем через AppFabric, через пункт контекстного меню сору (рис. 10.20).
194
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
________________________________________________________________________________________________ - • *
©Г -	К-juMrSMuli [JhtKkJtaTurto- г - ДирДОДОФ t«feirr^*i - ГЛемл^ег- ] Mui - 4) MySpJW C?№r*7 -
Hi ~	-----------....-_ij,|...ik|"i|"i---------..------------------------------...------- --------------.
Рис. 10.20. Копирование URL-адреса из облака в браузер
10.21.	Запуск приложения по его URL-адресу взятому из облака
Запускаем браузер и выполняем paste в его строку URL-адреса. Работает! (рис. 10.21).
195
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Ы
Jka
Г.....Г» - IT,
Рис. 10.21. Запуск приложения по его URL-адресу взятому из облака
10.22. Отслеживание приложения
запущенного облачного

Отслеживаем запущенное облачное приложение через AppFabric (рис. 10,22).
Наш пример завершен.
196
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
—	Лпп»спк^Х<»; 0,M.10,4!
Frrir—n ? rr.	C JOI t MlatwW! СОгртй<±1 Ъчшити п	TCmm.. mtanminwwi | C?T^U » ruprpiu |	imH U
Рис. 10.22. Отслеживание запущенного облачного приложения
10.23. Резюме
Мы подробно рассмотрели в данной лекции, каким образом может быть разработано простое облачное приложение, каким образом оно публикуется в облаке и затем используется.
Если бы подобный пример рассматривался лет 20-25 назад, слушатели сочли бы это за научную фантастику
Желаю Вам успеха в разработке, публикации и распространении Ваших облачных приложений в Windows Azure!
Ключевые термины
Проект - единица разработки программ в Visual Studio.
Сборка (build) - компиляция проекта в бинарный код.
Публикация проекта - создание конфигурационных файлов для его
197
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
последующего развертывания в облаке.
Развертывание сервиса - перекачивание информации о нем на компьютеры облачного ЦОД.
Краткие итоги
Visual Studio 2010 - основной инструмент разработки облачного ПО для Azure. Для разработки требуется инсталляция большого объема инструментов на компьтере разработчика. Основные этапы разработки: создание проекта типа Azure service; сборка проекта; публикация проекта; локальная отладка сервиса на машине разработчика; развертывание сервиса; исполнение сервиса.
Набор для практики
Вопросы
1.	Что такое Visual Studio 2010?
2.	Что такое проект (решение) в VS 2010?
3.	Какого типа проект создается для облачного сервиса?
4.	Что такое сборка проекта?
5.	Что такое развертывание сервиса?
6.	Что такое публикация сервиса?
7.	Что такое исполнение сервиса?
Упражнения
1. Войдите в облако Azure и выполните полностью разработку и использование облачного приложения для Azure, в соответствии с подробным описанием, ссылка на которое находится в правой части основного окна Azure.
Темы для курсовых работ, рефератов, эссе
198
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
1. Visual Studio - инструмент для разработки облачных приложений (реферат).
2. Методы разработки и использования облачных сервисов Azure (реферат).
199
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Основы практического использования Windows Azure
Данная лекция является введением в практическое использование Windows Azure. Рассмотрены особенности портала Windows Azure и основные действия пользователя в облаке.
Цель лекции: Практическое ознакомление с.Windows Azure - с особенностями портала Windows Azure и основными действиями пользователя в облаке.
Презентацию к данной лекции Вы можете скачать здесь скачать: httpy/old. intuit.ru/depaitment/se/pmsazure/ll/Azure_course_ll.pptx.
11.1.	Введение. (Новый) портал Azure. Основная страница
Практическое знакомство с Windows Azure каждый начинает с портала ссылка: windows.azure.com- http://windows.azure.com На рис. 11.1 показана основная страница портала Windows Azure. Слева - информация справочниго характера (включая "мастер" выполнения типичных заданий); справа - действия над инструментами Azure и практические примеры разработки приложений для Azure. К этому рисунку мы возвращаемся несколько раз в продолжение всего курса, так как с этой страницы начинается любое действие, которое можно выполнить в системе. Отдельная панель слева служит в качестве '’триггера" для переключения с одного рода действий на другие - Начало работы, Типичные задачи, Справка и поддержка, Программы тестирования бета-версий; чуть выше - "кнопки" для создания сервиса, объекта хранения в Памяти, а также Подключений (отметим некоторые неточности русской локализации: название Connect превратилось в Подключиться); ниже - Главная страница AppFabric (см. лекцию 5) и кнопки для обращения к компонентам AppFabric, английские названия которых локализованы по-русски самым загадочным образом и представляют поэтому некоторое подобие, как говорили в моем поколении, "загадочной картинки" ('Найдите здесь столько-то и такие-то компоненты Azure"). Но при известной интуиции найти их вполне возможно. Подробнее рассмотрим практическую работу с основными из этих компонент ниже в данной лекции.
200
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Интерфейс портала в целом характерен для современных принципов и инструментов GUI, прежде всего - для Microsoft Silverlight, который и лежит в основе реализации GUI системы Windows Azure.
201
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
О Windows AZLHPMdrfnrm	PT*"-"я	Q	1 yWertrUinCT	* О
гипнм-ь№ задлчн
П[1ИЕ TyilrlH H |M(Hlli' С Н11НЫН IHlfllclIHIH
44 IlftBbJl’ HOS-HOWHOfTM зтпгл пыпугнл -йг
tyiMH к palHiiet Wiriiftiws A/urr
РаРИКМНнЫ! Елрйы, M f4«T>w« 1ЛПИСИ	и
:«Ть -ЭШКрГННЦН* еаряврм
Создание первого помольного припомснип Windows Azure
“’* WM,T‘	NF'*'*,*i"*r*f Ф Vh^I
Шнид cnywfiu, ACCCrRI
** UmfnM и Или
Рис. 11.1. Новый портал Azure. Основная страница
11.2.	Типичные задачи, выполняемые в облаке
Результат перехода в пункт Типичные задачи показан на рис. 11.2. Их список у Вас перед глазами, поэтому перечислять еще раз излишне. Отметим, что гостевая ОС - это операционная система, выполняемая на Вашем клиентском компьютере при использовании облака. Разумеется, на Вашем компьютере, где работает Ваш браузер, операционная система совсем другая. В этом дуализме ОС - также специфика облачных вычислений. До сих пор большинство программистов не имели подобного опыта.
202
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
13
.	H№1
а Сп₽*з н гнщнцэжлэ
□ Г'Птлр.ячт’Ы 1 уС I члдимсч <MJ
;Jj Унрли пение уче гм ыии ihiihi umi
-- йднмнигтратлрпп
CW4>t*4 уивт’-нв
РаЗИНЦАНнЫ! ЕЛДОЫ, yVlrtlTwA 1ЯЛИСМ 1фЛ1'*1№<Р и сеть -зшируннцн* и₽я»рм
Развертыланнс приложений
ЦЗина cnprfu, 4шф«
11 Ijintnil и tjui
* tkiptyanHHU* «гь
□йшингснне раэиирнутил нрнгюжеиии
Предоставление содержимого. передаваемого "** по каналам с пысомой пропускной
L'lOl'Ubl'UtFI*»
п1 _ Подключение пока льны* компьютеров к jtJ widows Azure
nfcJctYTMi» «; мб4М t Wintfiw» Azun C*1n«t
Рис. 11.2. Страница типичных задач, выполняемых в облаке
ш,
11.3.	Справочная информация в облаке
На рис. 11.3 представлена страница справки и поддержки Windows Azure. Отметим, что локализованная справка (help) представлена достаточно полно. В необходимых случаях даны ссылки на документацию на английском языке (MSDN).
203
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Q I МЪЯТЫ
Qj tlTIMiwu
Lro*a ^гкцадаржз
LJ rtp^pjTfu	бч
Размернчык ыгрсДы, St y4*T>*J* тлпи™ Ъ.рлЬмЧ 1= И сеть -зширгющнх ирнрся
(J ЬДЫ flJhn'V"
цл ЦТчШти
[Цхнл tUTirw^Hj, АшгЯ*
** ijintitJ и Хзщ
Спранмл И ПОДДСрЖКИ
я нт	...... „п-1.,-1-— I.. ин,-............... п-.п-ш, ц । и
Рис. 11.3. Страница справки и поддержки в облаке
11.4.	Участие в программах тестирования бета-версий компонент Azure
Интересной возможностью для пользователей Windows Azure является участие в программах тестирования бета-версий компонент Azure (см. рис. 11.4). В настоящее время стадию бета-тестирования проходят Windows Azure Connect и Traffic Manager (см. лекцию 8). Вообще, работать в Windows Azure интересно еще и тем, что Вы работаете в постоянно изменяющемся окружении - появляются новые компоненты или их новые версии. Это - тоже интересный и полезный опыт.
204
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
а >йчам> ойаты
 trinnuMt К41ЧИ
а Сл₽ав>а т«д«*иа
u tVXtbPTv	И
ЧПи(ипм<^ 1ВПВ>Гт' гЛУЧкСПШ  гкк>^вми* Г»СГг<И'Ы'-ч1М btti-ВЫКИМ,	<f UMlVJWtB ТКм»Г|	HI v>*4<ver.
Е-Л*Ч1Д1РИН » ПНфЧНШИ ТЦ1ПВ-Р*
Рис. 11.4. Страница записи на участие в бета-тестировании Azure
11.5.	Управление развернутыми в облаке приложениями
Управление развернутыми в облаке Windows Azure приложениями подробно описано в лекции 5 и лекции 8. Здесь лишь дадим краткий обзор GUI, предназначенного для этой цели (рис. 11.5).
Управление GUI (меню) расположено вертикально и находится под надписью Windows Azure Platform. На рис. 11.5 показана лишь одна функциональность - управление развернутыми в облаке приложениями. Все эти возможности относятся к компоненте Windows Azure AppFabric. В таблице представлена информация об имеющихся в системе у данного пользователя подписках, рабочих ролях (worker roles) и Web-ролях (Web roles). В скобках показано число экземпляров каждой из них, имеющихся у пользователя. Данный GUI может быть легко настроен (customized): можно изменить число выдаваемых атрибутов.
205
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
. "г':	__________________________________' м • 1 < i-₽«-^-p-«r™_“L
x	- -)ГЪ|Ц«- Дйьоли.гл—»	. Mm A
0Г -	4 - Vj'iiiu.'.h [J.Jo^rurb- Г imirvjt -	'Aeie^r- J №11 - 4) MyS₽J« L?f*T*7 -
£j WindOWS AZUtEИлНгИТП	pr*»»J j£| IW.^nrr.rrwmn 1/W.mr 'kJcrwnr H»fl "
J РЛ6СГГ«Л<1?0<$К>0¥ t4jt4l
j Тад»ггс$м1Ль<1Ыв гргглы _j сяг><»«лмл*счелФ«> a hu*i/b«yufl отумС*1 (1)1 U Ученик fdlimn »рйнеяи« Q УПрЛЦГИИЖЧ ПО^-Ъ^ЖАЛЯ
pj Глаыаи
Разминании* слухе ы, уЧ»П*И| 1ЛЛИСИ 1^'llrtWH» И сеть ’OUHp'i'Hiuidb cepflipce
|J Дмад
Vl4»rw
Щинл службы, ACCCrRC
& CanjrcJ и кзш
> *.	q^rt
Рабпrev.пособи™.it 3MjtM.-pi<i/i«о приложении
ГеАмие MiurtnunoHU» 10]
Ривччме киш (qj
Рабочие Joe^rtflASM (0)
Лроиекугвчише рчжстгшмния f L)	HcnpMIM fI)
n«HfW’|T?4kH4? fw [1J	Исправно | I]
Поонехутсчиже хинплирж fl)	Нспрл»ио(1)
It H> « « <-*l K"l.........
- « -1НГ 
Рис. 11.5. Страница управления приложениями в облаке
11.6.	Получение бесплатной пробной подписки на Windows Azure на 30 дней
Каким образом Вы можете в настоящее время (сентябрь 2011 г.) получить бесплатный доступ к Windows Azure?
На самом деле каждый пользователь компьютера, подключенного к Интернету может получить бесплатный пробный доступ к Azure сроком на 30 дней. Очень рекомендуем воспользоваться такой возможностью.
Для этого прежде всего необходимо бесплатно зарегистрироваться в Windows Live (на сайте ссылка: www.live.com - http://www.live.com), где Вы получите логин и пароль. Логин связан с Вашей электронной почтой. Windows Live - это набор бесплатных облачных сервисов, - например, на этом портале доступен бесплатный облачный аналог Microsoft Office и бесплатная почта ссылка: hotmaiLcom - httpУ/hotmailcom
Затем войдите на портал ссылка: windows.azure.com http://windows.azure.com и выберите пункт о получении бесплатной
206
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
подписки на 30 дней. Вы будете переадресованы на специальный портал ссылка: windowsazurepass.com - http://windowsazurepass.com (рис. 11.6). На странице указаны условия бесплатной подписки (предоставляемые ресурсы). После принятия от Вас заказа на бесплатную подписку Вы получите ее в течение нескольких дней, о чем Вас известят по электронной почте.
207
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Jr	' •'Ir-JUHU,	4
«4МЙ1	Lffrc^atlc- yfn^ 1 u^bir How - ф1 F.V-.-><-n£p-r —	] FZid -	F J Fixrrfc —
Л/Windows Azure
MicHJcoKi Ctautf ^Qmputing Platform	Se»th Wrxfciwi Ают	[J
Windows Azure Dletform 30 Day Pass
fr* №-4»i* АЬич й'КЧ'П' M Mji mil r-0d4ei 1*» №«*-*g rtfclJcH
Windows Azure □ ZS~» LL<ro.:e •'-rjrxe
SQL Azure	Ii;<rtr>rt-R«*k4|i1 p№ ИЧ4М LM.JJI Ait№«rt<llMl4«nnr/l4q Р*л<*
□	Jwn 1 кЛ УМ D*WMtt	1 _л«-±
LJLfcfijiJ
AppFabric
H "illJM Aiirn ft=4nd Тг*Гфк<|Ьогг> В ' f-л i*™* Cqw^TWl^T,
□	Ddtd Translers
П iSi.t
П *" is £3
Рис. 11.6. Страница получения бесплатной подписки на Azure на 1
месяц
11.7.	Вход на портал Windows Azure для запроса бесплатного доступа к ней
В Windows Azure предусмотрена возможность получения (заказа) 30-дневного доступа при входе на портал ссылка: windows.azure.com -http://windows.azure.com (рис. 11.7). Если у Вас пока нет доступа к Azure, Вы можете его получить, нажав кнопку Подача запроса. При этом Вы должны быть зарегистрированы в Windows Live.
208
undefined
Windows Azure Platform
Th* Wuidovis Алл* Bliiformit sri int«n*1 -tcjJ* cloud <ampi*inq itrmti pluHoim tailed in hfcioMsCt du!» геп№ 1 Tbt Windowi Attire pLulntm Uglich pt<j J runge of tuncHo n^tny 1 о build applications that tp.ni frorn consurnrr u,+b co enterprise srfuinbj., mdvtfex a «laud servictf орн-вчпц nt tern amf a set or dti*lopw
1
Appttibr^ згг Itir Lt-} tampDitfiitC Ы Itw pLitlcrfitn
[Jen't h«v««n A«1Hint jttt fAigri up
MianinH | ifndllnvd I ijnrftlin<d
UniMl1«1 f-d | iiF™<in|d
Рис. 11.7. Вход на портал Windows Azure для запроса бесплатного доступа к ней
11.8.	Резюме
В лекции дан краткий обзор принципов организации портала Windows Azure, получения доступа к ней и основ работы в Windows Azure.
Рекомендуем коллегам использовать уникальную возможность практически освоить новейший инструмент современного программирования и решения прикладных задач.
Более подробный практический материал представлен в Лабораторной работе 1.
Ключевые термины
Windows Azure - система облачных вычислений корпорации Microsoft
ссылка: http У/windows, azure.сот - портал Windows Azure
ссылка: http У/windowsazurepass. com - Web-страницы для получения
209
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
пробного доступа к Windows Azure
Windows Live - портал, предоставляющий набор бесплатных облачных сервисов фирмы Microsoft
ссылка: www.live.com - http://www.live.com - портал Windows Live
Краткие итоги
Интерфейс системы Windows Azure реализован в виде портала ссылка: windows.azure.com - http У/windows, azure, com Все типовые действия и элементы GUI имеют вид Web-интерфейса, что приходится учитывать при работе, но к этому пользователь быстро привыкает. Через Web-интерфейс осуществляется настройка системы, получение справки и поддержки, управление сервисами, обращение к хранилищам памяти и базам данных, сетевое взаимодействие. Доступ к Azure можно получить через Windows Live (ссылка: httpy/www.live.com - httpy/www.live.com) , бесплатно создав на этом портале учетную запись и запросив пробный бесплатный доступ к Azure на 30 дней.
Набор для практики
Вопросы
1.	Что такое портал Windows Azure и каков его URL-адрес?
2.	Как организован Web-интерфейс Azure и в чем его специфика, по сравнению с обычным GUI?
3.	Как получить доступ к Windows Azure?
Упражнения
1. Войдите в облако Azure и выполните все те типовые действия, о которых говорится в данной лекции.
Темы для курсовых работ, рефератов, эссе
210
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
1. Пользовательский интерфейс системы Windows Azure (реферат).
211
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Инструменты Windows Azure
В данной лекции рассмотрены вопросы архитектуры инструментальных программных средств для работы с Windows Azure на различных языках программирования.
Цель лекции: Ознакомление с архитектурой инструментальных программных средств для работы с Windows Azure на различных языках программирования.
Презентацию к данной лекции Вы можете скачать здесь скачать: http://old.intuit.ru/department/se/pmsazure/12/Azure_course_12.pptx.
12.1. Введение
Azure AppFabric Software Development Kit (SDK) - комплекс инструментальных программных средств, который предназначен для взаимодействия с облачными приложениями Windows Azure из пользовательских приложений, написанных на различных языках программирования.
В частности, имеется возможность взаимодействия с Azure AppFabric средствами языка Java и Java-технологии - пакет jdotnetservices.
Краткая информация об этом инструменте и ссылки для его скачивания приведены на рис. 12.1.
212
AppFabric SDK for Java Developers
itoiric | Tutorials [ Download | Roadmap | Community | Announcement | Soured'orgc
Download
 ЛррГаЕкю SDK Юг Java Developer* jar	idotnetservws- v 1 .a sdft иг.no
« AppFabric sdk for ]»v^uPveiuPHr» «инея - rJflTntTitn'liaS.-Xl.lJ jdLtgkf U JJJ
* «alMlbchboj'rd C-wq application source - idctrjgLiflr.fliES-.l'Jafl-.Mmnilf,il Г1
ruruq uisl Еиь
• ib fthri St>l' Is rooted wiEh JDK e Updjlu 1J, but will work with Power voriionil jlM.)
4 1Ш tfc .ImlsJitaaliahJi tiJawad (tfw utfuct 15 to«<d with WJjtol wlijesj
 ДрлНм Ant
’ EqranMtlMfadibjft
SDK In.itn 11л tian Gulrta
1. QPiEi you have inatalied the prerequnitea, sat ToflovniMl environment vanaUH in SY5TCM. Modify 1»1мев, il n
is dilleitn4 in »Cur machine,
Рис. 12.1. Windows Azure AppFabric SDK for Java
12.2.	Azure SDK: инсталляция и использование.
Страница с информацией для инсталляции Azure SDK приведена на рис. 12.2.
213
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Ф Windows Azure	SQL Azure
*! tCi Hr	(twtrf %jppirt U«td 1ЧГкч. - Erwjlrt3i
1 ’ownload Windows Azure SDK
All In-One Install ar ion (Updated September 2011)
DCwniCad ллЗ jruljli <ч*гуйигк) m-tthorw timpl» int1iU»r
	Windows AJurn tools 1гж Mup&oh Visual Sltidip*
	Windows Alum SDK.
•	Visual Web Dtf-<elpp*< 2010. if you da rw< iutt Viiua> jludip JD1D
. ASP.NM MVC3
	Wirtdbwl Ajurt AppFjt»KSpK
	Rt-auimJ Ш («Пии iBrtirfli
	PiKjuiiwd hot
Standalone Windows Azure SOK
If you .Vr nat ulrng VrtuJl Stiidw> jWu tan dGwHlOAd ttir mirf>l№ Window* Ahirr ЧН2 Jr provides d’wJl'PPT'S «ПЛ Th? APt- bail'i Ipdlf. dC'tun'iijntjijgn. and sample nirtdl'd Ip dir^Hdp 1пйгпв1-ка1е исИсаЕюм 1Нл1 nwi t«i weidom Autre.
Windows Azure SDK Previous Releases
+ March/August 2011 (Vatiran L4J-
+ Ngvmbcf 2QHJ [Vpjifn J-3|t
+ j4w" 2010 1Л
+ FHOfuajy Jt)lQfVi44iOn ] It
+ Nqvc«nl}&?(X$ fU№ian Mt
Other Language SDKs
[+*$сж rar Jdvj
+ SDK for PHP
+ SD* far Ruby
Additional Downloads
□ rir.-tlfipr/itvil huSpCMliAj Other la’njuayes
Рис. 12.2. Страница для скачивания и инсталляции Azure SDK
Существует два способа инсталляции пакета SDK для Windows Azure. Можно загрузить и установить весь пакет с помощью инсталлятора вебплатформы Microsoft, либо установить изолированную версию пакета SDK.
При использовании инсталлятора веб-платформы Microsoft
автоматически устанавливаются следующие компоненты:
•	Инструменты Windows Azure для Microsoft Visual Studio
•	Пакет SDK для Windows Azure
•	Visual Web Developer 2010, если отсутствует Visual Studio 2010
•	Требуемые параметры компонентов IIS
•	Требуемые исправления
Загрузить и установить инсталлятор веб-платформы Microsoft и пакет SDK для Windows Azure можно со страницы загрузки инсталлятора вебплатформы Microsoft.
Гостевая ОС - это операционная система, которая предназначена для использования на клиентских компьютерах и под под управлением которой на клиентской машине выполняется облако.
214
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
В таблице приведена краткая информация о требуемом соответствии версий Azure SDK и гостевой ОС:
Windows Azure Guest July Windows Azure SDK version 1.4 (March 2011)
OS 2.6 (Release 15, and Windows Azure SDK version 1.3
201105-01)	2011	(November 2010)
Следующее программное обеспечение и конфигурование окружения на клиентском компьютере необходимы для инсталляции и использования пакета SDK для Windows Azure:
1.	1) Microsoft .NET Framework
2.	2) Internet Information Services (IIS) 7.0
3.	3) Уточнение требований к системе управления базами данных (СУБД) для использования эмулятора Памяти - Windows Azure Storage Emulator
4.	4) Апгрейд с предыдущей версии SDK до новой версии.
Перед установкой пакета SDK необходимо завершить работу всех запущенных версий эмуляторов хранения и вычислений Windows Azure (которые раньше назывались структурой развертывания и хранилищем разв ертыв ания).
Пакет SDK доступен как в 64-разрядной версии, так и в 32-разрядной версии.
12.3.	Резюме
Windows Azure предоставляет широкие возможности для взаимодействия пользовательских приложений с AppFabric. Уточним еще раз, что для использования Windows Azure требования к клиентскому окружению невелики - наличие браузера, но для разработки облачных приложений для Windows Azure - они достаточно высоки. По личному опыту автора, например, на компьютере с Windows 7 Professional удалось инсталлировать все необходимое окружение для разработки, а на компьютере с Windows Vista - нет (поскольку потребовалось устанавливать пакеты обновления).
215
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
В целом, автор выражает искреннюю признательность группе разработки Windows Azure и Azure AppFabric SDK: разработка простого облачного ASP.NET - приложения (т.е. фактически, современного Web-сайта), его развертывание в облаке и последующий запуск по URL-адресу выполняются весьма удобными средствами и очень быстро. В лекции 10 подробно описан пример разработки, развертывания и использования приложения для Windows Azure.
Ключевые термины
Azure SDK for Java Developers - программныйинструментарий для обращения к компонентам Azure из программ на различных языках.
Гостевая ОС - операционная система, которая предназначена для использования на клиентских компьютерах и под под управлением которой на клиентской машине выполняется облако.
Краткие итоги
Обращение к Windows Azure с помощью API возможно из некоторых языков и платформ, отличных от .NET, - например, из Java. Соответствующий инструмент называется Azure SDK for Java Developers и бесплатно доступен для скачивания. Аналогичные инструменты доступны и для некоторых других распространенных языков, например, для Ruby.
Набор для практики
Вопросы
1.	Что такое Windows Azure SDK for Java Developers?
Упражнения
1. Скачайте Windows Azure SDK for Java Developers, инсталлируйте
216
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
его, изучите и напишите простое приложение на Java, которое обращается к облачному сервису Azure.
Темы для курсовых работ, рефератов, эссе
1. Архитектура и возможности Windows Azure SDK for Java Developers (реферат).
217
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Методы применения Windows Azure для решения прикладных задач
В данной лекции рассмотрены вопросы применения Windows Azure для решения задач в различных предметных областях и поддержки решения прикладных задач в системе Azure.
Цель лекции: Ознакомление с методами применения Windows Azure для решения задач в различных предметных областях и с инструментами поддержки решения прикладных задач в системе Azure.
Презентацию к данной лекции Вы можете скачать здесь скачать: http У/old. intuit. ru/department/se/pmsazure/13/Azure_course_l 3 .pptx.
13.1. Введение. SQL Azure Reporting
Система Windows Azure только начинает распространяться в мире, ее компоненты создаются буквально с листа. Тем не менее, разработчики Windows Azure и ее квалифицированные пользователи - программисты коммерческих фирм и университетов - постоянно заботятся о том, чтобы не только "вариться в собственном соку" разработки инструментов, но и использовать Azure для решения прикладных задач. В этом - одна из важнейших целей Windows Azure, от успешного достижения которой зависит само будущее Azure.
Одним из первых шагов, предпринятых Microsoft в этом направлении, является реализация генератора отчетов SQL Azure Reporting по базам данных, доступным в SQL Azure (рис. 13.1). Разумеется, возможность обращения к генератору отчетов из облачного приложения Windows Azure весьма важна. Например, она может быть использована в облачной системе электронной коммерции (е-commerce), в которой используется база данных в SQL Azure, содержащая информацию о динамике курсов акций, - и в целом ряде других прикладных систем.
В данный момент (сентябрь 2011 г.) компонента SQL Azure Reporting существует в бета-версии.
Для доступа к SQL Azure Reporting с основной страницы ссылка: httpy/wwwazure.com следует выбрать в левой части, внизу пункт Отчеты
218
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
(рис. 13.1).
Выдается информация о последовательности необходимых этапов работы: подписка на бета-тестирование; предоставление услуг.
219
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
SQL iyur-r Repotting Service* CTP
1. Sign Up
Int^CMTrnJ irt flCdirq ЛФ so< AziWfl Р1*1КхТлр tXMMiWrt Ed уОХ Wireline АЯЛ, .’ipdlic-iriiVi'» Wdrtt Ed trfi
□fiJcToiiji-e rich cloud tutrd rnpoct: omtwddcd wttw yrur JoCjJ elemi aiXihuiitxi > the SQL jLdjrr
fcpipcmnp 19 пел* ^Lijpcmg r*p«tra.tl<X4 to parnapatlf in cur CTP
iT SQL Azure Repoiirvj
Глаыая
PAjHOumnirwa 4цття1$ы, I	записи транвн*’ и
да->, ►auwti'i'HXwi слслгрите
Биа данных
Crr“rt*
Ш>*1Л U¥V|5m, AWrtJJ ’ QaWIJI и h>_u
t\ ВирГуапынЫ сИГь
h”5W
PTTh'ilifch
2. Prevision
*1г«Лг up Ж10 hri? *" irmtibm С7Й’ Cr^tl ₽4a>e (t*Cm rhe trqMiwrwhfl У.тгЯ (n remOirtt MitLireg up рХ.т SQL Anjiv pBoOrtintj LTF iK.e™rM. Vcu will need учил mviLirjnn tcd« лм! <r> ecbm tnp-e piJCfrJrm 5иЬ$1Д1СФог.' thit «'ll <4W*^irp mr Azurq hqHjitmp C’fp fwviCJ
For mipr-s inrorniMPh s&eut HJL Aiurt Ркчуппв plea» v*rt ui i~hhb,
Рис. 13.1. Обращение к SQL Azure Reporting из облака Azure
13.2. Краткий обзор возможностей SQL Azure Reporting на облачных страницах
На рис. 13.2 приведена облачная страница Azure, содержащая краткий обзор возможностей Azure SQL Reporting. Эти возможности аналогичны функциональности SQL Server Reporting (не облачного варианта СУБД).
220
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
-r JA	уГг\и 1 яйыгНи» » у Г.У.хт^т- ] Mid - ГЛ)ЧрИ< Fj Htbj -
SQL Azure Community Technology Preview» (CTPs|
Ji Mkr(jeof["
SQL Azure
TtUnk yoy (gr ypw inlwvvL m SQL Ajijrtr Pvporbriq jixJ SQL CLjLj Syhc Out» to О rant-ttltjc. rewnse >o those nrotmims, rtaMraliwi lor >he SOL Azure fteoartIna LtmUed CTP and SDL Azure PJtJ bvnc LTHZ now cJpiCtL bar there ntrcady rrqi'ifi'rcct, irtvit.-ihanr. To participate and try out The uei wcv? will W wnl ppi us- wo raipnvv to buM out capacity.
Ef >du arc intc.rmitrd in thr SQt AJirW Rnpurhriq public ГГР and/Or futieTr гГЧса^с! Of Sfjt AZidir (Uta Syne (both cum mg kte thia year}, plejse uie Uh; Sign ttp Howl 'rJc below to rtgialer Гог гюйГгСлЬоп-
SQL Azine Reporting СГР
SQL ЛтигА ЙарогРл] eniMni dd-velopfrt tti
mdidnce Uwir dppbcel-ют» by embeddwg cloud bM&d reports an mFarrnaOan atered in a SQL Azure
databam. IHivflnpciri can author repnrts unrig ГлпгЬог SQL Server Pepnlmg Surv^zqa booh dnd then uee theae repwti in Ow applitab«4 which may bo an-prmuia n ar in ttwi cloud
SQL Azure DaLa SyncCTP 2
With htjl Aturfr Data бупс С1РЛ we any de¥>ermy in update to SQL Azure Ddtu Sync to enable aynchrwNzatHjn between on ргмтвьпл ЪЦ| Server arid SEJI AJurc. giving cuiloniera gi eater IkutuhLy m budding Bdlutwna that tpan on premsti the cJoud
Ef you ora inferr'ttod >1 parhCipaluig in сл* Of [ho above cr ermild lin
tii rrtcerra updates on
avdrlab+ty of these new services,. д!кк ’Sign tip Mu-rv''
Tou wd in*cat? which CTPz you wduW kke to partK^at* n durmfl Step 2 cl aw praceaa outtned betaw.
Sign Up Nawl
Рис. 13.2. Краткий обзор возможностей SQL Azure Reporting на
облачных страницах
13.3.	Портал Windows Azure Marketplace
Кроме генератора отчетов по базам данных, пользователям Windows Azure предоставляется широкий спектр облачных приложений, для хранения, рекламы и распространения которых корпорация Microsoft предоставляет портал Marketplace (ссылка: httpУ/datamarket.azure.com) -см. рис. 13.3. Фактически портал Marketplace - это база для накопления полезных облачных приложений.
221
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
One-Stop Shop tor Premium Data and Applications
Hundreds of Apps, thousands of Subscriptions, trillions of Data Points
Free Trials Now Available 4* UrtcT С»ИК
_S_ В W*l
WH-rio/rrAimv
applications
data
IHLftlAl UdiW №.lu
(yNdata I>rjintz»l5on
announcements
W-4SW4- *-VT Ujrt<nr4<f Nrwi
I num В L111> нлгии-ы о kJ hi W Oflt-nmp jrd klEfraOb-'J A'n»<ibikr/
Рис. 13.3. Windows Azure Marketplace - основная страница
13.4.	Предложения программ и данных в Windows Azure Marketplace
Среди программ и баз данных, предлагаемых пользователям на портале Marketplace, следующие (рис. 13.4):
-	Ad Manager - облачное приложение для распространения рекламных объявлений;
-	Claims Service - облачное приложение для обработки данных страхования;
-	UNDAIA - облачная база данных ООН с информацией о развитии промышленного производства в странах мира за период с 2003 г.
222
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
applications
data
a nr on nee "nents
Ad
proa/ct & theBn*, Cfl c r xu 3 г iUttu n tbr tne^rtf »d»nrw4 "WJvni >n A pnwdei >:-njr«r r*ti
ibwreittrvkc
толиг tjkrt <K«n on Ьз
*45 Нч? «и* pod
hive luXd dvil mtHt w_
QjNdaca
(yNdata
1ИИ1АТ United NUttm
I ndJ** h СИ U evNopnvent
IhO'iTi’iT+Re, J vCrlxtt line гею tfjt* on fire stkHtd dat* iter~e fz< tbt ре*чх( CQitrrvj Л0f ЛЯГ k'l 1 ли nirvigsl
TttecВТПГРЧ1 nic*rlWlCI led k* ton tl»U - Lnt«w*_
IlVfWeeW rei«.offlmi№^i«0CT |тк1клЬыч. Г'лШичж я. I*w гплпг tOvr-te l>1 4bb*l Ind irttnubonjlly <jjmp*ntle и4котп«л_
W*-riow4 Ajurr	hi 11 L
Нэт BJILt1 AnnoM-xii^ MW Data СПепвм * nd Ь-ИепмВм*!
*rr4«lnLu'
He* Ted»/, Mine W.nddfti Vur» MjrT«tpl*<t Cpntpil ft Ckn
Tt* fad L ViuH rr-AJ KtYpil't *141 C4vjd	И1УЦЙ
4*1* Цся>р nd 74>'7 ж
AvifjbW ttofi- 'rtlnd-jm Дал» МаАефт СрлцгИ ft T?oli Uixtdlr
hrfl AnnfiWbtd 7J>ndMvt Aiure M*ArtpU« £te*Jv3: Ax nlxiVsA SrOnvi L rtm In Ub tin Let.
Aficnssaff
сонглстиь- ftEDMCK FAKINWS TIKMS O* ГНГ/ДСТЯЛ ИМЕН! TRAMMAFJU f]
Рис. 13.4. Windows Azure Marketplace: Предложения программ и данных
13.5.	Приложение LiquidSpace в Windows Azure Marketplace
Среди интересных облачных приложений библиотеки Marketplace -приложение LiquidSpace, предназначенное для заказа мест в гостиницах, бизнес-центрах и др. (рис. 13.5). Приложение также обеспечивает регистрацию приездов на конференции и отъездов с конференций, и т.д.
223
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Brt- '.Udew Sa’cro', шф-фдо Swyt
£7 Windows Azure
Marketplace
(pam	Application*
Data	My Account
НЙ»Л » ЫЧИГАГТ™'! * 1Щ1Я№₽Л£Г
E£ UrquitfSp^ce
LiquidSpace
Eipplicnliwi
UfflOfHl	R«U Edit! llttfl Ttch 1 EeBWKJ RUN 1 1-КцмМГг
JJatvartrt	ffMjqil
- f mv	«ли ** iw du1
ЫлУгСрч*® o'HHirua хч! г» ккСвсЗ t^nj
Tt4 :-ubo»Wf tx fw cm*wci
Ujfl laWflSwtd *? ffW KJCO 141 "«И *r4JP S41 mwfl n, «41П7ЛХ ZW mj fou cm trr* s{>«« Cl Ьч|1| ч 1J	r<nrttH,, hv ч(л1цкгьжт'лч) *p«r>, pr hc4?l
«гНвтв’чр гмхти You cm ттвл irioci p”v>ti k*n tr ।	il tftn that
ЧМ ipstt to kite kayvubiKi  &вайч Ьангркв si м«и* лмит,! ngHtmv to» вдк* +x i& rwmnii o' i »,'  lews ум [хИаочкп - Ncwity Ik ЛЕЦ! 1ГИПЖ1 pnntwi pfcriK рХЧИЦДЛО ПКИ*'3¥T1(»* ITd 4»CLrt> Л ut ufj . Qjpww tjy Lljuyi Lwnai ил of nwecnj aiK	»'imu»*
*«Г1*ЬШ4 iVQkta4rtt*4i	алел	jWraWiiUrt pnc/^
mfl r™xt - ftcf» П^йлув № Wuti t№ tpr.WII - OXi«wWnt trwx*-, л-d cMck CTjI Of vwfni«»
Рис. 13.5. Windows Azure Marketplace - приложение LiquidSpace
13.6.	Приложение Online Application Management в Windows Azure Marketplace
Другим интересным примером облачного приложения, доступного на портале Marketplace, является приложение Online Application Management (рис. 13.6), предназначенное для обслуживания разнообразных онлайн-запросов - регистрации на конференции, подача резюме потенциальному работодателю и др. Система интегрирована с распространенными системами электронных платежей по банковским картам.
224
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
-	-x4	IkictrrwL 4- p L-dnvp — jX. Up^i»dr ffrv" 1	- Xr I.V-.H"nyr — 1 ,] M41I -	Lj Krw> -
i-Xhs '.^Ивд^йл?^ We-w/d* Shwyt	j|
Marketplace	learn Application* Олта	My.
.“Windows Azure
НйМГ ' 41А1ГаГШ ЧЖИН> APFIKAIJUW MAHAtit-MtHJ
Online Application Management EippliizEilimi
₽u»*n*d Dp	(Uufine Ir^rmatun
LU щртш	LwtmrwT $k «гк 11 ЭДим*
“fr*v- «дали, ** iw ocr KjiCivc оЯттун sod ait йч иЛяМс Ы hw cmew-M
Рис. 13.6. Windows Azure Marketplace - приложение Online Application Management
13.7. Приложение EarthPopulation в Windows Azure Marketplace
Весьма интересным облачным приложением на портале Marketplace является приложение EarthPopulation (рис. 13.7) по оценке и прогнозированию народонаселения в различных странах мира, включая такие показатели, как число жителей, прогноз рождаемости и смертности и др.
225
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Пв* '.ТМГМ
Application?
О Мл
М/Агсоият
yjNaata
<JTWTl« иЛПйЦЛ
Wu SOXxj
‘.Vi idowsAzine Marketp'Ke
HtfJUf ' tub * WflftLI) П>ППЛ1ИЖ РЖИНН14. ГНЬ ННКЯЮТОЫ IJMII—
World Population ’rospects. ’’he 200S Re.ision - United Nations Population Division
dam
Th* L™»o	A'aW PnjxMix^ Pto4:*-U Tn* XBA R-rrfiJon td^rtarrt »«a-nilM
vKe ИЙ0 ^nd onjOitiV’e unOJ jT14l W iSWji -CllM*.' л ffw xrtl niUli^ tatundl tr and рлг^к Vcek i>T Л аигс^Г pptW: nkdhsH (ииЛ tiffi istlm ДаЛГи



вМеИкмкйоду
fi Lnf*art Sj< jitwI
t4ibh\tinr Irinif Of Uw kpмшисьs
Рис. 13.7. Windows Azure Marketplace - приложение EarthPopulation
13.8. Лабораторная работа no Windows Azure Marketplace
В блогах MSDN доступна информация о лабораторной работе (hand-on labs) по порталу Marketplace (рис. 13.8). В общей сложности, на этом портале более 1000 облачных приложений и баз данных.
226
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Wtfa $4Muh (ГосЛггигУъ — P 'irtiirwp » Up^edr уГцн 1 ОЛыгНи» - ф ^VlXTI^T- ' ] MaI -	FTJNtvq -
/Windows Azure
HOME ttlOtS* VIDEOS WNDOWSAZU^COM
Рис. 13.8. Лабораторная работа no Windows Azure Marketplace
M5DN Ек-в » WrfNfowi Aiu^i » Nf# t&diy; MartWtndcwiAzura Mirkf [pint Санине a HMidi On Lib
New Toddy More Windows Atu re Mdrketpldte Content & I Id nds On Lab
W-nh-^AhmwT™, An-
il'S Imt aijun 1rH the tnleaie Al nlore eliciting (lew Windows AJutr M«rkeLpltCt Mnlenh Tg^dly w£ AwWhiiWT T-tw to 1IW hlJrWtplMV' iif -<£> iWr Jfhp4tCirnWK and j gr»l ntw dill c№f from LexLifJcxIa, утгцрчп С<7пщт»г Ltg*l	 ГасЬлпкоН ц wnnrn by
l^ivyeb Ш а гтнппг thals autbcrilaln'e- end 1пГопПа1гег_ yrt eesy enough 1Ъ« t ncn-lawytr 1n underfund.
Adys AiTiTdtjiXtd Tiwliy, the-	of the Auqu'.t /011 opiate- to iru“ WiiSdovri Ajuto Plartarfrt
training kii UKiudM i mw НяясН-вп Lib (HQLf. Inirotfvnffl’. to Wiodowi Amr* MiAaqUict Г<аГ ApptujtiCrfil Jn thu HOl yOU will 1 лк? ап гл>1>Пд appliCalWn through 15»e lull piO<C-> cl prepping tfw*appt><jticn cede tp wfirk with )hr mArkelpUce, J? wfU pt The ptMiHA uf HibmrtlHiy the jpphpaiKm p$jijbta<K?<i-.
Vtiu can do-ankjad the updated Windows JJure Pljtlmm 1 raining kri Augers! 2011 RetreUi frpm tlw МтспрюЛ dnw™?Jd nrilvr4
' Windowi Alurc	AnrkijurttnnirhT^ Мы-ксрЙГ*
Content CatMjcrie*
OWindnivi A/urr
G SQt Arurt
© AppFatWlC
Q DatflMarfef
О pt torn
* Eloq HDfflf
M Emid Jlt?g Ajjihtji
* ShAirthll
n RS5 <tx piwil
D ASom
Tags
Announcements «_
B-LlSjflifM Ca Cloud Cod» bwnpl» r11--.._	I Artis e
13.9. Резюме
Несмотря на "молодость" Windows Azure (многие компоненты и приложения Windows Azure только появляются), авторы хорошо продумали вопросы использования Azure для прикладных задач. Это -одно из наиболее быстро развивающихся направлений Azure.
Ключевые термины
SQL Azure Reporting - сервис для генерации отчетов по базам данных SQL Azure
Azure Marketplace - портал для накопления и распространения полезных приложений для Azure
Краткие итоги
Система Windows Azure только начинает использоваться в коммерческих разработках, но ее авторы активно занимаются вопросами применения
227
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Azure для решения прикладных задач. С этой точки зрения, очень важную роль играют два направления развития Azure: SQL Azure Reporting - генератор отчетов по базам данных в Azure; Marketplace -портал для накопления и распространения прикладных программ для Azure. Эти программы и сайты рассмотрены в данной лекции.
Набор для практики
Вопросы
1. Что такое SQL Azure Reporting?
2. Что такое Azure Marketplace?
Упражнения
1. Войдите в облако Azure, подпишитесь на бета-тестирование SQL Azure Reporting, получите доступ, попробуйте в работе, напишите и пошлите в Microsoft отчет о бета-тестировании.
2. Изучите сайт Azure Marketplace и попробуйте в работе все приложения, опубликованные на этом сайте.
Темы для курсовых работ, рефератов, эссе
1. Архитектура SQL Azure Reporting (реферат)
2. Обзор портала Azure Marketplace и доступных на нем прикладных программ.
228
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Windows Azure и аспектно-ориентированное программирование (АОП)
В данной лекции рассмотрены вопросы взаимодействия двух новейших технологий и парадигм вычислений и разработки программ - облачных вычислений и аспектно-ориентированного программирования (АОП) [1, 2], в котором автор курса является одним из ведущих экспертов России и широко известным специалистом по АОП в мире. По мнению автора, изложенному и обоснованному в данной лекции, АОП может быть с успехом применено к облачным вычислениям, в частности, к системе Windows Azure.
Цель лекции: Изучение и анализ методов взаимодействия облачных вычислений и аспектно-ориентированного программирования.
Презентацию к данной лекции Вы можете скачать здесь скачать: http://old.intuit.iij/department/se/pmsazure/14/Azure_course_14.pptx.
14.1.	Аспектно-ориентированное программирование (АОП): общие принципы. Система Aspect.NET
Аспектно-ориентированное программирование (АОП) [1, 2] - новый перспективный подход к разработке и модернизации программ, предназначенный для поддержки сквозной функциональности (crosscutting concerns) в программах. Под сквозной функциональностью понимается функциональность, реализация которой представляет собой совокупность рассредоточенных фрагментов кода, реализующих эту общую функциональность, и которую полностью, по принципиальным соображениям, нельзя собрать в один традиционный модуль (или группу модулей). Примеры - проверки безопасности, трассировка, управление ошибочными ситуациями и др. Все они объединяются под одним общим названием надежные и безопасные вычисления (trustworthy computing, см. лекцию 1).
Более полная информация об АОП приведена в [1, 2], а также на сайте аспектно-ориентированной разработки программ aosd.net (см. рис. 14.1).
229
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Нашей группой сотрудников мат-мех. факультета СПбГУ разработана уникальная система АОП для платформы .NET - Aspect.NET, имеющая пользователей в 26 странах мира. В данной лекции рассмотрен пример применения АОП средствами системы Aspect.NET для модификации облачного ASP.NET - приложения. Пример разработан аспирантом мат-меха Нгуен Ван Доаном (Вьетнам), которому автор курса выражает искреннюю благодарность.
230
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
т -') Гк*:-г * Дон'вкчи'Е.пычс >

Gr ’
z) laoso.neT

Welccme to aosd.net
Welcome
Майи 14 i-ibls /ttCHJt ttid AQSA
instant F**«*ck
Hosd rwl ts home In Ihn anniml Aspaci Orianled $оПшнгу DH'/ekipiiisnl ЕрлМгвпгв нп J 15 inlaodod to provtdci a comprohcnsivo source of infotmatioo about AOSD
Um 1tw 1яЬч Htwr/fi 1п ЬкяГв infiMmHCion tan Iha сапГЕ1вгкя anti lo rnach Iha Ctnmminily Wiki wheie AUSD concept terms tools prcjecls, events, Iraining courses, ctxisullingentl cithkH1 lelaled ivujhs are lilted aAd dtscitss^d Палм gn ther£ to fkH сап!йП1 ahoul ydur ОЛП ADSD rslHtfid EtClIVUlHS
acrtd i»l aEsn suppofli two mailing lists a k>w-1 raffle. itsl far Anndnncemtmts and highM-liHtfw list (и двгизгн! discusslnn To add увигьвИ to thssa hsls и Hi tow the archivos, Lise lire lint.? al IhB bollum ul the page
Гог н good HVHtviHW of AChD Hurt asppcl on cm led urngrHinmirKj ^AOf1) Ihe [VinfrerJdO^ IM i.e rabije erf Ссшжпипкак’от wl Iti^J ACM fs a good place 1u stall It has a nice coHeclical ol adicles tha1 efluer гвргя^&лйГпгв work in AdSD Tha arc hums til lh₽ AOSD conferdisce hIsm prtniKle a cuIIekIiemi nf high tpjHhly гечянп li рчгнгь and ргнсИшщ 1в[хл(ч OIJibi links ijfkIbi ГKthnokigY pinvidH hccwJ*. Id much morp infnrmHlinn
Wiki
Рис. 14.1. Сайт аспектно-ориентированной разработки программ
14.2.	Монография В.О. Сафонова "Using aspect-oriented programming for trustworthy software development"
Автором курса написана монография по АОП на английском языке [1], ставшая классикой в области технологий разработки программ. На рис. 14.2 приведена обложка книги, опубликованная на нашем сайте проекта Aspect.NET (www.aspectdotnet.org). Интересующиеся читатели могут заказать книгу через сайты amazon.com, amazon.de и др.
231
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Рис. 14.2. Обложка монографии В.О. Сафонова "Using aspect-oriented programming for trustworthy software development"
14.3.	Сайт Aspect.NET: Общая информация и ссылки
На рис. 14.3 приведен фрагмент страницы проекта Aspect.NET (ссылка: http://www.aspectdotnet.org), содержащий общую информацию о проекте Aspect.NET и ссылки, которые доступны на нашем сайте.
232
This ii Aipect.WTT «nJ ДОР fw TWC book Web uta maniart bV PrefMBor UliWr O, Silwwv, St. Petersburg Unr,'Brs»tv.
ftuUiiai u«ir>, рСельс g<3 lb h Цр, f Jpg I yj yffrfFfl, ПП d 01 .ДДЛ|Ч,, ГЦ QM , jbcIjwi: AspetL Ш
New1 Aspect. NtT version compat/We to Wsuaf $гшйо 201fl fs com/лд tfjfe year fJOIJJ. Ptease stay witft us?
Aspecf.NET2.2 - a mu/tr-tenguage i/ers/on of Aspecf.NET shipped. mth support of 1/jfsuat Bssfc as the second aspect rmpternentatron language fNov 5, 2010).
Now it is possible to implement aspects either in C№ or in VB. Version compatible to У5 20Q5.
Professor vtedfmtr Safonov's Mme page
Using 4spea-Orifii№fi. Programming for Trustworthy Software. Qeveiopm&rt book by V,Q,. Safonov
,Л*р’г ( ГЦ Г 1ь an .i!-;1^’.-n'’virprf hrjrигпгтйг-п framework Г<и M’lauSUft.NLI deirtifuped pt, St Petersburg University.
Project supported by Microsoft Kesearc+i In 2002. 2OLM and 2006
Aspect NLf Is currently used In 26 countries.
We receive a lot of positive feedback from our customers
WpIlfifiip t[] thf world nf ДОР with Our AspHit NfT
yrHJ trtn dowid Uriel l.llEf sysfern. user guidt1 Hud 4i)ITI|>lf»> heijffr
Fre-requisrtes of us7n^ Asjuecf.NET
Рис. 14.3. Сайт Aspect.NET: Общая информация и ссылки
14.4.	Состав группы разработчиков Aspect.NET
Состав нашей группы разработчиков Aspect.NET приведен на рис. 14.3. Система используется в 26 странах. По АОП и системе Aspect.NET защищено три кандидатских диссертации (Д.А. Григорьев - ныне доцент мат-мех. факультета СПбГУ; М.К. Грачев и Р.С. Муханов); готовятся к защите еще несколько диссертаций. Таким образом, проф. В.О. Сафоновым создана на мат-мех. факультета СПбГУ первая в России научная школа по АОП, которая является одной из ведущих в мире. На рис. 14.4а приведены ссылки на работающие примеры аспектов из монографии В.О. Сафонова.
233
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
» LH> X*	T "'1 Понос ’ рчюв-uotnwxi 13	Н4ЙГМ 4. •
GF ’	?ъ r Sujctl ' В6«4гтиНл * 'wCInv^l  Upqiadv ^тпя Tci.lti.r E4av  Ml	MmJ *	^^/1,  L *
Aspect.NET team;
Jrorassor or computer saertce, of laboratory
SW«»nftftr orfirffirtr anrf thref ortTur^r?
Umitry Grkjtiryqv
PhD - CofPgrcttLrJ!dtx.inb on rfbierferttun proof J2/JZ/Z0CP9J
Weaver
MflWioV Ciratcftev
/W * Conorafu/a tons on desert afwo proof O2/tf/2DJO.‘
Дчрргг WFT йгатеилйгД artef /ry-Wailer, AspectJc^-frupr /0<J_r?Hrttj FtWJ
Л/схонг/сг Мнх/г'плНгоы
P/iD bWwJF [W ?t?07?
Ab-pect-fft f.Wt ffiela-feifJgudgie селггкегСег (о С’Д
Hos/an Mofchanoy
IW ‘ Couorafo/atAJQS ол rftssetTaDOiQ proof 12/16/2010!
AspectRotof - Aspect. At T tat SSCLI / P.oivr
Driiin Nguyen Мал
p?jD *,7i«fer>r
kitei'.	ftbratz	=
яг j^iVeti ex^p/e fcr c№ Jffivgfy NB1 This aspect Ibrary should be used with a new vers*Cin oF AspcChNET Ctimtnig SdCn
Апла Ktxjay
PihO sturfenr
Asp^'tf.j'/TT for Jns/yn by r.orjfMt /т Ab;«4t4DH(t л.чрргг lihmry
MMt/iftjf Kort 1нгн
ffliO studer»t
jfnp/«fficntat/an of c+ supporr jn Aspect.JVE /
/дог fvtfjkov
Рис. 14.4. Состав группы разработчиков Aspect.NET
234
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Or	X." ‘ЛЙ; j-ufcfit+l	pirtlimj» - А.	1frWb«rHuw - Mrl-pn^r- ' ]FA«al - F.TjSphH< Fj Hn-> -
Рис. 14.4a. Ссылки на работающие примеры аспектов из монографии
В.О. Сафонова по АОП
14.5.	Принципы применения АОП в Azure. Пример Web-аспекта в системе Aspect.NET
Рассмотрим теперь на примере, каким образом АОП и система Aspect.NET применяется к облачному приложению (ASP.NET Web-сервису). Общий принцип в следующем. Облачное приложение - это ASP.NET Web-сервис. Он содержит .aspx - страницы и их управляющие коды (code-behind). Эти управлющие коды, представляющие собой обработчики типовых событий, связанных со страницей (загрузка страницы и т.д.) могут быть модифицированы. Благодаря системе Aspect.NET, эти модификации выполняются автоматически и систематизировано под управлением аспектов - особых модулей (сборок .NET), содержащих условия внедрения аспекта и действия аспекта. Условие внедрения задает фильтр для поиска в целевом приложении (в данном случае - в управляющем коде страниц) так называемых точек присоединения (join points), каждая из которых представляет собой вызов метода, например, Page_Load(). Система Aspect.NET, осуществив поиск всех потенциальных точек внедрения,
235
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
затем выполняет собственно внедрение, т.е. вставляет перед, после или вместо каждого такого вызова вызов действия аспекта (статического публичного метода).
Для примера обработаем с помощью аспекта простое опубликованное в облаке приложение. Результат его запуска с помощью браузера изображен на рис. 14.5.
236
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
L*| gk'	T -'] Пмсс * ДсМТМНМЕЛкИС и	В4ЙГИ A 
’	'Аr '/^СЙ jUJcfl	w Г teflrraji * jX Llfx^xl. '.тли Yос^Ьлг How о Г.Н u-^1 ' j MsJ •• MySfrjc^	*
Я ’
Hkfirjf basic support: flspea.Ngr.nt converter № vo.Ntzi	Г
yiadlnilr Safonov's book on ДОР*. AspecLNET and lheii use for ti ustwoi thy computing
1 и get up to date wiLll ЛОРГ A9petl ML I and their use fur trustworthy software development, we recommend to order the new Professor Safonovs book. published at WlFcy Intersclencc in June 2OU3.
Got interested? Please order t+ie boot at ftmozoh .
Aspect samp/es from the book
Here arc the archives with Visual Studio NLT 2003 solutions for samples used In the book.
You can download th₽rTi and iwe to lenm ДОР and Aspect NFT:
AiBymeiilditscfci Sedluri 4Л.1
Atyii'fc ' Secifel АЛ
toalfrT'TllfiSOfl.-. $C£t!P.n, 4.2
EnorCodn; -Jectfori d.3
EKeptlonHandhria_____Ssittin 4.3
Laaalnfl < SedHan .4.7.2
EtertyrmuLice - Se,ttl₽rt.4>XLJL
PsrfyEri'dtic’?! - faction 4.11, J
Privacy - .Section 4A
synchrop,halloo •.scctippfl.4
Дт/jcrf.JVFJ
Рис. 14.5. Пример Web-аспекта в системе Aspect.NET: Запуск страницы
14.6.	Вход на страницу демонстрации Web-аспекта
Пример разработан таким образом, что активизация аспекта для внедрения в целевое приложение выполняется при входе (login) на сайт примера.
Войдя на сайт (рис. 14.6), получаем на текущей странице трассировочные сообщения о вызовых методов обработки страницы.
237
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Рис. 14.6. Вход на страницу демонстрации Web-аспекта
14.7.	Вход на страницу демонстрации Web-аспекта с управляющим кодом страницы, модифицированным путем применения аспекта
Теперь выполним аналогичные действия со страницей, управляющий код которой модифицирован с помощью аспекта. Как говорится, почувствуйте разницу! Добавились новые трассировочные сообщения при вызове методов обработки страницы которые были вставлены аспектом (т.е. системой Aspect.NET).
238
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Рис. 14.7. Вход на страницу демонстрации Web-аспекта с управляющим кодом страницы, модифицированным путем применения аспекта
14.8.	Пояснения к примеру Web-аспекта: Архитектура аспекта и принципы его применения
На последующих трех рисунках - рис. 14.8, рис. 14.9 и рис. 14.10 -приведены необходимые пояснения к примеру визуализация которых в примере реализована в виде справки и поддержки (help). Приведены коды управляющих методов страницы и код аспекта, модифицирующего их.
239
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
APPLICATION OF AOP FOR WEB DEVELOPMENT IN WINDOWS AZURE «“«™—"Uafial
HELP PAGSt
Co&c*Mirt	f
Au1hnnt№iDn JKfd'xl	*rt niampJr aulhmtutMrt аГ An irirt
Рис. 14.8. Код метода Load, вызываемого при загрузке страницы в браузер
240
Рис. 14.9. Код действий аспекта, применяемых к методу Load
241
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рис. 14.10. Код действий аспекта, применяемых к методу InitPage
14.9.	Резюме
Аспектно-ориентированное программирование и система Aspect.NET успешно применимы для платформы Windows Azure, что показано на содержательном примере. Применение Aspect.NET позволяет гибко управлять функциональностью ASP.NET - страниц, добавляя вызовы необходимых действий (кода) при выполнении типовых действий над страницами.
В настоящее время в группе проекта Aspect.NET под руководством автора курса ведется работа по созданию библиотеки аспектов для облачных вычислений в системе Azure.
Другие возможные важные направление использования АОП и системы Aspect.NET в облачных вычислениях системы Azure, в которых также ведутся исследования в нашей группе:
•	разработка новой версии системы Aspect.NET, совместимой с Visual Studio 2010 и применимой для внедрения аспектов при разработке облачных приложений Azure
242
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
•	перенос в облако Azure самой системы Aspect.NET (Aspect.NET.Azure).
Ключевые термины
Аспектно-ориентированное программирование (АОП) - новый перспективный подход к разработке и модернизации программ, предназначенный для поддержки сквозной функциональности (crosscutting concerns) в программах
Aspect.NET - инструмент АОП для платформы .NET, разработанный группой под руководством автора курса.
Краткие итоги
Подсистема Windows Azure
Набор для практики
Вопросы
1.	Что такое АОП?
2.	Что такое Aspect.NET?
3.	Каковы методы применения АОП и Aspect.NET для облачных вычислений?
Упражнения
1. Войдите в облаю Azure и поэкспериментируйте с облачным примером на использование АОП для Azure.
Темы для курсовых работ, рефератов, эссе
1. Применение АОП для облачных вычислений (реферат).
243
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
244
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Windows Azure для мобильных устройств. Проект Hawaii
В данной лекции рассмотрены возможности работы в системе Windows Azure с мобильных устройств и исследовательский проект Microsoft Research под кодовым названием Hawaii, целью которого является разработка облачных приложений для мобильных устройств.
Цель лекции: Ознакомление с работы в системе Windows Azure с мобильных устройств и исследовательский проект Microsoft Research под кодовым названием Hawaii, целью которого является разработка облачных приложений для мобильных устройств.
Презентацию к данной лекции Вы можете скачать здесь скачать: http://old.intuit.ru/department/se/pmsazure/15/Azure_course_15.pptx.
15.1.	Введение. Что такое проект Hawaii?
В сотрудничестве между университетами всего мира, проект Hawaii предоставляет возможность студентам разрабатывать оригинальные облачные мобильные приложения. Студенты участвующих в проекте университетов могут использовать операционную систему Windows Phone для доступа к облачным сервисам, а также систему Windows Azure для организации вычислений (компоненту Compute) и хранения данных (компоненту Storage).
Администрация проекта Hawaii предоставляет студентам для выполнения их разработок необходимые инструменты, сервисы и платформы для взаимодействия мобильных устройств с облаком. Поощряется изобретательность и воображение студентов. Руководителем работ от Microsoft является Виктор Баль (ссылка: Victor Bahl - httpy/research.microsoft.com/en-us/um/people/bahl/), Директор центра по мобильным вычислениям Microsoft Research.
15.2.	Платформа
Как часть проекта Hawaii, участники разрабатывают Web-приложения и сервисы, а также мобильные приложения. Для целей данного проекта
245
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
была выбрана мобильная платформа Windows Phone 7 и либо Windows Azure, либо Internet Information Services (IIS) в качестве сервера Web-приложений.
Платформа разработки ПО - Hawaii Services SDK - позволяет облачным Windows Phone 7 - приложениям соединяться с экспериментальными ссылка:	сервисами - http://research.microsoft.com/en-
us/um/redmond/projects/hawaii/services/ Microsoft Research. Эти экспериментальные сервисы были разработаны для студентов и исследователей, участвующих в проекте Hawaii
Hawaii Services SDK свободно доступен для скачивания по ссылке на страницу Microsoft Research: ссылка: http://research.microsoft.com/en-us/downloads/ld31795a-e7E-4c42-886e-de06064fi65P http://research.microsoft.com/en-us/downloads/ld31795a-e7f5-4c42-886e-de06064ff65f7
15.3.	Облачные сервисы - результаты проекта Hawaii
Участники проекта Hawaii имеют доступ для использования к следующим облачным сервисам:
Relay Service
Большинство провайдеров мобильных телефонов не обеспечивает их нормальными публично доступными IP-адресами, которые позволили бы иметь доступ к ним со стороны других устройств. Это затрудняет разработку приложений, в которых мобильные телефоны взаимодействуют друг с другом непосредственно. Hawaii Relay Service обеспечивает точку обмена сообщениями в облаке, которую мобильные телефоны могут использовать для общения. Обеспечивается схема именований таких конечных точек (endpoints) и буферизация для обмена сообщениями между конечными точками. Обеспечивается также групповая рассылка (multi-casting) сообщений между конечными точками. Сервис разработан в Сингупарском университете менеджмента.
OCR in the Cloud
246
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Облачный сервис Hawaii Optical Character Recognition (OCR) in the Cloud service получает фотографический образ, содержащий некоторый текст, и возвращает этот текст.
ссылка:	Скачайте
http://research.microsoft.com/hawaii/download/OcrTestClientLite.zip исходный код (вместе с необходимыми библиотеками и проектными файлами Visual Studio) простого примера OCR-приложения. Файл Readme.rtf в полученном zip-архиве описывает последовательность шагов для сборки (build) приложения.
Rendezvous Service
Hawaii Rendezvous Service - это сервис, отображающий известные имена, воспринимаемые человеком, в коммуникационные точки в Hawaii Relay Service. Эти имена могут быть использованы как стабильные точки рандеву компилируемые в приложения.
Speech to Text
Сервис Hawaii Speech to Text выполняет распознавание речи -принимает фразу устной речи и возвращает ее содержание как текст (пока только по-английски).
Computation
Использование Windows Azure для обеспечения вычислительных серверов в облаке
Storage
Использование Windows Azure для обработки виртуальных баз данных, основанных на SQL, в облаке.
Identification
247
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Использование Windows Live ID для идентификации пользователей Web-сайтов.
Mapping
Использование известного программного продукта Virtual Earth для построения карт по заданным координатам (широта, долгота).
15.4.	Учебные материалы по Windows Phone 7
Телефон
Для изучения и использования выбран телефон Samsung Focus.
Ниже приведем гиперссылки для скачивания информации.
Технические данные и спецификации
Обзор CNET
Спрвка и поддержка
15.5.	Начало работы в проекте Hawaii
Шаг 1: ссылка: Скачивание свободно доступных инструментов -http://create.msdn.com/home/getting_started. Скачиваемое ПО включает Visual Studio 2010 (Express Edition). Вы можете также использовать эти инструменты с Visual Studio Professional editionstead if you wish (see the Development Tools section below).
Шаг 2: ссылка: Создание Вашего первого приложения httpy/msdn.microsoft.com/libraiy/ff402526(v=VS.92).aspx. Windows Phone -приложения могут создаваться с использованием Silverlight либо XNA framework.
Шаг 3: ссылка: Соединение с Арр Hub - http://research.microsoft.com/en-us/um/redmond/projects/hawaii/students/apphub.aspx для разблокировки Вашего телефона (необходимой для исполнения Вашего приложения на
248
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
реальном устройстве). Данный шаг может потребовать нескольких дней, поэтому планируйте все заранее.
Шаг 4:	ссылка:	Развертывание приложения
httpy/msdn.microsoft.com/libraiy/fl928362(v=VS.92).aspx на Вашем телефоне для тестирования.
15.6.	Windows Phone Marketplace
Ваши приложения могут быть ссылка: размещены httpy/create. msdn.com/home/aboiit/app_submission_walkthrough на портале Windows Phone Marketplace с помощью ссылка: Арр Hub -http://create.msdn.com/. Студенты могут опубликовать бесплатно ограниченное число приложений, (см. ссылка: Арр Hub FAQ -http У/create .msdn. com/home/faq).
Форум
ссылка: Арр Hub discussion forums - httpy/forums.create.msdn.com/forums/ -форум для обсуждений и выяснения вопросов, связанных с Windows Phone.
15.7.	Резюме
Проект Hawaii - первый шаг к реализации и реальному использованию облачных вычислений на платформе Windows Azure для мобильных устройств. Он уникален по своей новизне и географическому составу участников. Читатели приглашаются к участию в данном проекте.
Ключевые термины
Hawaii - проект Microsoft Research по разработке приложений для мобильных телефонов под Windows Phone 7 для облачных применений в Windows Azure
Краткие итоги
249
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Windows Azure Hawaii - проект Microsoft Research для разработки приложений для мобильных устройств и использования их в облаке Windows Azure.
Набор для практики
Вопросы
1.	Что такое Hawaii?
2.	Перечислите облачные приложения, разработанные в проекте Hawaii
3.	В чем, по-Вашему важность и перспективность проекта Hawaii?
Упражнения
1.	Войдите на сайт проекта Hawaii, скачайте и инсталлируйте программное обеспечение для работы с телефона в облаке, попробуйте его в работе.
2.	Станьте участникам проекта Hawaii зарегистрируйтесь на сайте и в Facebook, установите контакты с другими разработчиками.
3.	Разработайте в рамках проекта Hawaii Вашу любимую программу для мобильного телефона (например, какую-нибудь игру) и опубликуйте ее на сайте Hawaii с кратким описанием.
Темы для курсовых работ, рефератов, эссе
1. Особенности ОС Windows Phone 7 и проекта Hawaii (реферат).
250
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Перспективы Windows Azure
В данной лекции рассмотрены проблемы, направления развития и перспективы системы облачных вычислений Windows Azure.
Цель лекции: Обзор направлений развития и перспективы системы облачных вычислений Windows Azure.
Презентацию к данной лекции Вы можете скачать здесь скачать: http://old.intuit.iij/department/se/pmsazure/16/Azure_course_16.pptx.
16.1.	Введение. Новые возможности и развитие Windows Azure
В данном курсе мы рассмотрели систему облачных вычислений Windows Azure. В настоящее время система все шире распространяется.
Безусловно, в целом у Windows Azure большие перспективы на пути к тому чтобы облачные вычисления стали бы столь же распространенными, как и операционные системы семейства Windows для настольных и портативных компьютеров [1].
В настоящее время Microsoft Research предоставляет нам уникальную возможность опробовать в работе Windows Azure. Каждый пользователь может, зарегистрировавшись бесплатно в системе Windows Live (ссылка: httpy/www.live.com - httpy/www.live.com/), не только получить в свое распоряжение облачные сервисы самой системы Windows Live (например, бесплатный облачный аналог Microsoft Office 2010), но и через систему Windows Live заказать себе бесплатный доступ на 30 дней к Windows Azure.
Работая в облаке Windows Azure, испытываешь удивительное чувство постоянного обновления системы: еще вчера, например, те или иные возможности и соответствующие им элементы GUI были недоступны, а сегодня они уже работают. Разумеется, чтобы это использовать, необходимо подписаться на бета-тестирование облака, что нетрудно сделать через облачные страницы Azure (см. лекцию 11 и лабораторную работу 1).
251
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Для получения информации о новых возможностях системы Windows Azure необходимо обратиться по ссылке:
ссылка:	httpy/msdn.microsoft.com/ru-ru/library/gg441573.aspx
http У/msdn. microso ft. com/ru- ru/library/gg441573. aspx
В частности, Windows Azure развивается в следующих направлениях:
•	Выпуск новых версий инструментария Azure SDK (см. лекцию 12). В настоящее время (сентябрь 2011 г.) доступна версия Azure SDK 1.4;
•	Развитие подсистемы управления сетевыми подключениями Windows Azure Connect (см. лекцию 8); в настоящее время доступна ее СТР (Community Technology Preview - предварительная) версия;
•	Развитие подсистемы Content Delivery Network (CDN), позволяющей организовать региональное кэширование предоставляемой в облаке информации (см. лекцию 8);
•	Развитие основного портала управления Windows Azure (см. лекцию 11 и лабораторную работу 1);
•	Развитие гостевых операционных систем Windows Azure. Напомним, что гостевой операционной системой (ОС) - guest operating system - называется ОС, предоставляемая пользователям через облако, т.е. через Web-браузер. Именно гостевая ОС имеется в виду в формулировках рекламного стиля типа 'Windows Azure -операционная система в облаке". Подробнее см. лекцию 8;
•	Развитие эмуляторов вычислительной среды (Compute) и хранения (Storage). Необходимость в них очевидна: перед тем, как публиковать новый разработанный облачный сервис в облаке, его необходимо отладить в среде Visual Studio 2010 на локальной машине разработчика. Для моделирования облачного окружения при отладке и служат указанные эмуляторы. В прежние годы развития методов инженерии программ подобная эмуляция окружения называлась драйвером тестирования (см., например, классический американский учебник [3]).
16.2.	Нерешенные вопросы Windows Azure и проблемы ее использования в России
252
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Не хотелось бы называть этот раздел "Проблемы ..." чтобы правильно расставить акценты, - так как считаю (как опытный разработчик и пользователь программного обеспечения), что ситуация с не решенными на данный момент вопросами в Windows Azure и вопросами ее оптимального использования в России - вполне рабочая ("штатная").
В самом деле, есть новая уникальная сложная и очень полезная для миллионов российских пользователей программная система Windows Azure, при опробовании которой выявились нерешенные вопросы, представляющие собой целый комплекс интересных научных, инженерных, экономических и бизнес-задач, поскольку использование облака касается практически всех не только программистов, но и конечных пользователей компьютеров. Теперь нам с вами, уважаемые коллеги, необходимо эти задачи решить. Так займемся же этим конкретно, безотлагательно и по-деловому используя наши профессиональные знания и опыт, вместо того, чтобы заниматься сетованиями или иронией по поводу якобы невозможности использования облака или его якобы бесполезности в России. Облако все равно "прилетит" к нам, даже если некоторые и будут пытаться прятаться от него.
По мнению многих опытных экспертов, в том числе и автора курса, облачные системы (и прежде всего - система Windows Azure, ввиду того, что она базируется на платформе .NET для разработки надежного и безопасного ПО), безусловно, имеют большое будущее, так как они "приносят" на любой компьютер или даже на мобильное устройство мощные ресурсы вычислений и данных, доступные через Интернет. Это позволит в ближайшем будущем использовать Интернет не только для просмотра прогноза погоды, курса акций любимой фирмы или картинок и видео, а для повседневного решения серьезных задач в любых областях деятельности, которые перед нами ставит жизнь, работа, учеба. Ради этого стоит постараться и обеспечить адекватное окружение (или, как сейчас модно говорить, "инфраструктуру") для применения облачных вычислений.
Следующие нерешенные вопросы системы Windows Azure и ее применения в России, на наш взгляд, заслуживают внимания.
1.	Низкая скорость, ненадежность и несоразмерно высокая
253
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
стоимость соединений с Интернетом, предоставляемых российскими Интернет-провайдерами. Именно эта проблема (отнюдь не проблема Windows Azure) побудила меня дать моему курсу столь печальный, но реалистичный эпиграф ("Облака плывут, облака, - не спеша плывут, как в кино"). Имея уже некоторый опыт использования Azure, вполне можно утверждать, что эта система спроектирована и реализована в предположении, что каждый пользователь имеет быстрый и надежный Интернет (3G / 4G, Wi-Fi или Wi-MAX, либо быстрое проводное TCP/IP -соединение). Реальная (а не рекламная) скорость работы Интернет-соединений, при которой и облаю работает с приемлемой скоростью, - это как минимум 20-50 килобайт, или 160-400 килобит, в секунду. Лучше, разумеется, иметь скорость соединения в 1-10 мегабит в секунду или еще выше. Большинство российских пользователей таких возможностей пока, к сожалению, не имеют. Улучшением качества и скорости Интернет-соединений на всей территории России (а не толью в крупных городах, в зонах Wi-Fi - доступа и не только для применения Windows Azure) должны срочно заняться как соответствующие государственные организации, так и коммерческие фирмы в области телекоммуникаций. Иначе трудно говорить о перспективах использования облачных вычислений в России (как и о реальном использовании Интернета в целом). Например, до сих пор используемая многими связь dial-up (через модем по телефонной линии), или, в лучшем случае, GPRS (с мобильного телефона) имеют быстродействие не более 50-64 килобит в секунду Для облака этого недостаточно: использование его будет вызывать серьезные временные задержки, что грозит "бойкотом" облаку со стороны многих программистов и конечных пользователей.
2.	Сложность архитектуры облака, и, как следствие, путаница в терминологии и затруднения пользователей в понимании, на самом деле, не столь сложных по смыслу и назначению компонент облака и их возможностей. Большинству программистов трудно сразу представить себе принципиальную разницу между облачными вычислениями и вычислениями, например, в программе на языке Фортран на локальной машине. Вкратце это различие можно сформулировать так: обычная программа на локальной машине оперирует переменными и
254
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
массивами, в необходимых случаях - базами данных, а облачное приложение - Web-сайтами (поскольку все данные и программы доступны только через облако). Надеюсь, что данный курс поможет российским пользователям правильно понять и использовать облачные вычисления в системе Windows Azure, так как для стиля автора курса характерны понятные объяснения сложных концепций, а не (как, к сожалению, часто бывает у многих авторов) запутывание простых [2, стр. 15].
3.	Необходимость ежемесячной оплаты облачных услуг, в дополнение к оплате Интернет-трафика. Большинство российских пользователей привыкло к другому стилю использования компьютерных ресурсов: покупка (или иной способ заимствования) ПО, установка его на своей машине, поиск и использование наиболее дешевого Интернет-провайдера (или, на практике, нескольких провайдеров попеременно, в случае сбоев в работе одного из них), хранение на своей машине (или, в крайнем случае, в сейфе на компакт-дисках) обрабатываемых конфиденциальных данных. Теперь пользователям придется привыкать к тому чего требует облако.
4.	Психологический барьер и проблемы надежности и безопасности. Большинству пользователей трудно будет смириться с мыслью о том, что их любимые программы и "секретные" базы данных будут храниться на неизвестных машинах на другом конце света, где их вполне могут, в конце концов, "взломать". В этом - основной психологический барьер при использовании облака. Здесь могу лишь предположить, что через несколько лет этот барьер "в головах" пользователей будет преодолен, - точно так же, как был в свое время преодолен психологический барьер большинства пользователей-непрограммистов (например, медиков) при использовании персональных компьютеров. Так или иначе, ныне использование любого компьютера, даже своего собственного (а не только компьютеров облачного центра обработки данных), -это значительный риск атаки, которая может быть осуществлена неожиданно и в любой момент, при условии подключения Вашего компьютера к Интернету
5.	Значительное энергопотребление в центрах обработки данных (ЦОД), сложность и громоздкость их обслуживания. ЦОД во всем мире превратились в огромные здания-монстры, пожирающие немыслимые запасы электроэнергии. Ряд весьма авторитетных
255
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
организаций, в частности, правительственные организации США, по этой причине даже начали закрывать (!) свои центры обработки данных, несмотря на популярность облачных вычислений.
6.	Необходимость эластичности и масштабируемости облачного ПО. Компьютеры ЦОД и их программное обеспечение подчас не справляются с возложенной на них колоссальной нагрузкой -возможными многомиллионными (по числу пользователей) запросами в каждый момент времени. Вообще, любой серверный код испытывает подобные проблемы, особенно - код облачного сервисного ПО.
Описанные проблемы обсуждаются в компьютерных новостях, например, на портале ссылка: http://cloucl.cnews.ru - http://cloud.cnews.ru/.
Считаю все эти вопросы решаемыми и рекомендую российским пользователям осваивать облачные вычисления, пользуясь любезным предложением Microsoft Research о бесплатном доступе к Azure в течение месяца. Например, проблема (5) решается организацией частных (ведомственных) облаков - private clouds.
16.3.	Резюме. Перспективы облачных вычислений в системе Azure
Перспективность облачных вычислений очень хорошо почувствовали многие серьезные фирмы и специалисты, которые вдруг все стали экспертами по облачным вычислениям и пытаются, иногда успешно, получить соответствующие договора, заказы, гранты. В настоящее время наблюдается буквально бум облачных вычислений, - иначе нельзя назвать ситуацию, когда Интернет буквально переполнен материалами, новостями и программами для облачных вычислений.
Каковы же, на наш взгляд, основные области применения облачных вычислений в будущем и направления их дальнейшего развития?
•	Применение облачных вычислений в научных вычислениях (scientific computing)
•	Развитие специализированных систем облачных вычислений по
256
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
отраслям знаний и производственной деятельности
•	Применение облачных вычислений при обучении в вузах и школах
•	Применение облачных вычислений в социальных сетях
•	Применение облачных вычислений для управления разнообразного рода информацией (облачные базы данных и знаний и др.)
•	Интеграция общедоступных облаков (public clouds) в единое облаю
•	Исследования и разработки по эффективности облачных вычислений по различным критериям.
В общем, по-видимому сложнее было бы назвать область, в которой не были бы применимы облачные вычисления.
Желаю уважаемым читателям больших успехов в столь интересной деятельности, как применение и развитие облачных вычислений!
Выражаю искреннюю благодарность фирме Microsoft (Microsoft Research, Майкрософт - Россия) за предоставленные вычислительные ресурсы, а также коллегам из многих организаций всего мира, опубликовавших свои интересные материалы по облачным вычислениям в Интернете. Разумеется, автор курса использовал или, по крайней мере, учел эти общедоступные материалы.
Отзывы и пожелания по поводу курса приглашаю присылать автору по (разумеется, облачной, т.е. реализованной средствами Windows Live) электронной почте: v_o_safonov@hotmailcom.
Ключевые термины
Для данной заключительной лекции не предусмотрены.
Краткие итоги
Windows Azure - вессьма перспективная система. Облачные вычисления раздвинули горизонты ИТ и наших прежних представлений. В лекции сформулированы и проанализированы текущие проблемы и
257
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
перспективы использования Azure.
Набор для практики
Вопросы
1. Каковы, по Вашему текущие проблемы использования Azure, в том числе - в России?
2. Каковы по-Вашему перспективы развития и использования Azure?
Упражнения
1. Напишите статью (эссе), в которой сформулируйте Ваше личное мнение на тему проблем и перспектив облачных вычислений в целом и Azure - в частности.
Темы для курсовых работ, рефератов, эссе
1. Проблемы и перспективы Windows Azure (эссе).
258
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Заключение
В курсе подробно рассмотрена система облачных вычислений Windows Azure - ее принципы, архитектура, применения, проблемы, перспективы, примеры использования. Большое внимание уделено как научному анализу так и практической работе в Azure.
Перспективность Azure несомненна. Она расширяет горизонты мышления и практических приложений как для программистов, так и для конечных пользователей.
Материал отражает текущее состояние Azure на момент написания курса - сентябрь 2011 г.
Автор выражает благодарность Microsoft за предоставленный доступ к Azure.
Общий гло ссарий
Вертикальный слой, срез (в некоторых технологиях - аспект) -совокупность рассредоточенных фрагментов кода, реализующих (сквозную) функциональность, например, проверку безопасности. Авторы концепции: проф. А.Л. Фуксман (Ростовский университет, 1979 - технология вертикального слоения; G. Kiczales (Xerox PARC, аспектноориентированное программирование и система Aspect!).
Клиент (client) - пользователь и (или) компьютер, использующий какие-либо программные сервисы.
Многоклиентская архитектура (multi-tenant architecture) - архитектура клиент-серверного ПО, при которой один экземпляр серверного ПО, исполняемый на сервере, обслуживает несколько клиентов (tenants -букв, клиенты, арендаторы). Пример: Web-сервис.
Многоярусная архитектура (multi-tier architecture) - архитектура ПО, при которой презентация результатов, обработка и управление данными реализованы как отдельные процессы. Пример: Использование middleware для взаимодействия с сервером и СУБД для взаимодействия с данными.
259
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Облачные вычисления (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-сервисом только через браузер и протокол НТ1Р посредством отправки НТГР-запросов и получения HTML-страниц.
260
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Уровень абстракции (abstraction layer) или "горизонтальный слой" (номер N) - совокупность модулей, реализация которых использует толью модули уровня N-l (N > 0). Нулевой уровень абстракции образует аппаратура или базовые библиотеки (API). Концепция принадлежит Э. Дейкстре и сформулирована в конце 1960-х гг. в ходе разработки операционной системы THE (Технического университета Эйндховена).
Microsoft Azure Services Platform - платформа фирмы Microsoft для разработки и использования облачных сервисов на базе Microsoft.NET.
Microsoft Windows Azure - операционная система и набор инструментов фирмы Microsoft, обеспечивающий поддержку облачных вычислений ("ОС в облаке").
SQL Azure - версия СУБД Microsoft SQL Server для использования "в облаке".
Агент интерфейса (fabric agent) - агентское приложение, исполняемое на каждом из компьютеров сервиса Интерфейс (Fabric) платформы Windows Azure.
Архитектор облака - главный разработчик его архитектуры.
Внутренние приложения (on-premises applications) - приложения, исполняемые на локальном компьютере пользователя.
Вычисления (Compute) - облачный сервис платформы Microsoft Windows Azure, исполняющий пользовательские приложения в едином облаке.
Интегратор облака - его системный администратор, отвечающий за добавление компонент в облако и их изменение.
Облачные вычисления (cloud computing) -. вычисления, основанные на масштабированных и виртуализованных ресурсах (данных и программах), которые доступны пользователям через Интернет и реализуются на базе мощных центров обработки данных (data centers).
Облачные приложения (cloud applications) - приложения, фактически исполняемые в среде облачных вычислений (например, Windows Azure) на компьютерах центра обработки данных.
261
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Платформа - набор инструментов для использования облака.
Поставщик облака - центр обработки данных, поддерживающий облачные вычисления.
Уровень инфраструктуры - предоставление полной виртуализованной платформы через облаю, например, Amazon ЕС2.
Уровень клиента - клиентское ПО, используемое для доступа к облачным сервисам, например, web- браузер.
Уровень памяти - поддержка хранения данных пользователя и доступа к ним через облаю.
Уровень платформы -программная платформа, объединяющая полный набор инструментов для развертывания и использования облачных вычислений на пользовательском юмпьютере (без дополнительных инсталляций, покупки оборудования и др.); пример: Microsoft.NET Azure Services Platform.
Уровень приложений - программы, доступные через облаю и не требующие инсталляции на юмпьютере пользователя (в последнем -одно из главных преимуществ облачной модели).
Уровень сервисов - облачные сервисы, используемые через облачную модель.
Центр обработки данных (ЦОД, data center) - мощный вычислительный центр, состоящий из компьютеров, объединенных в локальную сеть, обслуживающих сервисы облачных вычислений некоторой компании.
Microsoft Azure Services Platform - платформа фирмы Microsoft для разработки и использования облачных сервисов на базе Microsoft.NET.
Microsoft Windows Azure - операционная система и набор инструментов фирмы Microsoft, обеспечивающий поддержку облачных вычислений ("ОС в облаке").
SQL Azure - версия СУБД Microsoft SQL Server для использования "в облаке".
262
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Агент интерфейса (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-роль - независимый изолированный фоновый процесс. Предоставляются способы доступа к нему со стороны внешних
263
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
приложений.
Web-роль - интерактивное .NET - приложение, обслуживаемое IIS, -Web Application или Web-сервис Windows Communication Foundation (WCF).
Private (On-Premise) - частное облако; клиент-разработчик ПО управляет всеми перечисленными компонентами;
Infrastructure-as-a-Service (laaS) - облако вида инфраструктура как сервис; клиент-разработчик ПО управляет приложениями, средами поддержки выполнения, механизмами безопасности и интеграции, базами данных, всеми остальными компонентами управляет поставщик облака (cloud provider);
Platform-as-a-Service (PaaS) - облако вида платформа как сервис; клиент-разработчик ПО управляет только своими приложениями, всем остальным управляет поставщик облака;
Software-as-a-Service (SaaS) - облако вида ПО как сервис; клиент-разработчик ПО не управляет никакими приложениями, а использует готовый веб-интерфейс.
Шина сервисов (Service Bus). Обеспечивает безопасный обмен сообщениями и сетевые возможности, которые поддерживают построение распределенных и изолированных приложений в облаке, а также гибридных приложений, сочетающих в себе локальные и облачные приложения. Шина сервисов поддерживает использование большого набора протоколов и шаблонов кода для коммуникации и обмена сообщениями.
Управление доступом (Access Control). Обеспечивает несложные методы определения идентичности и управления доступом для Web-приложений и сервисов, а также интеграции с общепринятыми поставщиками таких услуг - Active Directory®, Windows Five ID, Google, Yahoo!, Facebook.
Кэширование (Caching) - распределенный, находящийся в памяти, сервис для кэширования приложений Windows Azure и SQL Azure.
264
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows 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
265
Платформа облачных вычислений Microsoft Windows Azure
В.О. Сафонов
Azure
Проект - единица разработки программ в Visual Studio.
Сборка (build) - компиляция проекта в бинарный код.
Публикация проекта - создание конфигурационных файлов для его последующего развертывания в облаке.
Развертывание сервиса - перекачивание информации о нем на компьютеры облачного ЦОД.
Windows Azure - система облачных вычислений корпорации Microsoft
ссылка: http У/windows, azure.сот - портал Windows Azure
ссылка: http У/windowsazurepass. com - Web-страницы для получения пробного доступа к Windows Azure
Windows Live - портал, предоставляющий набор бесплатных облачных сервисов фирмы Microsoft
ссылка: httpy/www.live.com - портал Windows Live
Azure SDK for Java Developers - программный инструментарий для обращения к компонентам Azure из программ на различных языках.
Гостевая ОС - операционная система, которая предназначена для использования на клиентских компьютерах и под под управлением которой на клиентской машине выполняется облако.
SQL Azure Reporting - сервис для генерации отчетов по базам данных SQL Azure
Azure Marketplace - портал для накопления и распространения полезных приложений для Azure
Аспектно-ориентированное программирование (АОП) - новый перспективный подход к разработке и модернизации программ, предназначенный для поддержки сквозной функциональности (crosscutting concerns) в программах
266
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Aspect.NET - инструмент АОП для платформы .NET, разработанный группой под руководством автора курса.
Hawaii - проект Microsoft Research по разработке приложений для мобильных телефонов под Windows Phone 7 для облачных применений в Windows Azure
Ярус (tier) - слой программного обеспечения, реализующий какую-либо независимую часть его архитектуры; например: business tier - реализация бизнес-логики; Web tier - реализация взаимодействия с Web. Если используется понятие tier, следовательно, архитектура ПО настолько сложна, что двумерная модель (горизонтальный слой / вертикальный слой) ее полностью не описывает. Tier может находиться и использоваться в любой компоненте архитектуры ПО.
267
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Общее ознакомление с Windows Azure
Цель работы
Целью лабораторной работы является общее практическое ознакомление с системой облачных вычислений Windows Azure -получение доступа к системе, знакомство с порталом системы и особенностями GUI, вход/выход, основные действия, справка и поддержка.
Необходимый общий теоретический материал по архитектуре и особенностям Windows Azure представлен в лекции 3 и лекции 11 данного курса.
Аппаратура и программные инструменты, необходимые для лабораторной работы
Настольный или портативный компьютер с Web-браузером, подсоединенный к Интернету
На компьютере рекомендуется установка Microsoft Silverlight:
ссылка:	http://www.microsoft.com/rus/silverlight/
http У/www. microso ft. com/rus/silverlight/
Продолжительность лабораторной работы
2 академических часа
Вход в систему и получение подписки
Войдите на страницу входа в Windows Azure:
ссылка: https://windows.azure.corn - https://windows.azure.com.
Вы получите следующую картину на экране (рис. 18.1):
268
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рис. 18.1. Вход в систему Windows Azure
Если у Вас нет подписки на Azure, ее можно получить, нажав кнопку Sign up в левой части экрана. При этом Вы попадаете на страницу выбора вариантов подписки на Azure:
ссылка:	httpy/www.microsoft.com/windowsazure/ru/ru/offers/
http У/www. microso ft. com/windowsazure/ru/ru/offers/
На ней необходимо осуществить разумный выбор подписки. Коммерческая подписка - платная. Льготы предоставляются подписчикам MSDN и партнерам Microsoft.
Одна из возможных опций - получение пробной бесплатной подписки на 30 дней (по крайней мере, такая возможность была в течение весны-лета 2011 г). На рис. 18.2 изображена соответствующая страница. После заказа подписки, через несколько дней, Вы получите по email информацию для входа в систему
269
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Windows Azure MtiCfiOfi BOuaI Ccmp<H>y Phifurm
fcl 4 mKrtl
Smirch Шики
Data Transfers
П t щ □
Рис. 18.2. Страницы заказа бесплатной 30-дневной подписки на Azure.
Windows Azure Platform 30 Day Pass
Windc*^ Azure
□ JSr-r-.Corp^ □ Sf!clSl3ii;i
□ :a»tog<
AppFa h-n
SQL Azure
Теперь, когда у Вас уже есть подписка на Azure, Вам необходимо войти в "облако", задав Ваш логин и пароль в правой части экрана (см. рис. 18,1).
Логин должен быть Вашим email-адресом, под которым Вы предварительно регистрировались в бесплатной службе Windows Live (ссылка: httpy/www.live.com - httpy/www.live.com). Пароль Вы устанавливаете сами при регистрации в Windows Live. Он обеспечивает доступ ко многим полезным порталам Microsoft, в том числе и к Windows Azure.
(Новый) портал Azure. Основная страница
Помните, что, в отличие от многих других программных инструментов, которые Вы использовали до этого, Windows Azure - особый инструмент, который "приходит" к Вам через браузер как набор логически взаимосвязанных Web-страниц. Интерфейс Azure - это чисто Web-интерфейс. Его возможности в части контекстных меню и т.д., традиционные для "локального" пользовательского интерфейса (например, интерфейса Microsoft Office), весьма ограничены. Поэтому на
270
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
всякий случай предупреждаем, что не следует увлекаться и, например, нажатием правой кнопки мыши пытаться получить у какой-нибудь Web-кнопки (например, SignUp) ее специфическое контекстное меню.
Войдя в систему Windows Azure, Вы попадаете на основную страницу (рис. 18.3):
Wndo/rt Aau'eAsttarra
Приступая к рч Лоте с истым иojjTii.noи
I ljJH< ryn.isi и рчтЛл-ге г yi*i н!сWS> A?iirc
Г*«ПМ.П(-	wrdc—s лг-.. f j_ip viuHl jJnjrtn 4	»Г№М”Ж
pj:-f-riu,'9 h-r.nl £Л>№бы, чч4т-ый ;агъли лри-ыч.п н гег> rmiKD^-HTUHi иоэеи»
Цовы-e децячгащностк Hum 0>|iiu/lh<i
Н=4М fri-njW
Создание первого пвкапь-иаго при11О«Р:Г1мп Window!: Azure
гаи!=Ч.-*!<ОМИв-'Ч«"МЛ>.гЧ-*"'Ч<$<1 г<т 1':’ VMIfoWiJere • V4WI Slulu 5
Шнн^«пр{5^.
Рлзнслтынание и запуск приложении Wi iidawn Anire
&2DL1 М,УМЛС«5ОС1ЬМ 3.5«ierrtd г>«й<йе>Ж1Л.'.ГглЛ-п VtrtCB«br«l*liK<-4--: I Сг<ИИ4 п ГСДИй»^ 1	Qi
Рис. 18.3. Новый портал Azure. Основная страница
Слева - информация справочниго характера (включая "мастер" выполнения типичных заданий); справа - действия над инструментами Azure и практические примеры разработки приложений для Azure. К этому рисунку мы возвращаемся несколько раз в продолжение всего курса, так как с этой страницы начинается любое действие, которое можно выполнить в системе. Отдельная панель слева служит в качестве ’’триггера" для переключения с одного рода действий на другие - Начало работы, Типичные задачи, Справка и поддержка, Программы тестирования бета-версий; чуть выше - "кнопки" для создания сервиса, объекта хранения в Памяти, а также Подключений (отметим некоторые неточности русской локализации: название Connect превратилось в Подключиться); ниже - Главная страница AppFabric (см. лекцию 5) и кнопки для обращения к компонентам AppFabric, английские названия


271
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
которых локализованы по-русски самым загадочным образом и представляют поэтому некоторое подобие, как говорили в моем поколении, "загадочной картинки" ("Найдите здесь столько-то и такие-то компоненты Azure", привычные по их английским названиям). Но при известной интуиции найти их вполне возможно.
Интерфейс портала в целом характерен для современных принципов и инструментов GUI, прежде всего - для Microsoft Silverlight, API для разработки полнофункционального клиентского GUI в Web-приложениях, который и лежит в основе реализации GUI системы Windows Azure.
Типичные задачи, выполняемые в облаке
Результат перехода в пункт Типичные задачи показан на рис. 18.4. Их список у Вас перед глазами, поэтому перечислять еще раз излишне. Отметим, что гостевая ОС - это операционная система, выполняемая на Вашем клиентском компьютере при использовании облака. Разумеется, на Вашем компьютере, где работает Ваш браузер, операционная система совсем другая. В этом дуализме ОС - также специфика облачных вычислений. До сих пор большинство программистов не имели подобного опыта.
272
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
13
.	H№1
а Сл₽*з н гнщнцэжлэ
IJ Г'Птлр.ячт’Ы 1 уС I члдимсч <MJ
;Jj Унрли пение уччи гм ыии ihiihi umi
-- йднмнигтратлрпп
CW4>t*4 уивт’-нв	l^wrnwi
РаВДИЦАНнЫ! ЕЛДОЫ, уЧАПмй 1ЯЛИСМ 1фЛ1>«1№<Р и сеть -зширтннцн* и₽я»рм
Развертывание приложений
СЭкЙДяля iiil-Hwuvr""*" ^"6
iUrtbatinm effyrf
ЦЗина cnprfu, 4шф«
11 Ijintnil и ‘Мм!
* tkiptyanHHU* «гк
UUlltMIFrCHHC PJJUepHfTM« HPHFHJJ«ei!WH
Предоставление ссдержн+iorn, передаваемого "** no каналам с высоком пропускной ипосийнисгью
п1 _ Подключение локальны* компьютеров к jtJ W^idovms Azure
nfcJctYTMi» «; мб4М t Wintfiw» Azun C*1n«t
Рис. 18.4. Страница типичных задач, выполняемых в облаке
Справочная информация в облаке
На рис. 18.5 представлена страница справки и поддержки Windows Azure. Отметим, что локализованная справка (help) представлена достаточно полно. В необходимых случаях даны ссылки на документация на английском языке (MSDN).
273
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Q I МЪЯТЫ
Qj tlTIMiwu
Lro*a ^гкцадаржз
LJ rtp^pjTfu	бч
Размернчык ыгрсДы, St y4*T>*J* тлпи™ Ъ.рлЬмЧ 1= И сеть -зширгющнх ирнрся
(J ЬДЫ flJHl'V"
цл ЦТчШти
[Цхнл tUTirw^Hj, АшгЯ*
** ijintitJ и Хзщ
Спрлимл и поддержки
КШ I ZP' .,wi. J- ............................... ,,||-|„1-W II, ни,-.......Г—  Ifl IT. Ц I III
Рис. 18.5. Страница справки и поддержки в облаке
Участие в программах тестирования бета-версий компонент Azure
Интересной возможностью для пользователей Windows Azure является участие в программах тестирования бета-версий компонент Azure (см. рис. 18.6). В настоящее время стадию бета-тестирования проходят Windows Azure Connect и Traffic Manager (см. лекцию 8). Вообще, работать в Windows Azure интересно еще и тем, что Вы работаете в постоянно изменяющемся окружении - появляются новые компоненты или их новые версии. Это - тоже интересный и полезный опыт.
274
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Е-л**бД1рин » пмфчипи тц1пв-р*
PajHiiifflHrtidi: слух® ы,
Главны
Я
jj (МУ* длмичл
The й1н0доДм’Е CqemcICTP sew* P reyel Eonr+w/ihr
ЬеЕневп VlllWwt *uurt <rJ йп-crtiWa* tl ririiLra*. rteatt iae Virtual
Нк--1М»Г stJI 'tnWiitCJ' rsur №>l*d te-Vrtb йл in* hftJ Си frito* .c< rsd
Шнма ciwwflij. Acc*cc
IIUL
Рис. 18.6. Страница записи на участие в бета-тестировании Azure
сеть 'зширтннцн* сервисе


Управление развернутыми в облаке приложениями
Управление развернутыми в облаке Windows Azure приложениями подробно описано в лекции 5 и лекции 8, а также в лабораторной работе 2. На рис. 18.7 представлена для примера одна из страниц управления развернутыми в облаке приложениями.
Управление GUI (меню) расположено вертикально и находится под надписью Windows Azure Platform. На рис. 18.7 показана лишь одна функциональность - управление развернутыми в облаке приложениями. Все эти возможности относятся к компоненте Windows Azure AppFabric. В таблице представлена информация об имеющихся в системе у данного пользователя подписках, рабочих ролях (worker roles) и Web-ролях (Web roles). В скобках показано число экземпляров каждой из них, имеющихся у пользователя. Данный GUI может быть легко настроен (customized): можно изменить число выдаваемых атрибутов.
275
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
ГЕЛМИЕ С1*1ВГ[ГТиПМи>10]
Щима служа ю, Ашгрс
Рис. 18.7. Страница управления приложениями в облаке
Л." 'Zi'ii >*nh [jjyyoetmjrb ’ Г Ltrlirvjt - л Upside 1 «Янг Np*
OF
£j Windows ^zur? Ptarfnrm
Рл6сгг<<ла?о<$к>0¥ r>4*«
-J 1ад»ГГ1+Н1Ли1Ыв ГРгТТ|ь<
-J CLTrl<\»j1u-1У1йлВЛга-»р
ралминенни* слумоы
:«тъ юш пру и щи* teppiBM
II ЬМЯДлмпмч
Рабпгси-.пособн™-. it долм.-у пуки о при пожени»
PrtflMWC iWil (QJ
Рабочие	(0)
Проиекутпчмие риилъынив ill
ПМ!Ч1Т,'ТВЧкч4С МЛЛ [11

Выход из системы
Для выхода из Windows Azure нажмите ВЫХОД в правом верхнем углу страницы Windows Azure.
В данной лабораторной работе Вы освоили "азы" использования Windows Azure. В лабораторных работах 2 - 4 Вы получите более подробные практические сведения по использованию различных компонент Windows Azure.
Литература
К данной вводной лабораторной работе специальной литературы не предусмотрено. Если Ваша Интернет-коннекция работает достаточно быстро, Вы сможете оперативно получать нужную Вам конкретную информацию об Azure, двигаясь по меню (страницам) системы.
276
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Использование сервисов в Windows Azure и управление ими
Цель работы
Целью лабораторной работы является практическое освоение способов управления сервисами, пользователями, загрузкой ЦОД, виртуальной сетью и т.д. в Windows Azure.
Необходимый общий теоретический материал по архитектуре и особенностям Windows Azure представлен в лекции 8 данного курса.
Аппаратура и программные инструменты, необходимые для лабораторной работы
Настольный или портативный компьютер с Web-браузером, подсоединенный к Интернету на котором инсталлирован Microsoft Silverlight
Продолжительность лабораторной работы
2 академических часа
1.	Вход в систему и аутентификация пользователя
Войдите в систему Azure (ссылка: http У/windows, azure, com), введя свой логин и пароль (см. лабораторную работу 1).
2.	Начало эксперимента: Начальная страница компоненты Connect
Вначале (см. лабораторную работу 1) Вы попадаете на главную страницу портала Azure. Теперь в Вашем полном распоряжении -облако! Можете изучать его путем экспериментов и с использованием Справки и поддержки (help), ссылку на которую который легко найти на
277
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
главной странице портала. Таким практическим изучением мы и займемся в этой и последующих лабораторных работах по курсу
Для того, чтобы оценить "момент истины", вспомните о том, что (несмотря на сходство наблюдаемого Вами GUI с обычным GUI, например, Microsoft Office (инсталлированного на Вашей машине), Вы сайтес используйте облачный (Web) интерфейс. Мы уже немного говорили об этом при выполнении лабораторной работы 1.
Попробуем теперь изучить одну из новых компонент Azure - компоненту Connect (в вольном переводе русских локализаторов Azure -'Подключить"; на наш взгляд лучше было бы - 'Подключение'). Очевидно даже по смыслу названия, что компонента предназначена для подключения друг к другу компьютеров в сети виртуальных машин и ролей (т.е. процессов).
Нажмем "кнопку" Подключить в верхней левой части экрана.
Увидим следующую страничку (рис. 19.1); прокрутив ее вниз, получаем ее продолжение (рис. 19.2).
278
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Рис. 19.1. Начальная страница компоненты Comect
3.	Продолжение стартовой страницы компоненты Connect
279
Рис. 19.2. Продолжение стартовой страницы компоненты Connect
Как видно, в нашей подписке компонента Connect недоступна. Запросите режим ее бета-тестирования, и получите к ней доступ. Однако даже сам автор курса такого доступа пока не получил, хотя и запросил еще неделю назад.
Видимо, большая очередь желающих (это в самом деле так -представьте огромную очередь к облаку из программистов всего мира).
Вопрос к людям моего поколения: Вам это ничего не напоминает? (замечание вскользь).
Продолжим изучение Connect.
Несмотря на отсутствие доступа, кое-что мы все равно изучить сможем - ведь у нас есть Справка и поддержка. Прочитайте, пожалуйста, ее самостоятельно.
4.	Первая страница справки и поддержки компоненты Traffic Manager
280
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Дайствуя дальше аналогично в том же направлении, попробуем изучить новую компоненту Traffic Manager (Диспетчер трафика). Опять обнаруживаем, что в нашей подписке она недоступна, и изучаем ее по help (справке и поддержке - рис. 19.3, рис. 19.4).
281
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Cj Windows AZLHPMdrfnfTTl	В-,,ОИГГ1.Г.«Т, Vl-im»h-4o1=mrr Н»>гЛ * О
j ГГщяГимШг j JjMcneTMec
Вас приветствует диспетчер трафика Windows Azure Traffic
Manager
На далэд найти водлнееи. 0'л»емо-ы1>5 дня #ИЕгетчЕ|м травила rtlnis#? Атигв "JroQw jape тетри рева т>ел 
прссттаине тестихитагти» лнепетиерв гройч гл Wrakhw 4zurr mzmuiaJiXTE ршч ‘Просран< тЕсстчрэвааня
Перейти  *ета вертим
PajMBiXfflHHUt елДОы, M учлтиамч тлписи крякамыч и сеть -зшируннцн* вврвврм
jj fljMirv»
Шина tinyirtHj, Accapi ^СЛКпЦиШ
a * 5иргуйп>-ия г,гь-
Ч^рЬн нвстрРиГа jiUnirt и nt Ji’tHrlv	тйайчча ftralT-^ НнИая«П1г w'v/MHT* 4деГ|Пйщ><| аейРтаттЯ,
I Разверните ргзнец*енные службы в ро6сч№> <£«ве
2 Валбермте метод валаисигванти TiarpyiKH.

Рис. 19.3. Первая страница справки и поддержки компоненты Traffic Manager
4. Продолжение страницы справки и поддержки компоненты Traffic Manager
282
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Рарищвнны» tnywJw, >*J*П*<* 1ЯЛ1КМ	и
сшъ ’зи.нруюшх мрмрм
U bJjJflJKirv
Рис. 19.4. Продолжение страницы справки и поддержки компоненты Traffic Manager
U.	л-О* Кй
6.	Информация о размещенных службах
Нажмите на главной странице 'Размещенные службы ... " (длинная надпись) в левой части экрана. Попадаем на Информацию о размещенных службах (рис. 19.5). Меню - в левой верхней части экрана. Изучите самостоятельно по надписям возможности данной службы и попробуйте их в действии.
283
Рис. 19.5. Информация о размещенных службах
7.	Обновление параметров операционной системы для
выполнения сервиса
Находясь в компоненте для управления размещенными службами, настроим визуализацию так, чтобы выдавалась информация об ОС на компьютере ЦОД, обслуживающем Ваши запросы (рис. 19.6). Как правило, это Windows Server 2008 с вторым сервис-паком.
284
Рис. 19.6. Обновление параметров операционной системы для
выполнения сервиса
8.	Настройка столбцов таблицы представления информации о сервисе (добавление информации о гостевой ОС и др.)
Визуализируем информацию об ОС, настроив столбцы (рис. 19.7).
285
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
iWwEw(l)
tpft. rz>w fri1 Ki Uu nc
D Windows Алле Platform
.ОСТСЧЧ11Ч-
Шни» елФ>с>ь> conmu и кз-ш
Рис. 19.7. Настройка столбцов таблицы представления информации о сервисе (добавление информации о гостевой ОС и др.)
2j Упсйжпекл»  нУълс«-ьп«
J 1<ИМ’ЧЖЛ*ГНЦЛ| rwffifci
3 Capn*t«»jnj учришямля.





9.	Результат настройки столбцов: они визуализируются в таблице
Видим результат: в новом столбце теперь выдается информация об ОС.
286
Рис. 19.8. Результат настройки столбцов: они визуализируются в таблице
10.	Территориальные группы для выполнения сервисов
пользователя
Попробуем создать теперь теще одну территориальную группу в рамках своей подписки и своей учетной записи (Azure account). Сначала посмотрим, а какие же есть у нас сейчас территориальные группы (рис. 19,10):
287
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Cj Windows Platform
T«4>HT4*U1LhLK rpyrfflM
Рис. 19.9. Территориальные группы для выполнения сервисов
пользователя
11.	Управление пользователями
Чтобы еще лучше разобраться в ситуации, посмотрим информацию о своем user account (рис. 19.10). Видна информация о подписке и Вашем user name (рис. 19.10).
288
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
£j Windows Harfonn
Ин*	HUbAUCTviH
'_-0_bk'aot>-<i3^il,r,Ui {ItaJ Iffindoin Axurn (61)1й1ЛК£4*	cnpcfi
Рази HUB H HUE «Л'РЙЫ, 1ЛПИСМ YpikJHw»» И ' сеть эширтннцн*' иркЕрм
[J	flJHl'V»
_ О1ч»гн
Рис. 19.10. Управление пользователями
12.	Ограничение бета-версии на управление учетными
записями
Попытавшись теперь управлять самими учетными записями пользователей в Azure, OOPS! - Попадаем на ограничение бета-версии Azure на управление учетными записями (рис. 19.11). К этому нужно привыкнуть, работая в Azure: система активно развивается, и для новых версий и новых компонент иногда разработчикам приходится использовать подобный режим. Со временем это, безусловно, буцет изменено, по мере реализации и тестирования Azure.
289
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рис. 19.11. записями
Ограничение бета-версии на управление учетными
13.	Информация о размещенной службе и попытка обращения к CDN
Наш неистребимый дух экспериментаторства влечет нас дальше. Попробуем обратиться к другой новой компоненте CDN (Content Delivery Network, в вольном переводе на "локализаторский" русский язык - "Сеть кэширующих серверов") - см. рис. 19.12.
Эта компонента, на наш взгляд, - одна из самых "опасных" в Azure, так как позволяет перераспределять нагрузку при выполнении Ваших задач между различными ЦОД всего мира (!). Это уже почти нечто вроде ситуации в известном фантастическом фильме Тазонокосильщик" (The Lawnmower Man) - человек получает власть над всеми ЦОД облака Azure... Если серьезно, то здесь, к сожалению, хорошая возможность для атаки типа Distributed Denial of Service (см. книгу "Writing Secure Code", by D.LeBlanc & M. Howard, Microsoft Press, 2003) - отказ в обслуживании. В самом деле, загрузим выше крыши, например, ЦОД в Ирландии, но оставим в покое пока ЦОД в Редмонде, США. Надеюсь, что в Azure
290
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
предусмотрены средства борьбы с такой атакой (threat mitigation). Пока не проверял. Можете проверить самостоятельно. Но, пожалуйста, учтите, что за неправомерные действия Вас могут наказать.
Рис. 19.12. Информация о размещенной службе и попытка обращения к CDN
14.	CDN не включена в текущую подписку (требуется специальная подписка на тестирование бета-версии)
291
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Рис. 19.13. CDN не включена в текущую подписку (требуется специальная подписка на тестирование бета-версии)
15.	Управление пользователями и их подписками
Особых комментариев не требует (выполните самостоятельно).
292
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
о
fj Windows AzirertarfcHTTi
[J

ЦЗиха cnyiidbi, Accarc
Рис. 19.14. Управление пользователями и их подписками
16.	Добавление другого администратора (со-
администратора)
Особых комментариев не требует (выполните самостоятельно).
293
j	1	ггал&л и
а Гмритсо.ипь-и гиттии jcepn^iv^pMW» v_e_ttfflmw<ff1wd.r—
30>ШМ|МШ|»С1тК1|йкШ| Q n,i4fo« *zini p “J
_j Уче'чм *Ы|гел ьрйьчинч	Л Д«***>ть hOers кчш*л-1нп‘р*'п}р*
J Тгтрдипр»*. пс<чгт»п.	.! *Н[Чitt!«	мнн(ПИПТС**
। ГУчичы	шцг
Рис. 19.15. Добавление другого администратора (со-администратора)
17.	Управление проектами для со-администратора
Особых комментариев не требует (выполните самостоятельно).
294
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рис. 19.16. Управление проектами для со-администратора
18.	Настройка вывода информации об образах виртуальных машин в облаке
Особых комментариев не требует (выполните самостоятельно).
295
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
£j WirndOTIS Azure Perform	Выг.ялгп.гг^о.	"««H *
Рис. 19.17. Настройка вывода информации об образах виртуальных
машин в облаке
Уважаемые студенты, надеюсь, Вам хватило заданий на два академических часа.
Если нет, возьмите лекцию 8 и презентацию к ней и экспериментируйте дальше в том же духе.
Желаю успеха.
Не забудьте в конце выйти из системы.
Литература
1. 'Writing Secure Code", by D.LeBlanc & M. Howard, Microsoft Press, 2003
2. Справка и поддержка в облаке Azure
296
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Разработка, публикация и использование простого облачного приложения для Windows Azure
Цель работы
Целью лабораторной работы является практическое освоение методов разработки облачных приложений для Azure, их публикации и использования.
Необходимый общий теоретический материал по архитектуре и особенностям Windows Azure представлен в лекции 10 данного курса.
Аппаратура и программные инструменты, необходимые для лабораторной работы
Настольный или портативный компьютер с Web-браузером, подсоединенный к Интернету на котором инсталлирован Microsoft Silverlight, а также Visual Studio 2010.
Продолжительность лабораторной работы
2 академических часа
Вход в систему и аутентификация пользователя
Войдите в систему Azure (windows.azure.com), введя свой логин и пароль (см. лабораторную работу 1).
Visual Studio 2010 как основной инструмент разработки и запуска приложений для Windows Azure
Разработка облачных приложений, по сравнению с разработкой обычного консольного или Windows-приложения, является нетривиальной задачей, ввиду сложности архитектуры приложения и
297
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
всей облачной системы Windows Azure. Приложение фактически представляет собой Web-сервис, который должен быть опубликован и развернут в облаке.
Разработчикам Visual Studio 2010, тем не менее, удалось обеспечить столь удобную поддержку разработки облачных приложений, что она по сложности почти не отличается от разработки обычных приложений. Всю техническую работу по генерации большого объема рутинного кода и конфигурационных файлов, перекачке файлов на сайты облака и т.д. Visual Studio берет на себя.
Следует иметь в виду что, в отличие от использования Windows Azure (которое может быть осуществлено с любого компьютера с Web-браузером), разработка приложений для Windows Azure предъявляет весьма высокие требования к компьютеру операционной системе и рабочему окружению разработчика. Например, разработка облачного приложения для более ранних версий Windows, чем Windows Vista, в настоящее время (осень 2011 г.) невозможна. Даже к Windows Vista для этого необходимо установить Service Pack 1. Наиболее предпочтительна разработка облачного приложения на компьютере с Windows 7, которая и рассмотрена в качестве примера. Кроме ОС, для разработки необходимо инсталлировать на компьютер разработчика значительный объем программного обеспечения, точная спецификация которого опубликована на сайте windows.azure.com.
Итак, для разработки облачного приложения запустите Visual Studio 2010, причем в специальном режиме - от имени администратора (рис. 20,1).
298
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
Рис. 20.1. Запуск Visual Studio 2010 от имени администратора
Создание проекта типа Windows Azure Project
Следующий шаг - правильный выбор типа проекта. В Visual Studio 2010 предусмотрен специальный тип проекта - Windows Azure Project, который и следует выбрать (рис. 20.2).
299
Рис. 20.2. Создание проекта типа Windows Azure Project
Выбор ASP.NET Web-роли
Теперь необходимо выбрать Web-роль для разрабатываемого облачного приложения, т.е. определить, чем именно будет (какую роль будет играть) новое облачное приложение. Выбираем роль Сервис с пользовательским Web-интерфейсом (рис. 20.3).
300
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
Рис. 20.3. Выбор ASP.NET Web-роли
Создание основной ASP.NET - страницы облачного приложения
Разработаем основную ASP.NET - страницу нашего приложения, используя готовый шаблон ее кода (рис. 20.4). Напомним (см. лекцию 4), что в .NET Web-сервис представляется ASP.NET - страницей, файл которой имеет расширение .aspx. В ASP.NET - странице указывается ее заголовок, язык, на котором она разработана, а также ссылка на так называемый Code-behind - файл кода на языке реализации С#, содержащий методы обработки событий, связанных с ASP.NET -страницей. Такое разделение на файл спецификации пользовательского интерфейса страницы и на файл его реализации удобно и соответствует принципам модульного программирования. Назначение этой простой ASP.NET - страницы в том, что она выдает зада нный текст -приветственное сообщение от моего курса по Azure - на созданную по пользовательскому запросу динамическую HTML-страницу
301
В.О. Сафонов	Платформа облачных вычислении Microsoft Windows Azure
Гм Edit VTt* hnj«t !-j*d Dawi) Turn OjIj Took	!cB	’Ijjc
JP Л Л Л J <1 ‘	 t ПНнд - Jut,! HU	-I 1.3	-	1 T Л “1 >	41 □' 7
Рис. 20.4. Редактирование основной страницы облачного приложения
Сборка (build) облачного приложения
После набора и редактирования исходного кода ASP.NET - страницы в VS 2010, необходимо выполнить сборку (build) проекта. Рекомендуемый авторами Azure способ сборки в данном случае - выбор пункта Debug / Start without debugging (рис. 20.5).
302
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Fm Edrt Vk*	Bkjm Dtt'Ug Trim Uiti Toott 44>Vcc* r - .г»1	’Wf
Рис. 20.5. Сборка облачного приложения в Visual Studio 2010
Локальный запуск облачного приложения на машине разработчика
После сборки облачного приложения, в целях его отладки, рекомендуется, до публикации его в облаке, запустить его локально на компьютере разработчика. Поскольку при этом не используется и вообще недоступно реальное облако, оно эмулируется на локальной машине. По времени все это происходит достаточно долго (несколько минут), поэтому не уцивляйтесы При этом будут выдаваться интересные сообщения о загрузке и запуске эмулятора, и.т.д. Следите за событиями на экране.
В результате данной фазы разработки создается Web-страница на локальной машине (IP-адрес которой, как известно, равер условному значению 127.0.0.1), и данная Web-страница интерпретируется браузером, визуализируя текст нашего сообщения
303
Рис. 20.6. Запуск облачного приложения на машине разработчикам эмуляцией облака
Публикация приложения в облаке
Теперь, для того, чтобы облачное приложение можно было вызывать извне (через Web), по URL-адресу который был бы автоматически присвоен приложению интегрированной средой VS 2010 и (или) средствами Windows Azure, - приложение должно быть опубликовано в облаке как общедоступный Web-сервис. Публикация информации о разработанном приложении производится в особых форматах, детали которых, однако, разработчику знать не требуется, так как файлы для представления пакета в облаке автоматически генерируются средой VS 2010. Разработчик должен помнить только имя своего проекта (решения - solution) Visual Studio и место его расположения на докальных дисках. Причем последнее подсказывает ему среда: после сборки проекта среда Visual Studio выводит на экран директорию, где она разместила пользовательский проект, и рекомендует пользователю (разработчику приложения) эту директорию запомнить. На рис. 20.7 представлен этап publish (публикация), на котором разработчик приложения выбирает и
304
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
сообщает среде VS 2010 директорию, где находится его проект WindowsAzureProject3, и выбирает пункт контекстного меню Publish (опубликовать). Вот и все, что требуется от разработчика, чтобы выполнить сложнейшие действия по публикации разработанного им приложения в облаке.
305
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
Рис. 20.7. Публикация приложения в облаке средствами Visual Studio
Развертывание приложения в облаке
Следующий этап разработки - развертывание (deployment) приложения в облаке. В простейшем варианте, как в рассматриваемом примере, развертывание - это создание пакета специального формата, в который упаковывается информация о приложении. Данный случай рекомендуется выбирать путем выбора пункта Create Service Package Only в окне 'Deploy Windows Azure Project" (рис. 20.8).
306
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
Рис. 20.8. Развертывание приложения в облаке
Поиск и указание директории, из которой происходит
развертывание
При развертывании необходимо указать, из какой директории (расположенной на локальной машине) фактически происходит развертывание сервиса (рис. 20.9). Фактически развертывание означает, что теперь разработанное облачное приложение (как сервис) доступно в Web. Вот истинное воплощение принципа Software as a Service (SaaS)!
307
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
Рис. 20.9.
Поиск и указание директории, из которой происходит
развертывание
Отслеживание развернутого приложения в облаке с
помощью Azure AppFabric
Работоспособность развернутого в облаке приложения можно проверить средствами Azure AppFabric, выбрав пункт Работоспособность развернутого приложения. Выдается информация о типе развертывания и состоянии развернутого приложения (рис. 20.10). Выдаются также важные для пользователя предупреждения, например, о том (как в данном примере), что на каждую роль имеется только по одному экземпляру приложения. Говорится также о том, что надежность сервиса - не стопроцентная, поэтому рекомендовано дублировать функции, т.е. иметь на каждое необходимое приложение как минимум по две роли. Напомним, что роль - это процесс, в котором исполняется приложение. Не будем забывать о том, что это - серверный код, и число запросов к сервису может быть очень велико, т.е. возможны отказы. Чтобы уменьшить риск отказов, и рекомендуется иметь как минимум две роли на каждое (серверное) приложение.
308
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
a PMFttmeHiwtivxiSi flj
Ря1ИИА|ЯИНЫ* СПуМОи, r^tTNUi UftVrtM ЬфЗИАшЯ LI СЙТЬ. ou-HpjiKHUjAj: рордорси,
Рис. 20.10.
Отслеживание развернутого приложения в облаке с
lj Тедя11гзтн1пь-<ые группы
1 №Глг**.31и iTir^WutHrt*


помощью Azure AppFabric
Удаление предыдущего развернутого приложения (при нехватке ресурсов)
Если не хватает ресурсов текущей подписки, приходится удалять второе развернутое приложение (в данном примере - приложение safonov-test2, рис. 20.11).
309
Рис. 20.11. радение предыдущего развернутого приложения (при
нехватке ресурсов
Повторное развертывание приложения в облаке
Затем при необходимости, после освобождения ресурсов, облачное приложение можно развернуть повторно (рис. 20.12).
310
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
УгглслЫ'"''
Cl Wndows Azure Ha Worm
Рис. 20.12. Повторное развертывание приложения в облаке
Выбор области для развертывания
При (повторном) развертывании необходимо выбрать область (регион) - см. рис. 20.13.
311
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
Рис. 20.13. Выбор области для развертывания
Создание URL-адреса облачного сервиса
После этого создаем новый размещенный сервис (рис. 20.14), указав его имя, которое станет частью его уникального URL-адреса.
312
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
Рис. 20.14. Создание URL-адреса облачного сервиса
Скачивание сервиса в облако с локальной клиентской
машины
Как и в предыдущем примере, теперь публикуем в облаке сервис safonov-test3 (рис. 20.15).
313
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Рис. 20.15. Скачивание сервиса в облако с локальной клиентской
машины
Указание имени развернутого приложения
Задаем имя развернутого приложения, которое становится частью его URL-адреса (рис. 20.16).
314
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
Рис. 20.16. Указание имени развернутого приложения
Активизация Web-роли для развернутого приложения
Теперь активизируем Web-роль (т.е. процесс для обслуживания) развернутого, разработанного нами Web-сервиса (рис. 20.17). Состояние занято указывает, что в текущий момент еще происходит перекачивание сервиса в облако.
315
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
Q Раб<гтдакгс£*кит. рущ kJ Т«эсчТгрн*гтъ1О>я гпутТ1Ы ] Ci>Cn-«J»*JTu iTltbWUto*» J iBWlWW WfMtW (1) a	’iuuvn 'k-paia^uM
я Уп₽а*пвн« гю.’ъжвателч j WPMJ
fj Г>Ч»<1*Я
РячикМувины» t^ipefiu, tMfTbui -UrtkitM KfJirfHma и I И<Гь. .т-лр^инцлу «ррцрси 
Рис. 20.17. Активизация Web-роли для развернутого приложения
ПВоиедоочнм тиемне
CUEFF.QJ ] KiWHflS Pl
Ли»
W'NWU
Состояние
Поиск URL-адреса развернутого приложения
Теперь, когда сервис развернут, необходимо найти его URL-адрес для запуска через браузер, как любой другой Web-страницы. Обращаемся к пункту Размещенные службы Azure AppFabric. URL-адрес указывается в правой части визуализируемой страницы.Копируем его обычным образом, через механизм copy/paste (рис. 20.18).
316
В.О. Сафонов
Платформа облачных вычислении Microsoft Windows Azure
О Wndcws AzureP^rfcNTTi
Че/ *j	ф *@
Q PaSoTiwwc&KicTi. p*wf j Т«э₽и1т;рн*.п»лыв гоутТ,ы i	ГП[ИЛЛ£»И*
j Разнеще«« елриби (1)
3 Тлпщ* ЧПисм чр.’ни+чия J тГЧЖПвН» 0tfW3C«T4V j C<J₽sW ^ртулчл^п »1*и
ф t <№дй
Йя JMWjflkMWV tnykStJ, fjfTurf ШПиСм	и I
Mltb .ЛШрСИНЦАМ «рМрСИ 1
Рис. 20.18. Поиск URL-адреса развернутого приложения
uttnin Vl*dimJr brfsrwi* 1ыхм О
Запуск приложения из облака по URL-адресу
Запускаем новый, развернутый в облаке Web-сервис и видим привычное изображение активизированной страницы с нашим сообщением (рис. 20.19). Однако теперь мы достигли качественно иного этапа: это наше (первое) облачное приложение, которое можно использовать как часть доступных в облаче Azure сервисов.
317
В.О. Сафонов	Платформа облачных вычислении Microsoft Windows Azure
Mv ASP.NET Application
WELCOME TO A5P.NET FROM WINDOWS AZURE PROF. SAFONOV'S COURSE EXAMPLES’
To mm тир abc-jt asРЛЕТ ww
tw alw ^дцэчейИ^
Рис. 20.19. Запуск приложения из облака по URL-адресу
Копирование URL-адреса из облака в браузер и запуск по URL-адресу
Копирование URL-адреса нашего сервиса выполняем через AppFabric, через пункт контекстного меню сору (рис. 20.20).
318
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
©r -

Рис. 20.20. Копирование URL-адреса из облака в браузер
21. Запуск приложения по его URL-адресу взятому из облака
Запускаем браузер и выполняем paste в его строку URL-адреса. Работает! (рис. 20.21).
319
В.О. Сафонов
Платформа облачных вычислений Microsoft Windows Azure
a PMFttmeHiwtivxiSi flj
ИЯ1ИИА|ЯИНЫ* СПуМОи, r^tTNUi WftLltil L-fJlrtlHWS LI СЙТЬ. ou-hpjikhuac сордорси.
lj Тедя11гзтн1пь-<ые гзгупЗы
1 №Глг**.31и iTir^WutHrt*
Рис. 20.21. Запуск приложения по его URL-адресу взятому из облака


Отслеживание запущенного облачного приложения
Отслеживаем запущенное облачное приложение через AppFabric (рис. 20.22).
Наш пример завершен.
320
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
—	ЛщИспклЖ»; О.ОО.^О.Я
Frrir—1 7 - fp. ,Tr—с JOI t HldteWt Согртй<±1	TCmm.. >rtzn1M>iwwi |	£й<1Ы<1Ж » гадлярж.'гл | OfifwHi™ «>" U
Рис. 20.22. Отслеживание запущенного облачного приложения
Заключение
В данной лабораторной работе Вы познакомились с тем, как разработать приложение для облака Windows Azure. Отметим, что даже для автора курса, весьма опытного в подобных вопросах, изучение и изложение материала на эту тему доставило искреннее удовольствие и вызвало мой профессиональный интерес.
Желаю успешной разработки облачных приложений.
Литература
1. Справка и поддержка на портале Windows Azure (Разработка приложений).
321
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Использование Windows Azure для мобильных устройств
Цель работы
Необходимый общий теоретический материал по архитектуре и особенностям Windows Azure представлен в лекциях данного курса.
Аппаратура и программные инструменты, необходимые для лабораторной работы
Настольный или портативный компьютер с Web-браузером, подсоединенный к Интернету
Продолжительность лабораторной работы
2 академических часа
Цель работы
В данной лабораторной работе рассмотрены возможности работы в системе Windows Azure с мобильных устройств и исследовательский проект Microsoft Research под кодовым названием Hawaii, целью которого является разработка облачных приложений для мобильных устройств.
Данную лабораторную работу можно рассматривать скорее как приглашение к действию, так как в данный момент даже автор курса пока не приобрел практического опыта работы в проекте Hawaii -проект только набирает силу во всем мире. В нем участвуют в данный момент в основном представители университетов США и Канады и некоторых университетов Европы. Так что, проект Hawaii ждет Вас.
Оборудование и программное обеспечение, неодходимое для выполнения работы
322
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Компьютер с операционной системой Windows 7, мобильный телефон с операционной системой Windows Phone 7 или Windows Phone 7.5 (Mango).
Что такое проект Hawaii?
В сотрудничестве между университетами всего мира, проект Hawaii предоставляет возможность студентам разрабатывать оригинальные облачные мобильные приложения. Студенты участвующих в проекте университетов могут использовать операционную систему Windows Phone для доступа к облачным сервисам, а также систему Windows Azure для организации вычислений (компоненту Compute) и хранения данных (компоненту Storage).
Администрация проекта Hawaii предоставляет студентам для выполнения их разработок необходимые инструменты, сервисы и платформы для взаимодействия мобильных устройств с облаком. Поощряется изобретательность и воображение студентов. Руководителем работ от Microsoft является Виктор Баль (Victor Bahl), Директор центра по мобильным вычислениям Microsoft Research.
Платформа
Как часть проекта Hawaii, участники разрабатывают Web-приложения и сервисы, а также мобильные приложения. Для целей данного проекта была выбрана мобильная платформа Windows Phone 7 и либо Windows Azure, либо Internet Information Services (IIS) в качестве сервера Web-приложений.
Платформа разработки ПО - Hawaii Services SDK - позволяет облачным Windows Phone 7 - приложениям соединяться с экспериментальными сервисами Microsoft Research. Эти экспериментальные сервисы были разработаны для студентов и исследователей, участвующих в проекте Hawaii
Hawaii Services SDK свободно доступен для скачивания по ссылке на страницу Microsoft Research:
323
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
ссылка: httpy/research.microsoft.com/en-us/downloads/ld31795a-e7f5-4c42-886e-deO6O64ff65f7
Облачные сервисы - результаты проекта Hawaii
Участники проекта Hawaii имеют доступ для использования к следующим облачным сервисам:
Relay Service
Большинство провайдеров мобильных телефонов не обеспечивает их нормальными публично доступными IP-адресами, которые позволили бы иметь доступ к ним со стороны других устройств. Это затрудняет разработку приложений, в которых мобильные телефоны взаимодействуют друг с другом непосредственно. Hawaii Relay Service обеспечивает точку обмена сообщениями в облаке, которую мобильные телефоны могут использовать для общения. Обеспечивается схема именований таких конечных точек (endpoints) и буферизация для обмена сообщениями между конечными точками. Обеспечивается также групповая рассылка (multi-casting) сообщений между конечными точками. Сервис разработан в Сингупарском университете менеджмента.
OCR in the Cloud
Облачный сервис Hawaii Optical Character Recognition (OCR) in the Cloud service получает фотографический образ, содержащий некоторый текст, и возвращает этот текст.
ссылка:	Скачайте
http://research.microsoft.com/hawaii/download/OcrTestClientLite.zip исходный код (вместе с необходимыми библиотеками и проектными файлами Visual Studio) простого примера OCR-приложения. Файл Readme.rtf в полученном zip-архиве описывает последовательность шагов для сборки (build) приложения.
324
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Rendezvous Service
Hawaii Rendezvous Service - это сервис, отображающий известные имена, воспринимаемые человеком, в коммуникационные точки в Hawaii Relay Service. Эти имена могут быть использованы как стабильные точки рандеву компилируемые в приложения.
Speech to Text
Сервис Hawaii Speech to Text выполняет распознавание речи -принимает фразу устной речи и возвращает ее содержание как текст (пока только по-английски).
Computation
Использование Windows Azure для обеспечения вычислительных серверов в облаке
Storage
Использование Windows Azure для обработки виртуальных баз данных, основанных на SQL, в облаке.
Identification
Использование Windows Live ID для идентификации пользователей Web-сайтов.
Mapping
Использование известного программного продукта Virtual Earth для построения карт по заданным координатам (широта, долгота).
Учебные материалы по Windows Phone 7
325
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Телефон
Для изучения и использования выбран телефон Samsung Focus.
Ниже приведем гиперссылки для скачивания информации.
ссылка:	Технические данные и спецификации
http У/www. Samsung, com/us/mobile/cell- phones/S GH-1917 ZK AATT- features
ссылка: Обзор CNET - http://reviews.cnet.com/smartphones/samsung-focus-at-t/4505-6452_7-34195352.html
ссылка: Справка и поддержка - http://www.microsoft.com/windowsphone/en-us/howto/wp 7/default. aspx
Начало работы в проекте Hawaii
Шаг 1: ссылка: Скачивание свободно доступных инструментов -http://create.msdn.com/home/getting_started. Скачиваемое ПО включает Visual Studio 2010 (Express Edition). Вы можете также использовать эти инструменты с Visual Studio Professional editionstead if you wish (see the Development Tools section below).
Шаг 2: ссылка: Создание Вашего первого приложения httpy/msdn.microsoft.com/libraiy/ff402526(v=VS.92).aspx. Windows Phone -приложения могут создаваться с использованием Silverlight либо XNA framework.
Шаг 3: ссылка: Соединение с Арр Hub - http://research.microsoft.com/en-us/um/redmond/projects/hawaii/students/apphub.aspx для разблокировки Вашего телефона (необходимой для исполнения Вашего приложения на реальном устройстве). Данный шаг может потребовать нескольких дней, поэтому планируйте все заранее.
Шаг 4:	ссылка:	Развертывание приложения
httpy/msdn.microsoft.com/libraiy/ff928362(v=VS.92).aspx на Вашем телефоне для тестирования.
326
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Windows Phone Marketplace
Ваши приложения могут быть ссылка: размещены httpy/create. msdn.com/home/aboiit/app_submission_walkthrough на портале Windows Phone Marketplace с помощью ссылка: Арр Hub -http://create.msdn.com/. Студенты могут опубликовать бесплатно ограниченное число приложений, (см. ссылка: Арр Hub FAQ -http У/create .msdn. com/home/faq).
Форум
ссылка: Арр Hub discussion forums - httpy/forums.create.msdn.com/forums/ -форум для обсуждений и выяснения вопросов, связанных с Windows Phone.
Заключение
Проект Hawaii - первый шаг к реализации и реальному использованию облачных вычислений на платформе Windows Azure для мобильных устройств. Он уникален по своей новизне и географическому составу участников. Читатели приглашаются к участию в данном проекте.
327
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
Список литературы
1.	В. Иллингуорт и др , Толковый словарь по вычислительным системам , М.: Машиностроение, 1991. - 560 с
2.	Anthony Т. \felte, Toby J. Xfelte, Robert Elsenpeter, McGraw Hill, Cloud Computing - A Practical Approach, 2009
3.	Roger Jennings, Cloud Computing with the Windows Azure Platform, Wiley, 2009
4.	Сафонов B.O., Основы современных операционных систем, URL: http ://www.intuit .ш/department/o s/bmo s /
5.	Сафонов B.O., Основы современных операционных систем, М.: ИНТУИТ.РУ. БИНОМ. Лаборатория знаний, 2011, 583 с
6.	Сафонов В.О., Архитектуры и модели программ и знаний. Спецкурс для студентов
4 курса, URL:	https://www.facultyresourcecenter.com/curriculum/pfv.aspx?
ID=8480&Login&=
7.	Материалы по Windows Azure фирмы Microsoft, URL: http://www.azure.com
8.	Материалы и ссылки на материалы по Windows Azure на ее портале, URL: http://windows.azure.com.
9.	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
10.	Introduction to Cloud Computing. Course Module by David S Platt. Harvard University Extension School, URL: dplatt@fas.harvard.edu. www.rollthunder.com
11.	Документация MSDN no Windows Azure Storage
12.	Документация (help) no Windows Azure Storage в облаке Windows Azure
13.	Материалы no компонентам для управления Web-сервисами в облаке Windows Azure, URL: https://windows.azure.com
14.	Справочниые материалы (help) по использованию сервисов в Azure (в облаке и в MSDN)
15.	Web-страницы SQL Azure на портале msdn.microsoft.com
16.	Справка и поддержка SQL Azure на портале Windows Azure
17.	Документация по разработке облачных приложений в Windows Azure в среде Visual Studio 2010, URL: Портал http://windows.asure.com
18.	Материалы по Azure (справка и поддержка) на портале, URL: windows.azure.com.
19.	Материалы Microsoft по Azure SDK, URL: http://msdn.microsoft.com/ru-ru/library/gg680300.as рх
20.	Материалы по Windows Azure Marketplace, URL: datamarket.azure.com
21.	Safonov V, Using aspect-oriented programming for trustworthy software development, URL: John Wiley & Sons, 2008, 352 pp.
22.	Сафонов B.O., Аспектно-ориентированное программирование, СПб.: ИЗД-ВО СПбГУ, 2011,104 с.
23.	Web-страница проекта Hawaii, URL: http://research.microsoft.com/en-us/um/redmond/projects/hawaii/
24.	e-book издательства Microsoft Press: Programming Windows Phone 7, is free from Microsoft Press, URL: http://blogs.msdn.com/b/microsoft_press/archive/2010/10/28/free-ebook-programmmg-windows-phone-7-by-charles-petzold.aspx
25.	Домашняя страница MSDN Windows Phone Development., URL:
328
В.О. Сафонов	Платформа облачных вычислений Microsoft Windows Azure
http ://msdn.micros oft.com/library/ff402535(v=VS.92).aspx
26.	Windows Phone Class Library Reference., URL:
http ://msdn.micros oft.com/library/ff626516(v=VS.92).aspx
27.	Silverlight	Class	Library	Reference.,	URL:
http ://msdn.micros oft. com/ library/cc838194(VS.95).aspx
28.	App Hub's Aggregation of Useful Documentation Links, URL: http://create.msdn.com/education/documentation
29.	Сайт Windows Phone 7 Development for Absolute Beginners содержит серию обучающих видеокурсов (tutorials), URL: http://channel9.msdn.com/Series/Windows-Phone-7-Development-for-Absolute-Beginners
30.	Для опытных программистов, которым просто не знакома Windows Phone 7, имеется продвинутый курс Windows Phone 7 Training Course
31.	Silverlight for Windows Phone Toolkit, URL: http://silverlight.codeplexcom/releases/view/55034
32.	Сафонов B.O., Молодым программистам: Как писать научные работы по ИТ, Компьютерные инструменты в образовании, 2007, № 6,13-22
33.	Зиглер К, Методы проектирования программных систем, М.: Мир, 1985
329