В этой статье из пяти частей показано, как: создать веб-сайт для Windows Azure из галереи образов, создать веб-сайт и развернуть собственный ASP.NET MVC 4 проект, масштабировать веб-сайт. Веб-сайты являются новой функциональностью платформы и находятся в стадии Preview — соответственно, требуется регистрация для доступа к этой функциональности.
Prerequisites:
1) Windows 7 либо Windows 8.
2) Visual Studio 2012 RC.
3) Подписка Windows Azure. Регистрация 90-дневной тестовой подписки.
Часть I. Запуск первого приложения в Windows Azure. Подготовка рабочего окружения
1. Установка Windows Azure SDK для .NET.
1.1 Установка Windows Azure SDK для .NET с помощью Web Platform Installer
1. Перейдите на сайт Центра Разработки на .NET на Windows Azure (рис. 1). Нажмите на кнопку Install.
Рис. 1. Центр Разработки на .NET для Windows Azure
2. В появившемся диалоговом окне выберите необходимую версию Visual Studio – 2010 или 2012 RC (рис. 2). Выберите Visual Studio 2012 RC.
Рис. 2. Диалоговое окно выбора версии пакета
3. Как только пакет будет загружен, запустится оболочка Web Platform Installer 4.0 с настроенным списком программного обеспечения, необходимо для разработки с использованием Windows Azure SDK 1.7. После завершения установки нажмите Finish в появившемся диалоговом окне (рис. 3).
Рис. 3. Диалоговое окно установки компонентов
1.2 Установка Windows Azure SDK для .NET вручную
Для ручной установки Windows Azure SDK для .NET и других компонентов, требуемых для разработки для Windows Azure, перейдите на страницу загрузки и последовательно загрузите и установите все необходимые компоненты.
Часть II. Запуск первого приложения в Windows Azure. Регистрация на портале и получение учетной записи
Windows Azure Web Sites находится в стадии “Preview”. Получить доступ можно, подав заявку на бесплатный трехмесячный период использования Windows Azure и добавив необходимую функциональность на портале управления либо запросив доступ к функциональности Preview на сайте Windows Azure.
Добавление заявки на доступ к функциональности Preview на портале администрирования
1. Войдите на портал управления Windows Azure, используя учетные данные Windows Live ID (рис. 4).
Рис. 4. Страница входа в систему
2. Войдя на портал управления (рис.5), нажмите кнопку New, расположенную в нижнем левом углу страницы, для открытия диалогового окна New form (рис. 6).
Рис. 5. Портал управления Windows Azure
Рис. 6. Диалоговое окно New form
3. В диалоговом окне New form выберите опцию Web Site. Нажмите на ссылку preview program.
4. На открывшейся странице нажмите Preview features (рис. 7), чтобы перейти на страницу добавления заявки на функциональность Preview.
Рис. 7.
5. На странице preview features нажмите try it now рядом с Web Sites (рис. 8).
Рис. 8. Страница preview features
6. На появившейся форме Add Preview Feature выберите свою подписку (если у вас несколько подписок) и нажмите на кнопку (рис. 9), чтобы запросить доступ к функциональности Preview. После нажатия рядом с названием функциональности появляется надпись You Are Queued (рис.10).
Рис. 9. Отправка запроса на доступ к функциональности Preview
Рис. 10. Обновленная страница preview features
6. Для того, чтобы узнать, в каком состоянии находится ваша заявка, нажмите на ссылку Status.
Добавление заявки на доступ к функциональности Preview на сайте Windows Azure
Для того, чтобы добавить заявку на доступ к функциональности Preview на сайте Windows Azure, перейдите на страницу Preview Features (рис. 11) и повторите последовательность действий из предыдущего пункта.
Рис.11. Страница Preview Features
Подробная информация по ценообразованию доступна на сайте Windows Azure.
После того, как ваш запрос будет принят, вы получите электронное письмо на почтовый ящик своей учетной записи (рис. 12).
Рис. 12. Образец электронного письма о предоставлении доступа
Если вы получили электронное письмо — вы получили доступ к функциональности Preview, которая была вам необходима.
Часть III. Запуск первого приложения в Windows Azure. Создание первого сайта в Web Sites на базе шаблона из галереи
1. Войдите на портал управления Windows Azure, используя учетные данные Windows Live ID (рис. 13).
Рис. 13. Страница входа в систему
2. Войдя на портал управления (рис.14), нажмите кнопку New, расположенную в нижнем левом углу страницы, для открытия диалогового окна New form.
Рис. 14. Портал управления Windows Azure
3. Выберите Web Site для создания нового веб-сайта. Выберите From Gallery (рис. 15).
Рис. 15. Выбор варианта создания веб-сайта
4. В диалоговом окне Find Apps For Azure вам предлагается выбрать один из преднастроенных образов (рис. 16). Выберите образ WordPress.
Рис. 16. Выбор преднастроенных образов веб-сайтов из галереи
5. В диалоговом окне Configure Your App введите в поле URL будущее имя вашего веб-сайта на основе WordPress. Остальное оставьте без изменений (рис. 17).
Рис. 17. Страница первоначальной настройки веб-сайта
6. В диалоговом окне New MySQL Database вы можете выбрать имя для базы данных MySQL либо продолжить работу со случайно сгенерированным (рис. 18). Отметьте, что вы согласны с правилами ClearDB. Нажмите Next.
Рис. 18. Страница создания новой базы данных MySQL
За короткое время будет развернут ваш новый веб-сайт, после чего значение поля Status примет значение Running (рис. 19).
Рис. 19. Панель информации о веб-сайте
7. Нажмите на ссылке в поле Url вашего веб-сайта, чтобы перейти на администраторскую панель блога (рис. 20). Введите необходимые данные и нажмите Install WordPress.
Рис. 20. Страница первоначальной настройки блога WordPress
8. Ваш блог установлен (рис. 21). Нажмите Log In для входа в систему.
Рис. 21.
9. Перейдите обратно на портал управления Windows Azure на вкладку Web Sites. Нажмите на названии своего веб-сайта, чтобы перейти на администраторскую панель веб-сайта и просмотреть загрузку в реальном времени (рис. 22).
Рис. 22. Администраторская панель веб-сайта
Вы создали свой первый веб-сайт с помощью галереи преднастроенных образов.
Часть IV. Запуск первого приложения в Windows Azure. Модификация проекта и публикация кода из Visual Studio
Для Windows Azure Web Sites поддерживаются следующие варианты развертывания: Visual Studio Web Deploy, GitHub, FTP, Team Foundation Services (TFS), Microsoft WebMatrix. В этой статье рассматривается алгоритм развертывания веб-сайта с помощью FTP из Visual Studio.
1. Войдите на портал управления Windows Azure, используя учетные данные Windows Live ID (рис. 23).
Рис. 23. Страница входа в систему
2. Войдя на портал управления (рис.24), нажмите кнопку New, расположенную в нижнем левом углу страницы, для открытия диалогового окна New form.
Рис. 24. Портал управления Windows Azure
3. Выберите Web Site для создания нового веб-сайта. Выберите Quick Create (рис. 25).
Рис.25. Выбор варианта создания веб-сайта
4. Введите URL для вашего будущего веб-сайта (рис. 26).
Рис. 26. Первоначальная настройка веб-сайта
5. За короткое время будет развернут ваш новый веб-сайт, после чего значение поля Status примет значение Running (рис. 27).
Рис. 27. Панель информации о веб-сайте
6. Нажмите на ссылку в поле URL вашего веб-сайта, чтобы удостовериться, что сайт был создан и работает (рис. 28).
Рис.28. Первая страница созданного сайта
7. Для того, чтобы получить учетные данные для дальнейшего развертывания по FTP, перейдите на администраторскую панель веб-сайта, нажав на его имени. На странице Dashboard нажмите Reset deployment credentials (рис.29). Введите в появившемся диалоговом окне учетные данные, которые будут использоваться для развертывания веб-сайта.
Рис.29. Меню действий с веб-сайтом
8. Для загрузки профиля развертывания, который будет использоваться в дальнейшем в Visual Studio, нажмите Download publish profile (рис.29).
9. Запустите Visual Studio 2012 RC.
10. Нажмите New Project. Выберите шаблон ASP.NET MVC 4 Web Application (рис. 30). Выберите Internet Application (рис. 31).
Рис. 30. Список шаблонов веб-проектов в Visual Studio 2012 RC
Рис. 31. Основные настройки проекта ASP.NET MVC 4
11. Нажмите правой кнопкой мыши на проекте. Выберите Publish. В открывшемся диалоговом окне нажмите Import… и выберите загруженный с портала управления Windows Azure профиль развертывания для вашего веб-сайта. Выберите опцию развертывания FTP и введите необходимые данные (рис. 32), которые можно получить на панели администрирования вашего веб-сайта (рис. 33). Для проверки правильности введенных значений нажмите Validate Connection. В случае успешного прохождения проверки нажмите Publish. Далее в представлении Output будет расположен лог развертывания вашего веб-сайта по FTP (рис. 34).
Рис. 32. Настройка публикации проекта
Рис. 33. Панель основных данных о веб-сайте на панели администрирования веб-сайта
Рис. 34. Представление Output в Visual Studio 2012 RC
12. После окончания загрузки нажмите на адрес в поле URL, чтобы перейти на веб-сайт (рис. 35).
Рис. 35. Стандартная страница проекта ASP.NET MVC 4
Вы создали веб-сайт и развернули в него стандартный проект ASP.NET MVC 4.
Часть V. Запуск первого приложения в Windows Azure. Масштабирование проекта на Web Sites
Каждый веб-сайт в Windows Azure имеет панель администрирования Dashboard, в которой можно получить различную информацию о веб-сайте: метрики, загрузку, URL, расположение в датацентре, а также выполнить различные действия: остановку или запуск веб-сайта, удаление, переход на веб-сайт и так далее (рис. 36).
Рис. 36. Панель администрирования веб-сайта, страница Dashboard
При необходимости масштабировать ваш веб-сайт вы можете сделать это в панели администрирования.
1. Перейдите в панель администрирования вашего веб-сайта.
2. Нажмите Scale для перехода на страницу сведений о масштабировании (рис. 37).
Рис.37. Страница сведения о масштабировании веб-сайта
Вы можете выполнять масштабирование вашего веб-сайта, регулируя количество экземпляров, которое он будет использовать. Для этого на странице масштабирования есть специальный регулятор (слайдер). По умолчанию после создания ваш веб-сайт находится в режиме shared, то есть его экземпляры выполняются в одном большом пространстве вместе с экземплярами других веб-сайтов (изолированно от них). Вы можете инициировать переход вашего веб-сайта в режим reserved – с получением для веб-сайта отдельных виртуальных машин. Находящиеся в режиме shared 10 веб-сайтов бесплатны.
1. Используя слайдер, укажите количество экземпляров в 2 (рис. 38). Нажмите Save.
Рис. 38. Слайдер управления количеством экземпляров в режиме shared
2. Укажите режим веб-сайта в reserved (рис. 39).
Рис. 39. Переключение режимов
3. Отметьте “I have removed the spending limit on myaccount” для того, чтобы появилась возможность перехода в режим reserved.
4. Вам доступно три размера экземпляра – Small, Medium и Large. Выберите режим Medium и, используя слайдер, укажите 2 экземпляра (рис. 40). Нажмите Save.
Рис. 41. Выбор размера экземпляров и слайдер управления количеством экземпляров в режиме shared
5. Откатите изменения, перейдя в режим Shared и нажав Save.
Избранные
Избранные
Ознакомьтесь с наиболее популярными продуктами Azure
ИИ + машинное обучение
ИИ + машинное обучение
Создавайте приложения нового поколения, используя возможности искусственного интеллекта для любых разработчиков и любых сценариев.
Аналитика
Аналитика
Получите такие преимущества, как сбор, хранение, обработка, анализ и визуализация данных любого типа и объема и с любой скоростью.
Вычислительная среда
Вычислительная среда
Воспользуйтесь возможностями облачных вычислений и масштабирования по требованию. При этом вы платите только за те ресурсы, которые используете.
Контейнеры
Контейнеры
Разрабатывайте и администрируйте контейнерные приложения быстрее благодаря встроенным средствам
Базы данных
Базы данных
Продолжайте быстро развиваться и оперативно внедряйте инновации благодаря безопасным полностью управляемым службам баз данных корпоративного уровня.
DevOps
DevOps
Быстрое внедрение инноваций с помощью простых и надежных средств для непрерывной поставки
Средства для разработчиков
Средства для разработчиков
Создавайте и непрерывно доставляйте облачные приложения, а также управляйте ими, используя любую платформу и любой язык
Гибридная и многооблачная среда
Гибридная и многооблачная среда
Получайте новинки Azure в любом месте — добавьте гибкость и инновации облачных вычислений в свои локальные рабочие нагрузки
Удостоверение
Удостоверение
Управление удостоверениями и доступом пользователей для защиты устройств, данных, приложений и инфраструктуры от сложных угроз
Интеграция
Интеграция
Без проблем интегрируйте локальные и облачные приложения, данные и процессы в масштабах всего предприятия.
Интернет вещей
Интернет вещей
Подключайте ресурсы или среды, находите аналитику и применяйте продуманные действия по преобразованию организации
Управление
Управление
Упрощайте, автоматизируйте и оптимизируйте управление облачными ресурсами и обеспечение их соответствия требованиям
Мультимедиа
Мультимедиа
Доставка видео высокого качества в любую точку, в любое время и на любое устройство
Миграция
Миграция
Упрощение и ускорение миграции в облако с помощью наших руководств, инструментов и ресурсов
Смешанная реальность
Смешанная реальность
Объедините реальный и цифровой мир в решениях с эффектом присутствия и возможностями взаимодействия
Мобильные приложения
Мобильные приложения
Сборка и развертывание кроссплатформенных и нативных приложений для любых мобильных устройств
Работа в сети
Работа в сети
Объедините облачные и локальные службы и инфраструктуру, чтобы обеспечить максимальное удобство работы своим клиентам и пользователям.
Безопасность
Безопасность
Защита предприятия от сложных угроз для гибридных облачных нагрузок
Хранилище
Хранилище
Получите безопасное облачное хранилище с высоким уровнем масштабируемости для данных, приложений и рабочих нагрузок.
Интернет
Интернет
Быстрая и эффективная сборка, развертывание и масштабирование мощных веб-приложений
Виртуальный рабочий стол Windows
Виртуальный рабочий стол Windows
Лучший интерфейс виртуального рабочего стола, поставляемый Azure
Аннотация: Windows Azure SDK предоставляет разработчикам интерфейс
программирования приложений, необходимый для разработки, развертывания и управления масштабируемых сервисов в Windows Azure. В данной лекции мы
рассмотрим основные возможности Windows Azure SDK.
Цель данной лекции – ознакомиться с комплектом средств разработки Windows Azure SDK.
Windows Azure SDK предоставляет разработчикам интерфейс программирования приложений, необходимый для разработки, развертывания и управления масштабируемых сервисов в Windows Azure.
Azure Cloud Fabric и службы Azure Storage не поддерживают разработку или отладочные операции в облаке, поэтому Azure SDK позволяет делать это локально в виде приложений Development Fabric (DF) и Development Storage (DS), которые устанавливает Windows Azure SDK. Вместе с SDK также устанавливаются коллекция приложений примеров и библиотеки упакованных классов для облегчения программирования приложений.
Должны быть установлены .NET Framework 3.5 SP1 и SQL Express 2005 или 2008, также необходимо включить ASP.NET и WCF HTTP Activation для IIS 7.0 для Windows Server 2008, Windows Vista SP2, или Windows 7 RC или позже для установки и запуска SDK. Заметки к выпуску включают инструкции для настройки этих опций. Использование SDK не является обязательным, потому что есть возможность пользоваться любыми операционными системами и языками программирования, которые поддерживают HTTP запросы и ответы. Однако, вы увидите что использование SDK интерфейсов прикладного программирования .NET и библиотек для приложений и хранилищ позволяет наиболее просто работать с HTTP напрямую.
После того, как вы установили Azure SDK, Вы должны скачать и установить инструменты Windows Azure для Visual Studio для добавления шаблонов проектов Web Cloud Sevice, Worker Cloud Service, Web and Worker Cloud Service Workflow Service. Вы можете скачать текущую версию Windows Azure SDK и Windows Azure Tools для Visual Studio с главной страницы Windows Azure по ссылке www.microsoft.com/azure/windowsazure.mspx.
После установки Windows Azure Tools в Visual Studio появляются шаблоны Cloud Service в диалоге создания нового проекта. При выборе узла Cloud Service открываются New Cloud Service, который позволяет добавить ASP.NET Web Roles, Worker Roles или CGI Web Roles для нового проекта. Windows Azure SDK позволяет добавить более чем одну роль для каждого типа Cloud Service. Каждая роль использует отдельный экземпляр Windows Azure CPU, так минимальная стоимость запуска проекта в облаке будет примерно 4 * $0.12 = $0.48 в час.
Рис.
5.1.
Создание нового проекта Cloud Service в Visual Studio
Добавив указанные роли и нажав ОК, откроется новое решение с проектами WebRole и Worker-Role
в Solution Explorer как показано на
рис.
5.2.
Узел Roles содержит элементы WebRole, которые указывают на каждую WebRole, которая обеспечивает пользовательский интерфейс ASP.NET для приложения и каждый WorkerRole для вычислительный операций, которые не требуют пользовательского интерфейса или используют страниц ASP.NET WebRole вместо этого.
Рис.
5.2.
Solution Explorer Cloud Service
В зависимости от типа Cloud Service проекты включают пространство имен Microsoft.ServiceHosting.ServiceRuntime,
которое содержит классы, указанные в таблице ниже.
Класс | Описание |
---|---|
RoleEntryPoint | Обеспечивает методы для управления инициализацией, запуском и остановкой методов сервиса, так же используется для мониторинга состояния сервиса. |
RoleException | Сообщает об ошибках когда происходят недопустимые операции внутри роли |
RoleManager | Обеспечивает методы для журналирования сообщений и поступающих предупреждений, извлекает настройки конфигурации сервиса и возвращает местоположение ресурса |
RoleStatus | Информирует о текущем статусе роли: Healthy, NonExistent, Started, Starting, Stopped, Stopping или Unhealthy |
Проекты, которые используют шаблон WebRole определяют веб страницу ASP.NET Default.aspx как начальную точку для пользовательского интерфейса приложения в облаке.
Это сервис объединяет библиотеку класса Common из приложения-образца HelloFabric для содействия в журналировании проблем приложения. Журналы приложения – это практичные средства откладки приложений, запущенных в Cloud Fabric. Для чтения журналов, вы должны скопировать их в Blob массив использую инструментарий портала.
Образец проекта StorageClient включает библиотеку класса StorageClient, которая обеспечивает в объединении с библиотекой .NET Client для сервиса данных ADO.NET, интерфейсный класс Microsoft .NET для HTTP операций над Azure Blob, Queue и Table Storage сервисами. Этот проект также включает консольное приложение, которые позволяет Вам тестировать возможности библиотеки. Консольное приложение C# запускается в Development Fabric с Development Storage.
При установке Windows Azure SDK не устанавливаются образцы приложений, которые включены в Program FilesMicrosoft Windows Azure SDKv1.0samples.zip. Установите образцы, разархивировав samples.zip в директорию, где Вы имеете права на запись. В таблице ниже можно найти описание некоторых образцов приложений.
Для запуска примера CloudDrive необходим PowerShell.
Директория, в которую было извлечено содержимое архива samples.zip также содержит следующие три пакетных файла (cmd), которые можно запустить из командной строки:
- buildall.cmd строит все образцы проектов без использования Visual Studio:
- createtables.cmd вызывает buildall.cmd и создает базу данных и таблицы, необходимые для образцов, которые используют Table Storage.
- rundevstore.cmd вызывает createtables.cmd и запускает разработку хранилища, размещая его в базе данных, созданной createtables.cmd.
В состав Development Fabric входят следующие исполняемые файлы: DFAgent.exe , DFLoadBalancer.exe, DFMonitor.exe и DFService.exe, которые по умолчанию устанавливаются программой установки Azure SDK в каталог Program FilesWindows Azure SDKv1.0bindevfabric. После запуска Development Fabric в диспетчере задач вы можете увидеть эти четыре процесса. Сделать это можно выполнив:
- Выберите ПрограммыWindows Azure SDKDevelopment Fabric для запуска службы Development Fabric и его пользовательского интерфейса DFUI.exe
- Правый щелчок мыши по значку Development Fabric в области уведомлений панели задач и выбрать запуск службы Development Fabric (
рис.
5.3) - Скомпилировать и запустить приложение Azure в Visual Studio.
Рис.
5.3.
Сообщения, отображаемые нажатии правой кнопкой мыши по значку Development Fabric в области уведомлений панели задач
Платформа Windows Azure — это гибкая платформа облачных вычислений, которая позволяет вам сосредоточиться на решении бизнес-задач и удовлетворении потребностей клиентов. Это группа облачных технологий, каждая из которых предоставляет определенный набор услуг для разработчиков приложений. Основными компонентами платформы Windows Azure являются следующие:
- Windows Azure фокусируется на предоставлении вычислительных мощностей в виде веб-и рабочих ролей, а также хранилища в виде хранилища больших двоичных объектов, хранилища таблиц и службы очередей.
- SQL Azure — это облачная реляционная база данных, очень похожая на SQL Server.
- Windows Azure AppFabric ориентирована на интеграцию программного обеспечения, размещенного в разных местах, без ущерба для безопасности.
Каждый компонент может использоваться в приложении PHP: Windows Azure SDK для PHP предоставляет модель программирования для Windows Azure, драйвер SQL Server для PHP позволяет работать с SQL Server и SQL Azure, а Windows Azure AppFabric SDK предоставляет PHP. API для работы с Windows Azure AppFabric.
Компоненты платформы Windows Azure не связаны друг с другом: вы можете выбрать компоненты, которые будут полезны для вашего конкретного приложения и ситуации, как для приложений, размещенных в помещении, так и в Windows Azure. Например, хранилище больших двоичных объектов — служба хранения, обеспечивающая масштабное масштабируемое хранилище в Windows Azure — может использоваться как из приложения, размещенного в Windows Azure, так и из приложения, размещенного на текущем веб-сервере.
Разработка для Windows Azure
Для развертывания приложения и использования служб Windows Azure вам потребуется учетная запись (см. Руководство «Начало работы»). В целях разработки приложение может быть разработано на любой платформе с использованием любой IDE. Однако вам всегда придется работать с производственным хранилищем Windows Azure, если вы не работаете на платформе Windows. При работе с Windows на вашем компьютере можно установить локальную облачную среду разработки и среду хранения. Windows Azure SDK предоставляет хранилище для разработки Windows Azure и дополнительные функции, облегчающие создание и тестирование приложений. Для SDK требуется версия Windows 7, Windows Vista с пакетом обновления 1 или более поздней версии или Windows Server 2008 с установленной версией SQL Server Express или SQL Server.
Загрузку для Windows Azure SDK можно найти по адресу http://msdn.microsoft.com/en-us/windowsazure/cc974146.aspx .
После установки службу хранилища для разработки можно запустить с помощью кнопки « Пуск» , « Все программы» , Windows Azure SDK , « Хранилище для разработки» .
Инструменты и SDK
Помимо Windows Azure SDK и Windows Azure SDK для PHP, описанных далее в этом документе, существует ряд других SDK для работы с Windows Azure из PHP.
Доступны следующие инструменты:
Рисунок 1: Инструменты и SDK для работы с Windows Azure из PHP
Следующая таблица представляет собой обзор доступных инструментов и SDK:
Инструмент / SDK |
Описание |
Windows Azure SDK |
Предоставляет среду разработки и хранилище: смоделированная локальная облачная среда для целей разработки. |
Windows Azure SDK для PHP |
Предоставляет API для работы с хранилищем Windows Azure и хранилищем для разработки, а также для диагностики. |
Инструменты командной строки Windows Azure для PHP |
Инструмент для упаковки приложения для развертывания в Windows Azure или среде разработки. |
Инструменты Windows Azure для Eclipse |
Плагин Eclipse, обеспечивающий интегрированную работу с Windows Azure, хранилищем, развертыванием приложений и т. Д. |
Драйвер SQL Server для PHP |
Обеспечивает связь с SQL Server и SQL Azure из PHP. |
Azure AppFabric SDK для PHP |
Предоставляет API для работы с AppFabric для контроля доступа и сервисной шины из PHP. |
Windows Azure Companion для PHP |
Инструмент, обеспечивающий простую установку популярных программ PHP на Windows Azure, таких как WordPress, Drupal, phpBB и других. |
Windows Azure SDK для PHP
Windows Azure SDK для PHP направлена на предоставление средств взаимодействия с несколькими компонентами Windows Azure:
- Хранилище больших двоичных объектов — это большой жесткий диск в облаке. Хранилище BLOB-объектов может содержать несколько файлов или «блобов», расположенных в разных контейнерах. Контейнер хранения — это логическая группа файлов, аналогичная логическому диску или точке монтирования на обычном компьютере.
- Хранилище таблиц — это относительно простое, но очень масштабируемое хранилище структурированных данных. Таблица может содержать разные объекты, идентифицируемые ключом раздела и ключом строки. Каждая сущность в таблице может иметь разные свойства.
- Служба очереди обеспечивает надежный, постоянный обмен сообщениями внутри и между службами.
- Диагностика и ведение журналов , предоставление диагностической информации для приложений, работающих в Windows Azure.
Все службы хранения доступны через API REST и могут быть доступны из службы, работающей в Windows Azure, или напрямую через Интернет из любого приложения, которое может отправить запрос HTTP / HTTPS и получить ответ HTTP / HTTPS. Windows Azure SDK предоставляет абстракцию этих операций REST в форме простой в использовании библиотеки классов PHP.
Рисунок 2: Windows Azure SDK для сценариев развертывания PHP
Структура учетной записи Windows Azure
Учетная запись хранилища Windows Azure имеет следующую структуру: каждая учетная запись включает в себя хранилище больших двоичных объектов, хранилище таблиц и службу очередей с конкретными конечными точками HTTP (S):
- http: // <account> .blob.core.windows.net / <container> / <blob >
- http: // <account> .table.core.windows.net / <table >
- http: // <account> .queue.core.windows.net / <queue >
Эти конечные точки относятся к рабочей среде Windows Azure. В целях разработки мы предлагаем установить Windows Azure SDK (Windows Azure SDK обеспечивает моделирование разработки как для размещенных служб Windows Azure, так и для служб хранения и может быть загружен с http://www.azure.com .). Он предоставляет локальную версию Windows Azure и предоставляет вам доступ к локальной моделируемой среде хранения. Конечные точки для этой среды следующие:
- http://127.0.0.1:10000/ devstoreaccount1 / <container> / <blob >
- http://127.0.0.1:10002/ devstoreaccount1 / <таблица >
- http://127.0.0.1:10001/ devstoreaccount1 / <очередь >
Доступ к конечным точкам хранения предоставляется на основе выбранного вами ключа учетной записи и сгенерированного ключа учетной записи. Для среды хранения разработки по умолчанию используется следующая учетная запись:
Имя учетной записи: devstoreaccount1
Ключ учетной записи: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq / K1SZFPTOtr / KBHBeksoGMGw ==
http: // <account> .blob.core.windows.net / <container> / <blob>
http: // <account> .queue.core.windows.net / <queue>
http: // <account> .table.core.windows.net / <table>
Рисунок 3: Учетная запись хранения Windows Azure
Windows Azure SDK для основных классов PHP
После загрузки Windows Azure SDK для PHP все операции с учетными записями хранения выполняются с помощью классов Microsoft_WindowsAzure_Storage_ *, в которых доступно следующее:
- Microsoft_WindowsAzure_Storage_Blob
- Microsoft_WindowsAzure_Storage_Table
- Microsoft_WindowsAzure_Storage_Queue
- Microsoft_WindowsAzure_Diagnostics_Manager
Эти классы следует создавать либо без каких-либо параметров, которые будут подключаться к службе хранения разработки, либо с определенной конечной точкой, именем учетной записи и ключом учетной записи. Последний случай продемонстрирован в примере кода ниже:
/** Microsoft_WindowsAzure_Storage_Blob */require_once 'Microsoft/WindowsAzure/Storage/Blob.php';
$storageClient = new Microsoft_WindowsAzure_Storage_Blob(
'blob.core.windows.net',
'mysampleaccount',
'0uSRZ6IFsuFq2UVEEby8vdPLlmEtlCDXJ1OUzFT5rCz4I6tq/K1SM02xNOcqFlqUoGMGw==');
Примеры использования
Доступ к службам BLOB-объектов, таблиц и очередей, предоставляемых в Windows Azure, можно получить с помощью Windows Azure SDK для PHP. Ниже приведены некоторые примеры использования одного или нескольких из этих сервисов для ваших приложений PHP в сочетании с Windows Azure SDK для PHP.
- Выгрузка статического контента в хранилище BLOB-объектов и сеть доставки контента (CDN), по выбору, с настраиваемым доменным именем
- Защита загрузок с использованием хранилища BLOB-объектов и сигнатур общего доступа
- Снижение рисков безопасности путем загрузки пользовательского контента в хранилище BLOB-объектов вместо веб-сервера.
- Управление версиями файлов с использованием снимков BLOB-объектов
- Расположение резервной копии в хранилище BLOB-объектов
- Использование табличного хранилища в качестве нереляционной базы данных
- Хранение данных объекта в табличном хранилище
- Связь между приложениями и компонентами приложения через службу очередей
- Гарантированная доставка сообщений с использованием сервиса очереди
- Настройка и мониторинг диагностических данных для развертывания Windows Azure с помощью API диагностики
- Удаленное управление диагностикой Windows Azure
Работа с хранилищем BLOB-объектов
Blob Storage хранит наборы двоичных данных. Хранилище больших двоичных объектов предлагает следующие три ресурса: учетную запись хранения, контейнеры и большие двоичные объекты. В пределах вашей учетной записи хранения контейнеры предоставляют способ организации наборов больших двоичных объектов в вашей учетной записи хранения.
Хранилище больших двоичных объектов предлагается Windows Azure как API REST, который упакован в Windows Azure SDK для PHP, чтобы обеспечить собственный интерфейс PHP для учетной записи хранения.
Функции хранения BLOB-объектов
Хранилище BLOB-объектов Windows Azure и Windows Azure SDK для PHP предоставляют следующие функции:
- Список контейнеров — список всех контейнеров в данной учетной записи хранения.
- Создать контейнер — Создает новый контейнер в данной учетной записи хранения.
- Получить свойства контейнера — возвращает все свойства и метаданные контейнера.
- Получить метаданные контейнера — возвращает только определенные пользователем метаданные для указанного контейнера.
- Установить метаданные контейнера — устанавливает заголовки метаданных контейнера.
- Получить контейнер ACL — получает список контроля доступа (ACL) и любые политики доступа на уровне контейнера для контейнера.
- Set ACL контейнера — устанавливает ACL и любые политики доступа на уровне контейнера для контейнера.
- Удалить контейнер. Удаляет контейнер и все содержащиеся в нем большие двоичные объекты.
- Список BLOB-объектов — список всех BLOB-объектов в данном контейнере.
- Поместить BLOB-объект — Создает новый BLOB-объект или заменяет существующий BLOB-объект в контейнере.
- Получить Blob — читает или загружает большой двоичный объект из системы, включая его метаданные и свойства.
- Получить свойства BLOB-объектов — возвращает все свойства и метаданные объекта BLOB-объекта.
- Set Blob Properties — Устанавливает системные свойства, определенные для BLOB-объекта.
- Получить метаданные BLOB-объектов — Извлекает заголовки метаданных из BLOB-объекта.
- Установить метаданные BLOB-объектов — Устанавливает заголовки метаданных для BLOB-объектов.
- Удалить BLOB-объект — Удаляет BLOB-объект.
- Lease Blob — Устанавливает эксклюзивную блокировку записи для блоба в течение одной минуты. Для записи в заблокированный большой двоичный объект клиент должен предоставить идентификатор аренды.
- Snapshot Blob — Создает снимок блоба.
- Копировать BLOB-объект — копирует исходный BLOB-объект в целевой BLOB-объект в той же учетной записи хранения.
- Поместить блок — Создает новый блок, который будет зафиксирован как часть блоба.
- Put Block List — помещает большой двоичный объект, указывая набор идентификаторов блоков, которые составляют большой двоичный объект.
- Получить список блоков — Извлекает список блоков, которые составляют блоб-блок.
- Поместить страницу — помещает диапазон страниц в большой двоичный объект или удаляет диапазон страниц из большого двоичного объекта.
- Получить регионы страниц — возвращает список активных диапазонов страниц для большого двоичного объекта. Активные диапазоны страниц — это те, которые были заполнены данными.
- Подписи общего доступа — разрешить временный доступ к контейнеру или блобу с другими учетными данными
- Зарегистрировать оболочку потока файлов — позволяет PHP использовать хранилище BLOB-объектов Windows Azure в качестве обычной файловой системы, используя стандартные функции файловой системы, такие как fopen , fread и т. Д.
Работа с таблицей хранения
Служба Table предлагает структурированное хранилище в виде таблиц.
Хранилище таблиц предлагается Windows Azure как API REST, который упакован в Windows Azure SDK для PHP, чтобы обеспечить собственный интерфейс PHP для учетной записи хранения.
Особенности хранения таблицы
Табличное хранилище Windows Azure и Windows Azure SDK для PHP предоставляют следующие функции:
- Таблицы запросов — перечисляет таблицы в учетной записи хранения.
- Создать таблицу — Создает новую таблицу в учетной записи хранения.
- Удалить таблицу — удаляет таблицу из учетной записи хранения.
- Query Entities — Запрашивает данные в таблице.
- Вставить объект — вставляет новый объект в таблицу.
- Обновить сущность — обновляет существующую сущность в таблице, заменяя ее.
- Объединить сущность — обновляет существующую сущность в таблице путем слияния новых значений свойств в сущность.
- Удалить объект — удаляет объект в таблице
- Обработчик сеанса — хранит информацию о сеансе PHP в табличном хранилище прозрачным способом.
- Таблица для сопоставления объектов — автоматически сопоставляет объекты PHP с хранилищем таблиц Windows Azure и наоборот.
Работа с сервисом очереди
Служба очереди хранит сообщения, которые могут быть прочитаны любым клиентом, имеющим доступ к учетной записи хранения.
Очередь может содержать неограниченное количество сообщений, каждое из которых может иметь размер до 8 КБ. Сообщения, как правило, добавляются в конец очереди и извлекаются из передней части очереди, хотя поведение «первым пришел / первым вышел» (FIFO) не гарантируется. Если вам нужно хранить сообщения размером более 8 КБ, вы можете сохранить данные сообщения в виде большого двоичного объекта или в таблице, а затем сохранить ссылку на данные в виде сообщения в очереди.
Хранилище очередей предлагается Windows Azure как API REST, который упакован в Windows Azure SDK для PHP, чтобы обеспечить собственный интерфейс PHP для учетной записи хранения.
Функции обслуживания очереди
Служба очереди Windows Azure и Windows Azure SDK для PHP предоставляют следующие функции:
- Список очередей — список всех очередей под данной учетной записью.
- Создать очередь — Создает новую очередь под данной учетной записью.
- Удалить очередь — удаляет очередь.
- Получить метаданные очереди — Возвращает свойства очереди, включая метаданные, определенные пользователем.
- Установить метаданные очереди — Устанавливает метаданные, определенные пользователем в очереди.
- Поместить сообщение — добавляет сообщение в очередь.
- Получить сообщения — извлекает сообщение из очереди и делает его невидимым для других потребителей.
- Просмотр сообщений — извлекает сообщение из передней части очереди без изменения видимости сообщения.
- Удалить сообщение — удаляет указанное сообщение из очереди.
- Очистить сообщения — удаляет все сообщения из очереди.
Работа с диагностикой и регистрацией
Windows Azure Diagnostics enables you to collect diagnostic data from a service running in Windows Azure. It can be used for tasks like debugging and troubleshooting, measuring performance, monitoring resource usage, traffic analysis, capacity planning, and auditing. Once collected, diagnostic data can be transferred to a Windows Azure storage account for persistence. Transfers can either be scheduled or on-demand.
You can configure Windows Azure Diagnostics from code running within a role. You can also configure it remotely from an application running outside of the Windows Azure; for example, you can manage Windows Azure Diagnostics from a custom dashboard application running on-premise. By managing Windows Azure Diagnostics remotely, you can start your service with an initial diagnostic configuration, and then tweak that configuration from code running outside of your service, without having to upgrade your service.
More information on which logs, performance counters, crash dumps, etc. can be monitored can be found on the corresponding MSDN web page.
Diagnostics features
Windows Azure diagnostics and the Windows Azure SDK for PHP provide the following features:
- Configure diagnostics data sources:
-
- Windows Azure logs
- IIS 7.0 logs
- Windows Diagnostic infrastructure logs
- Failed Request logs
- Windows Event logs
- Crash dumps
- Custom error logs
- Configure transfer intervals
- Configure quotas for diagnostics data
Additional Resources
- WindowsAzure for PHP — Articles, tutorials, downloads, and more
Приветствую всех хабра-пользователей в этом скромненьком топике. Тут я попытаюсь «на пальцах» объяснить, что же такое Windows Azure и как писать под нее программы.
На написание статьи меня подтолкнула следующая ситуация: изучить-то Azure хочется, но в интернетах не удалось найти пошагового руководства с объяснением принципов происходящего, поэтому пришлось поднапрячь мозги и разобраться самому, о чем вам и расскажу.
Инструменты для работы:
- Microsoft Visual Studio 2012
- Windows Azure SDK
- Учетная запись Windows Azure
- Кофе, чай и прочее сопутствующее
Введение в Azure
И так, что же такое Windows Azure? Если совсем по-простому, то это операционная система. Такое определение нас не устроит, поэтому смотрим дальше: что она делает? А делает она то, что предоставляет вот такую вот облачную платформу: www.windowsazure.com. Внешний вид веб-интерфейса примерно такой:
Суть платформы в том, чтобы предоставить кое-какие услуги в обмен на кое-какую сумму денег. и так, что же это за услуги? Смотрим на скриншот и перечисляем:
- Web-Sites — ну тут все просто, разворачиваем сайты (есть как шаблоны, так и возможность заливки своего скрипта)
- Virtual Machines — виртуальные машины. В галерее есть серверные Windows (2k8R2 и 2012) и *nix системы. так же можно заливать свои образы vhd.
- Mobile Services — бэкенд сервис для мобильных приложений. Больше нчиего о нем не знаю.
- Cloud Services — самая лучшая возможность, а именно: хостинг веб-приложений + фоновые службы (по аналогии со службами Windows)
- SQL Database — SQL сервер, управление через Web-интерфейс
- Storage — хранилища. Можнохранить файлы, нереляционные таблицы данных и очереди (очередь — просто контейнер для какого-либо сообщения)
Все остальное, что есть на скриншоте — не описываю, так как не представляю для чего это.
Начинаем кодить
Процедуру создания ролей в Azure пропущу, в ней нет ничего сложного. Просто перечислю необходимое:
- Cloud Service — одна штука
- Storage — одна штука
Создавать крайне желательно в одном регионе.
После того, как все было создано, студия и SDK установлены и настроены, давайте подумаем, что нам можно написать. Что-то простенькое, но в то же время демонстрирующее работу с CloudService и с хранилищем очередей. После недолгих раздумий в голову пришла мысль просто отобразить IP-адрес и DNS-имя компьютера, на котором работает роль, при помощи Cloud Service и Queue. Просто? Просто.
Создание проекта в Visual Studio
Когда мы придумали, что будем делать, нужно это сделать. для начала запускаем Visual Studio и идем в File — New — Project — Cloud — Windows Azure Cloud Service. Даем любое имя и тыкаем «Ок». После того, как появится окошечко с тем, что должна уметь роль, добавьте ей только Worker Role (язык C#):
Жмем «Ок» и создаем проект. Когда проект создали, у нас имеется только Worker Role, т.е. то, что работает постоянно в фоновом режиме. Давайте добавим к ней веб-интерфейс:
ПКМ на решении — Add — New Project
Web — ASP.NET Empty Web Application
Как только был создан веб-интерфейс, нужно связать его с Azure-проектом, для чего делаем следующие шаги:
ПКМ по папке Roles в проекте Azure — Add — Web Role Project in this Solution и выбираем наш веб-интерйейс:
Посмотрим что получилось в итоге:
- Настройка WebRole, позволяет настраивать строки подключения, оконечные точки и прочее. Настройки хранятся в файлах 3 и 4
- Настройка Worker Role, позволяет делать то же самое, что и пункт 1, только для фоновой службы. Настройки хранятся там же.
- Хранит настройки облачного проекта для конфигурации Cloud (конфигурация используется при разворачивании проекта в облако)
- Хранит настройки облачного проекта лдя конфигурации Local (используется при отладке на локальной машине в эмуляторе windows Azure)
- Содержит определения всех частей, входящих в облачный проект (веб-интерфейс и фоновая служба).
- Исходный код нашей службы
Настройка
Для настройки тыкаем два раза ЛКМ на WebApplication1 в папке Roles, и из списка Service Confoguration выбираем All Configurations. После этого жмем AddSetting, и даем имя строки DataConnectionString, после чего изменяем ее тип на ConnectionString:
Теперь жмем кнопку с тремя точками справа от нашей DataConnectionString, в открывшемся окне выберем Windows Azure Storage Emulator и нажимаем «Ок»:
Строка подключения должна измениться на UseDevelopmentStorage=true. Все вышеперечисленные действия выполняем и для WorkerRole1.
Теперь необходимо определить т.н. оконечные точки: точки, через которые будет осуществляться обмен данными в нашем проекте.
Для проекта WebApplication1
Для веб-интерфейса проекта необходима как минимум одна точка — для подключения к ней пользователя. Вторая точка будет использоваться для обмена данными с фоновой службой. Настраиваем точки в соответствии со скриншотом:
Немного пояснений: точка с именем Incoming — самая главная. Именно через нее пользователь будет заходить на веб-интерфейс. Собственно говоря имя точки может быть любым…
Вторая точка, UdpCheck, будет использоваться для приема данных от фоновой службы, ее тип Internal говорит о том, что она доступна только внутри датацентра, соответственно траффик по этой точке не будет учитываться биллинговой системой.
Для проекта WorkerRole1
Для роли делаем те же самые действия, только точка будет всего одна, Internal, т.к. служба не будет взаимодействовать с потусторонним миром:
Пишем код службы
Открываем файл WorkerRole.cs и меняем в нем код на нижеприведенный. Код коментирован, так что, думаю, проблемс пониманием сути происходящено возникнуть не должно.
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.ServiceRuntime;
using Microsoft.WindowsAzure.StorageClient;
using System;
using System.Diagnostics;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Xml.Linq;
namespace WorkerRole1
{
public class WorkerRole : RoleEntryPoint
{
CloudStorageAccount StorageAccount { get; set; } // аккаунт хранилища
CloudQueueClient Client { get; set; } // клиент очереди
CloudQueue Queue { get; set; } // вроде как сама очередь
CloudQueueMessage Message { get; set; } // сообщение, получаемое(отправляемое) из(в) очереди(ь)
public override void Run()
{
while (true)
{
Thread.Sleep(10000); // проверяем наличие сообщения в очереди раз в 10 секунд
// получаем сообщение из очереди
Message = Queue.GetMessage();
// если сообщение в очереди есть, то:
if (Message != null)
{
Trace.WriteLine(Message.AsString, "Message");
// получаем экземпляр роли, на которой работает интерфейс
// WebApplication1
RoleInstance myIntEP = RoleEnvironment.Roles["WebApplication1"].Instances[0];
// получаем ссылку на внутреннюю оконечную точку для экземпляра WebApplication1
// нужно для получения адреса, куда отправлять отклик
string addressEP = myIntEP.InstanceEndpoints["UdpCheck"].IPEndpoint.ToString();
// получаем IP-адрес и порт
string IP = addressEP.Split(':').First();
int PORT = Int32.Parse(addressEP.Split(':').Last());
// создаем экземпляр IPEndPoint
IPAddress targetIP = IPAddress.Parse(IP);
IPEndPoint ipEP = new IPEndPoint(targetIP, PORT);
// открываем сокет и отправляем данные в XML
using (UdpClient message = new UdpClient())
{
// формируем отклик
XDocument resp = new XDocument();
resp.Add(new XElement("info",
new XElement("ip", this.GetCurrentIP()),
new XElement("dns", this.GetCurrentDNSName())));
// кодируем отклик и отправляем его в веб-интерфейс
// на котором к этому времени уже прослушивается UDP порт
byte[] sendBytes = Encoding.ASCII.GetBytes(resp.ToString());
message.Send(sendBytes, sendBytes.Length, ipEP);
// удаляем сообщение из очереди
Queue.DeleteMessage(Message);
}
}
else
{
Thread.Sleep(1000);
}
}
}
public override bool OnStart()
{
// Максимальное кол-во подключений
ServicePointManager.DefaultConnectionLimit = 12;
// неведомое заклинание, но без него в последней версии SDK
// не удается получить строку подключения к хранилищу :(
CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSettingPublisher) =>
{
var connectionString = RoleEnvironment.GetConfigurationSettingValue(configName);
configSettingPublisher(connectionString);
});
// получаем строку подключения к аккаунту хранилища
StorageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
// инициализация клиента очереди
Client = StorageAccount.CreateCloudQueueClient();
// создаем очередь
Queue = Client.GetQueueReference("queueaddress");
// создаем контейнер очереди
Queue.CreateIfNotExist();
return base.OnStart();
}
/// <summary>
/// Получение текущего IP-адреса машины
/// </summary>
/// <returns>IP-адрес</returns>
public string GetCurrentIP()
{
IPAddress[] ips = null;
ips = Dns.GetHostAddresses(Dns.GetHostName());
if (ips != null)
{
foreach (IPAddress i in ips)
{
if (i.AddressFamily == AddressFamily.InterNetwork)
return i.ToString();
}
}
return "о_О? Нету IP-адреса О_О.";
}
/// <summary>
/// Получение текущео имени машины
/// </summary>
/// <returns>DNS-имя</returns>
public string GetCurrentDNSName()
{
return Dns.GetHostName();
}
}
}
Пояснение: усыпение потока нужно для того, чтобы не перегружать бесполезной работой процессор. Так как процессорное время в Azure оплачивается, то это действие будет не лишним.
Метод OnStart() инициализирует службу, настраивая ее до того момента, как она начинает работать.
Метод Run() — сам рабочий процесс службы. Для служб в нем обычно находится бесконечный цикл, опрашивающий точки приема данных.
Создаем веб-интерфейс
В проект WebApplication1 добавляем пустую веб-форму (ПКМ по проекту — Add — Web Form) и даем ей имя Default.aspx, т.к. в Azure все-таки работает IIS, то имена страниц по-умолчанию регламентированы.
Меняем HTML разметку на ту, что указана ниже:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1.Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
Тестовый проект, демонстрирующий особенность работы Windows Azure.
<br />
Для примера, фоновая служба будет получать краткую информацию о сервере, на котором она
<br />
выполняется, а веб-интерфейс эту информацию отобразит.<br />
<br />
</div>
<asp:Button ID="GetInfo" runat="server" Text="Получить информацию" OnClick="GetInfo_Click" />
<p>
<asp:Label ID="Label1" runat="server" Text="IP адрес: "></asp:Label>
<asp:Label ID="IP_Label" runat="server"></asp:Label>
</p>
<asp:Label ID="Label2" runat="server" Text="DNS имя: "></asp:Label>
<asp:Label ID="DNS_Label" runat="server"></asp:Label>
</form>
</body>
</html>
Код формы (кнопка F7) меняем на этот:
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.ServiceRuntime;
using Microsoft.WindowsAzure.StorageClient;
using System;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Xml.Linq;
namespace WebApplication1
{
public partial class Default : System.Web.UI.Page
{
CloudStorageAccount StorageAccount { get; set; } // аккаунт хранилища
CloudQueueClient Client { get; set; } // клиент очереди
CloudQueue Queue { get; set; } // вроде как сама очередь
CloudQueueMessage Message { get; set; } // сообщение, получаемое из очереди
protected void Page_Load(object sender, EventArgs e)
{
// неведомое заклинание, но без него в последней версии SDK
// не удается получить строку подключения к хранилищу :(
CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSettingPublisher) =>
{
var connectionString = RoleEnvironment.GetConfigurationSettingValue(configName);
configSettingPublisher(connectionString);
});
// получаем строку подключения к аккаунту хранилища
StorageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
// инициализация клиента очереди
Client = StorageAccount.CreateCloudQueueClient();
// создаем очередь (имя очереди ТОЛЬКО МАЛЕНЬКИЕ ЛАТИНСКИЕ СИМВОЛЫ!)
Queue = Client.GetQueueReference("queueaddress");
// создаем контейнер очереди
Queue.CreateIfNotExist();
}
protected void GetInfo_Click(object sender, EventArgs e)
{
// создаем новое сообщение
Message = new CloudQueueMessage("Give me info! Nya-ha-ha-ha!");
// добавляем сообщение в очередь
Queue.AddMessage(Message);
// получаем ссылку на оконечную точку фоновой службы и адрес точки
RoleInstance myIntEP = RoleEnvironment.Roles["WorkerRole1"].Instances[0];
string addressEP = myIntEP.InstanceEndpoints["MyIntEndpoint"].IPEndpoint.ToString();
string IP = addressEP.Split(':').First();
int PORT = Int32.Parse(addressEP.Split(':').Last());
IPAddress targetIP = IPAddress.Parse(IP);
IPEndPoint ipEP = new IPEndPoint(targetIP, PORT);
// получаем порт для прослушки на веб-интерфейсе
RoleInstance myIntEP2 = RoleEnvironment.Roles["WebApplication1"].Instances[0];
string addressEP2 = myIntEP2.InstanceEndpoints["UdpCheck"].IPEndpoint.ToString();
int PORT2 = Int32.Parse(addressEP2.Split(':').Last());
string GetData = null;
// создаем сокет для прослушки
using (UdpClient socket = new UdpClient(PORT2))
{
byte[] recData = socket.Receive(ref ipEP);
GetData = Encoding.ASCII.GetString(recData);
XDocument resp = XDocument.Parse(GetData);
this.IP_Label.Text = resp.Root.Element("ip").Value;
this.DNS_Label.Text = resp.Root.Element("dns").Value;
}
}
}
}
Вот и все! Запускаем наш проект по F5, в открывшемся веб-интерфейсе тыкаем кнопочку «Получить информацию», ждем около 10 секунд и видим результат.
Публикация проекта в Azure
Самая интересная часть. Теперь сделаем наш проект доступным всем желающим. Надеюсь, вы уже создали аккаунт хранилища и аккаунт Cloud Services, поэтому перейдем сразу к настройке проекта.
Настройка достаточно простая, и заключается всего лишь в дополнительной настройки конфигурации (в нашем случае настраивается только DataConnectionString). Поехали.
WindowsAzure1 — Roles — два раза ЛКМ по WebApplication1 — Settings — из списка Cloud — кнопка с тремя точками:
В открывшемся окне переключаемся на Your Subscription и нажимаем на ссылку Download Publish Setting, если потребуется — вводим авторизационные данные для Azure, и сохраняем к себе на жесткий диск файлик. Далее тыкаем Import, выьираем файлик, указываем имя подписки, и название роли. Жмем «Ок».
Открываем WorkerRole1 и делаем то же самое для ее DataConnectionString, только в этот раз загружать профиль н нужно, т.к. настройки уже сохранены в проекте. Достаточно просто выбрать подпсику и имя роли.
Сохраняем изменения, жмем ПКМ на WindowsAzure1 и выбираем Publish:
В открывшемся окне выбираем нашу подписку:
Ставим все как на скрине ниже:
Смотрим суммарную информацию и нажимаем Publish:
Процесс загрузки идет довольно долго, запуск сервиса еще дольше, так что можно сходить попить кофе/покурить. По завершении процедуры развертывания наше приложение будет доступно по адресу, который был указан при создании Cloud Service. Спасибо за внимание.
azurelabr.cloudapp.net — приложение в Азуре
Исходники приложения не предоставляю, так как строки доступа и ключи являются уникальными для каждого пользователя.
Написано по материалам MSDN и книги «Платформа Windows Azure», авт. Теджасви Редкар и Тони Гвидичи, изд. «ДМК-пресс».
Автор: Black_millenium
Источник
Тема:
Azure Services Platform: подготовка
рабочего
места
Visual Studio 2010
Цель:
подготовка рабочего места для stand-alone
разработки облачных приложений;
знакомство с основными инструментами
разработчика.
Задание:
выполнить установку необходимых
системных и служебных программ и
инструментальных средств для реализации
облачных вычислений.
Загрузить инструменты
для работы можно по следующей
ссылке: http://www.microsoft.com/downloads/ru-ru/details.aspx?FamilyID=7a1089b6-4050-4307-86c4-9dadaa5ed018#QuickDetails
Требования
к установке Windows Azure SDK
Операционная
система.
Windows
Azure SDK 1.3 от
ноября 2010 года официально поддерживается
следующими операционными системами:
-
Windows
7 (в
т.ч.
Enterprise; Home Premiumx86, x64; Professional x86, x64; Ultimate
x86, x64); -
Windows
Server 2008 + SP2, Windows Server 2008 R2; -
Windows
Vista + SP2.
Программное
обеспечение для Windows Azure SDK:
-
.Net
Framework 3.5 + SP1 -
IIS
7.0 -
Microsoft
SQL Server 2005 Express -
Microsoft
SQL Server 2008
(в
т.ч.
Express) -
Исправление
WCF http://support.microsoft.com/kb/971842
(при отсутствии SP1 для Windows 7 и Windows Server
2008 R2 —
http://www.microsoft.com/downloads/ru-ru/details.aspx?FamilyID=c3202ce6-4056-4059-8a1b-3a9b77cdfdda) -
Windows
PowerShell (не
для
Windows 7). http://support.microsoft.com/kb/968929 -
Модуль
URL Rewrite
http://www.iis.net/download/URLRewrite
Если
все указанные требования соблюдены, то
можно приступать к непосредственной
установке инструментов для работы с
Visual Studio 2010.
Подготовка
рабочего места:
1.
Установить
VS
2010 и MS
SQL
Server
2008 (или MS
SQL
Server
2008 R2).
Установка данного инструментария
подробно описывается во множестве
ресурсов и, как правило, не вызывает
затруднений.
2.
Настройка
IIS.
для
Windows 7
Открыть
панель управления (Пуск — Панель
управления)
Выбрать
«Программы и компоненты»
Раскрыть
узел
«Microsoft .Ner Framework 3.5» и
включть
элемент
«Windows Communication Foundation HTTP Activation»
Последовательно
раскрыть узлы «Службы IIS», «Службы
Интернета» и «Компоненты разработки
приложений», отметить элементы
«ASP.NET» и «CGI».
В
узле «Службы IIS» развернуть «Службы
Интернета» и «Общие функции HTTP».
Отметить элемент «Статическое
содержимое».
В
узле «Службы IIS» развернуть «Средства
управления веб-сайтом» и отметить
«Консоль управления IIS».
После
этого нажать «OK» и дождаться
завершения процесса установки отмеченных
компонент.
Для
Windows 2008
Запустить
диспетчер сервера (Пуск — Администрирование
— Диспетчер сервера).
Щелкнуть
правой кнопкой мыши на узле «Компоненты»
и выбрать «Добавить компоненты»
В
списке компонентов, в узле «Возможности
.Net Framework 3.0» отметить «.Net Framework 3.0».
Аналогичным
образом выбрать элемент «Активация
HTTP» в узле «Активация WCF» и нажать
«Далее». В случае, если появится
диалоговое окно установки служб для
данных компонент, установть их.
Дождаться
окончания установки и перейдите к узлу
«Роли» диспетчера сервера.
Установить
роль «Веб-сервер», нажав «Добавить
роли».
Последовательно
нажимая Далее» установить необходимую
роль.
В
узле «Роли» выберите элемент
«Веб-сервер(IIS) и нажать «Добавить
службы ролей»
Выделить
службы «Статическое содержимое»,
«ASP.NET» и «CGI» в узлах «Веб-сервер»
и «Разработка приложений»
соответственно, если они еще не
установлены. Нажать «Далее», затем
«Установить».
Дождаться
завершения процесса установки.
3.
Установить
VSCloudService.exe или Windows Azure SDK 1.3
(SDK входит в
состав VSCloudService.exe).
4.
В случае использования 32-битной ОС,
установить исправление №5 списка
требуемого программного обеспечения
(см. выше).
5.
Установить исправления №6 и №7 из списка
требуемого программного обеспечения
(см. выше).
На
этом установку инструментария stand-alone
разработки облачных приложений можно
считать завершенной.
Знакомство
с инструментарием
Эмуляторы
Compute Emulator
(Develop,ent Fabric)
и Storage Emulator
(development Storage) можно найти в папке Windows
Azure SDKv1.3 (по умолчанию C:Program FilesWindows
Azure SDKv1.3). Эмуляторы располагаются в
подкаталоге bin.
Если
установка инструментария завершена
корректно, то в списке проектов VS2010
появится шаблон Cloud
(рис.1.1). Выбор проекта Windows
Azure приведет
к появлению списка доступных ролей
(рис.1.2).
Таблица 1.1. |
|
Роль |
Описание |
Веб-роль |
Основанное |
Веб-роль |
Основанное |
Веб-роль |
WCF |
Рабочая |
Создание |
Веб-роль |
Хостинг |
Создание
первого облачного приложения будет
рассмотрено в следующей практической
работе.
Рис.
1.1. Шаблон проекта Cloud
Рис.
1.2. Список ролей облачного приложения
Требования
к содержанию отчета:
-
титульный
лист; -
тема,
цель, задание; -
ход
работы — иллюстрации основных этапов
выполнения работы с краткими пояснениями; -
вывод
— развернутая формулировка вывода из
проделанной лабораторной работы.
Перечень
полезных ссылок
Установка
Visual Studio 2010
-
http://msdn.microsoft.com/ru-ru/library/e2h7fzkw.aspx
Установка
MS SQL Server 2008
-
http://www.alta.ru/mssqlserver2008.php
-
http://itband.ru/2010/07/install-microsoft-sql-server-2008-r2/(версииR2)
Руководства
по устранению неполадок
-
http://msdn.microsoft.com/ru-ru/library/ee460770.aspx
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Лекция 5. Windows Azure SDK.
Краткая аннотация лекции:
Windows Azure SDK предоставляет разработчикам интерфейс программирования приложений, необходимый для разработки, развертывания и управления масштабируемых сервисов в Windows Azure. В данной лекции мы рассмотрим основные возможности Windows Azure SDK.
Цель лекции:
Цель данной лекции – ознакомиться с комплектом средств разработки Windows Azure SDK.
Текст лекции:
Windows Azure SDK предоставляет разработчикам интерфейс программирования приложений, необходимый для разработки, развертывания и управления масштабируемых сервисов в Windows Azure.
Azure Cloud Fabric и службы Azure Storage не поддерживают разработку или отладочные операции в облаке, поэтому Azure SDK позволяет делать это локально в виде приложений Development Fabric (DF) и Development Storage (DS), которые устанавливает Windows Azure SDK. Вместе с SDK также устанавливаются коллекция приложений примеров и библиотеки упакованных классов для облегчения программирования приложений.
Должны быть установлены .NET Framework 3.5 SP1 и SQL Express 2005 or 2008, также необходимо включить ASP.NET и WCF HTTP Activation для IIS 7.0 для Windows Server 2008, Windows Vista SP2,or Windows 7 RC или позже для установки и запуска SDK. Заметки к выпуску включают инструкции для настройки этих опций. Использование SDK не является обязательным, потому что есть возможность пользоваться любыми операционными системами и языками программирования, которые поддерживают HTTP запросы и ответы. Однако, вы увидите что использование SDK интерфейсов прикладного программирования .NET и библиотек для приложений и хранилищ позволяет наиболее просто работать с HTTP напрямую.
Рекомендуемые материалы
После того, как вы установили Azure SDK, Вы должны скачать и установить инструменты Windows Azure для Visual Studio для добавления шаблонов проектов Web Cloud Sevice, Worker Cloud Service, Web and Worker Cloud Service Workflow Service. Вы можете скачать текущую версию Windows Azure SDK и Windows Azure Tools для Visual Studio с главной страницы Windows Azure по ссылке www.microsoft.com/azure/windowsazure.mspx.
После установки Windows Azure Tools в Visual Studio появляются шаблоны Cloud Service в диалоге создания нового проекта. При выборе узла Cloud Service открываются New Cloud Service, который позволяет добавить ASP.NET Web Roles, Worker Roles or CGI Web Roles для нового проекта. Windows Azure SDK позволяет добавить более чем одну роль для каждого типа Cloud Service. Каждая роль использует отдельный экземпляр Windows Azure CPU, так минимальная стоимость запуска проекта в облаке будет примерно 4 * $0.12 = $0.48 в час.
Рисунок 5.1 Создание нового проекта Cloud Service в Visual Studio
Добавив указанные роли и нажав ОК, откроется новое решение с проектами WebRole и Worker—Role в Solution Explorer как показано на рисунке 6.2.
Узел Roles содержит элементы WebRole, которые указывают на каждую WebRole, которая обеспечивает пользовательский интерфейс ASP.NET для приложения и каждый WorkerRole для вычислительный операций, которые не требуют пользовательского интерфейса или используют страниц ASP.NET WebRole вместо этого.
Рисунок 5.2 Solution Explorer Cloud Service
В зависимости от типа Cloud Service проекты включают пространство имен Microsoft.ServiceHosting.ServiceRuntime, которое содержит классы, указанные в таблице ниже.
Класс |
Описание |
RoleEntryPoint |
Обеспечивает методы для управления инициализацией, запуском и остановкой методов сервиса, так же используется для мониторинга состояния сервиса. |
RoleException |
Сообщает об ошибках когда происходят недопустимые операции внутри роли |
RoleManager |
Обеспечивает методы для журналирования сообщений и поступающих предупреждений, извлекает настройки конфигурации сервиса и возвращает местоположение ресурса |
RoleStatus |
Информирует о текущем статусе роли: Healthy, NonExistent, Started, Starting, Stopped, Stopping или Unhealthy |
Проекты, которые используют шаблон WebRole определяют веб страницу ASP.NET Default.aspx как начальную точку для пользовательского интерфейса приложения в облаке.
Это сервис объединяет библиотеку класса Common из приложения-образца HelloFabric для содействия в журналировании проблем приложения. Журналы приложения – это практичные средства откладки приложений, запущенных в Cloud Fabric. Для чтения журналов, вы должны скопировать их в Blob массив использую инструментарий портала.
Образец проекта StorageClient включает библиотеку класса StorageClient, которая обеспечивает в объединении с библиотекой .NET Client для сервиса данных ADO.NET, интерфейсный класс Microsoft .NET для HTTP операций над Azure Blob, Queue и Table Storage сервисами. Этот проект также включает консольное приложение, которые позволяет Вам тестировать возможности библиотеки. Консольное приложение C# запускается в Development Fabric с Development Storage.
При установке Windows Azure SDK не устанавливаются образцы приложений, которые включены в Program FilesMicrosoft Windows Azure SDKv1.0samples.zip. Установите образцы, разархивировав samples.zip в директорию, где Вы имеете права на запись. В таблице ниже можно найти описание некоторых образцов приложений.
Для запуска примера CloudDrive необходим PowerShell.
Директория, в которую было извлечено содержимое архива samples.zip также содержит следующие три пакетных файла (cmd), которые можно запустить из командной строки:
· buildall.cmd строит все образцы проектов без использования Visual Studio:
· createtables.cmd вызывает buildall.cmd и создает базу данных и таблицы, необходимые для образцов, которые используют Table Storage.
· rundevstore.cmd вызывает createtables.cmd и запускает разработку хранилища, размещая его в базе данных, созданной createtables.cmd.
В состав Development Fabric входят следующие исполняемые файлы: DFAgent.exe, DFLoadBalancer.exe, DFMonitor.exe и DFService.exe, которые по умолчанию устанавливаются программой установки Azure SDK в каталог Program FilesWindows Azure SDKv1.0bindevfabric. После запуска Development Fabric в диспетчере задач вы можете увидеть эти четыре процесса. Сделать это можно выполнив:
· Выберите ПрограммыWindows Azure SDKDevelopment Fabric для запуска службы Development Fabric и его пользовательского интерфейса DFUI.exe
· Правый щелчок мыши по значку Development Fabric в области уведомлений панели задач и выбрать запуск службы Development Fabric (Изображение 6-4)
· Скомпилировать и запустить приложение Azure в Visual Studio.
Рисунок 5.3. Сообщения, отображаемые нажатии правой кнопкой мыши по значку Development Fabric в области уведомлений панели задач.
Рисунок 5.4 показывает пользовательский интерфейс DFUI. Когда вы запускаете или останавливаете отладку, соответствующие приложения появляются или пропадают из пользовательский интерфейс DFUI.
Рисунок 5.4. Пользовательский интерфейс приложения Development Fabric.
Платформа Windows Azure поддерживает три типа масштабируемых хранилищ:
· Неструктурированные данные (blob)
· Структурированные данные (таблицы)
· Сообщение между приложениями и сервисами (очереди)
Запуская rundevstore.exe или собирая и запуская пользовательский код Azure в Visual Studio, запускаются все три сервиса, даже если Ваш проект требует только один сервис и отображается в пользовательском интерфейсе Development Storage
Для защиты от потери данных, облако Azure хранит блобы, таблицы и очереди в минимум трех раздельных контейнерах в одном центре обработки данных. Инструмент геолокации Azure позволяет дублировать данные в нескольких центрах обработки данных Microsoft для уменьшения последствий восстановления после катастроф и для повышения производительности в специфичных географических регионах.
Приложение Azure, которые Вы запускаете в Development Framework, могут иметь доступ к локальным данным в Development Storage или к данным, загруженным в облако Azure. Приложение обращается к определенному порту и данным, расположенным в определенных местах в файле конфигурации проекта ServiceConfiguration.cscfg.
Файл конфигурации проекта Azure ServiceDefinition.csdef определяет стандартные точки входа и настройки конфигурации, которые хранятся в файле ServiceConfiguration.cscfg. В распечатке 6.1 показано содержимое файла ServiceDefinition.csdef по умолчанию, когда Вы создаете проект Azure, используя один из стандартных шаблонов Windows Azure Tools для Visual Studio (отмечены важные значения).
Распечатка 6.1 Содержимое файла ServiceDefinition.csdef
<ServiceDefinition name=»SampleWebCloudService»
xmlns=»http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition»>
<WebRole name=»WebRole»>
<InputEndpoints>
<!— Must use port 80 for http and port 443 for https
when running in the cloud —>
<InputEndpoint name=»HttpIn» protocol=»http» port=»80″ />
</InputEndpoints>
<ConfigurationSettings>
<Setting name=»AccountName»/>
<Setting name=»AccountSharedKey»/>
<Setting name=»BlobStorageEndpoint»/>
<Setting name=»QueueStorageEndpoint»/>
<Setting name=»TableStorageEndpoint»/>
</ConfigurationSettings>
</WebRole>
</ServiceDefinition>
Значение InputEndpoint применяется только для хранилищ в облаке.
Распечатка 6.2 показывает содержимое файла ServiceConfiguration.cscfg для веб приложения SampleWebCloudService с конфигураций по умолчанию для Development Storage (выделено):
Распечатка 6.2 Содержимое файла ServiceConfiguration.cscfg
<?xml version=»1.0″?>
<ServiceConfiguration serviceName=»SampleWebCloudService»
xmlns=»http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration»>
<Role name=»WebRole»>
<Instances count=»1″/>
<ConfigurationSettings>
<Setting name=»AccountName» value=»devstoreaccount1″/>
<Setting name=»AccountSharedKey» value=»Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ
1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==»/>
<Setting name=»BlobStorageEndpoint» value=»http://127.0.0.1:10000/»/>
<Setting name=»QueueStorageEndpoint» value=»http://127.0.0.1:10001/»/>
<Setting name=»TableStorageEndpoint» value=»http://127.0.0.1:10002/»/>
<!—<Setting name=»AccountName» value=»oakleaf»/>
<Setting name=»AccountSharedKey» value=»3elV1ndd . . . Coc0AMQA==» />
<Setting name=»BlobStorageEndpoint»
value=»http://blob.core.windows.net» />
<Setting name=»QueueStorageEndpoint»
value=»http://queue.core.windows.net» />
<Setting name=»TableStorageEndpoint»
value=»http://table.core.windows.net» />
—>
</ConfigurationSettings>
</Role>
</ServiceConfiguration>
Описания элементов файла конфигурации ServiceConfiguration.csfg:
· Instances count – количество экземпляров вашего приложения, которое будет создано в облаке, когда вы развернете его.
· AccountName– имя, ассоциированное с Вашим Hosted Service, с которым в создавали учетную запись, для Development Storage это devstoreaccount1.
· AccountSharedKey шифрует несколько элементов в HTTP запросе.
· BlobStorageEndpoint– это публичный постоянный Universal Resource Identifier (URI). Для Developer Storage это адрес интерфейса компьютера loopback (localhost = 127.0.0.1) с TCP портом по умолчанию 10000.
· QueueStorageEndpoint для хранилища в облаке это публичный постоянный URI. Для Developer Storage это интерфейса компьютера loopback с TCP портом по умолчанию 10001.
· TableStorageEndpoint публичный постоянный Universal Resource Identifier (URI). Для Developer Storage это адрес интерфейса компьютера loopback с TCP портом по умолчанию 10002.
Значения конечных точек в пользовательском интерфейсе Development Storage представлены на рисунке 6-6. Вы можете настроить собственные номера TCP портов если при использовании значений по умолчанию возникает конфликт с текущей конфигурацией.
Краткие итоги:
Обратите внимание на лекцию «1.3 Аналитическое построение математической модели».
В данной лекции мы полечили первоначальные сведения о работе с Windows Azure SDK. Рассмотрели процедуру создание Cloud Service, пользовательский интерфейс Development Fabric
Ключевые термины:
Литература:
1. http://www.microsoft.com/windowsazure/
2. http://www.microsoft.com/faculty
Тема: Инструментарий разработчика Windows azure
Цель: Изучить инструментарий разработчика Windows azure
План:
1. Windows
Azure Tools для Visual
Studio(возможности, требования)
2.
Development
Fabric – характеристика
3. Development
Storag e (характеристика и отличия от
Windows Azure Storage Services
4. Инструметарий
разработчика дляплатформ отличных от Microsoft
VS 2010 — Windows Azure tools
Windows Azure Tools — расширение Visual
Studio (VS), позволяющее создавать, тестировать и отлаживать решения для Azure
без необходимости непосредственного подключение к Windows Azure. Созданное
приложение, по готовности, может быть развернуто в Windows Azure.
Доступны инструменты для следующих
продуктов VS:
·
VS
2008 — 2010;
·
Visual
Web Developer 2008 — 2010.
Возможности инструментов Windows Azure:
·
Поддержка
MS .Net Framework 4.0. Платформа .Net Framework поддерживается, как целевая для
разрабоке ролей, как в самой Windows Azure, так и в средах разработки.
·
Обозреватель
хранилищ Windows Azure. Представляет собой расширение для окна обозревателя
серверов, предоставляющее доступ для чтения Blob — объектов и таблиц хранилища
Windows Azure.
·
Обозреватель
вычислений Windows Azure. Представляет собой расширение для окна обозревателя
серверов, предоставляющее доступ (ReadOnly) к состоянию развертывания
«облачных» служб Windows Azure.
·
Интегрированное
развертывание. Возможность развертывания «облачной» службы
непосредственно из среды разработки.
·
IntelliTrace
— отладка. Позволяет вести журнал записей расширенных отладочных сведений для
«облачной» службы. Поддерживается пошаговое выполнение кода на основе
журнала IntelliTrace.
Отметим, что не все возможности
инструментов Azure Tools доступны для поддерживаемых VS — продуктов.
Таблица. Возможности AzureTools.
Возможность |
VS 2008 |
VS 2010 |
Visual Web Developer 2008 |
Visual Web Developer 2010 |
Поддержка MS .Net Framework 4.0 |
— |
+ |
— |
+ |
Обозреватель хранилищ |
— |
+ |
— |
— |
Обозреватель вычислений |
+ |
+ |
— |
— |
Интегрированное развертывание |
+ |
+ |
+ |
+ |
IntelliTrace — отладка |
— |
+ |
— |
— |
В частности, Windows Azure SDK версии 1.3:
·
поддерживает
роль виртуальной машины — создание пользовательских образов виртуального
жесткого диска (бета — версия);
·
обеспечивает
доступ к удаленному рабочему столу — подключение к отдельным экземплярам службы
с клиентсого приложения;
·
обеспечивает
поддержку IIS в веб — ролях — веб — роль Windows Azure может быть размещена во
внешней IIS среде;
·
поддерживает
виртуальные сети (CTP);
·
предоставляет
расширенный инструментарий диагностики Windows Azure Diagnostics.
Для установки и полноценной работы с SDK
1.3 для Windows Azure необходимо наличие .Net Framework 3.5 SP1, IIS 7.0, MS
SQL Server 2005-2008 (в т.ч. Express).
Development Fabric (DF)
Данный инструментарий непосредственно
позволяет разрабатывать и разворачивать «облачное» приложение. А
также тестировать и отлаживать его.
DF позволяет локально разрабатывать код
для Windows Azure. Локальная эмуляция поддерживается в Windows Vista SP1 и выше,
Windows 7 и Windows Server 2008.
В состав DF входят следующие исполняемые
файлы:
·
DFAgent.exe;
·
DFLoadBalancer.exe;
·
DFMonitor.exe.
С ноября 2010 Development Fabric
переименован в «compute emulator» (начиная с SDK 1.3).
Development Storage(DS)
Development Storage является средством.
позволяющим эмулировать SQL Azure на локальной рабочей станции. При этом в
качестве локального хранилища может использоваться MS SQL Server 2005 — 2008, в
том числе в Express — издании.
DF позволяет:
1.
разрабатывать
структуру хранилища;
2.
создавать
локальное хранилище;
3.
запускать
и тестировать приложение.
С ноября 2010 Development
Storage переименован в
«storage emulator» (SE)(начиная с SDK 1.3).
Существует ряд отличий между сервисами
хранения данных Windows Azure и storage emulator, которые необходимо учитывать,
при разработке приложений:
·
SE
поддерживает только один, фиксированный аккаунт и ключ аутентификации. Данные
ключ и аккаут единственно возможные для работы с локальным хранилищем.
·
SE
не является масштабируемой службой, т.е. не может поддерживать большое число
пользователей.
·
SE
поддерживает отличную от «облачной» URI — схему. Отличие в том, что
имя учетной записи указывается как часть иерархического URI пути, а не как
часть доменного имени, поскольку использование доменных имен доступно в
«облаке», но не локально.
·
SE
поддерживает Blob — хранилище до 2 Гб
·
размер
строки таблицы (Table service) не может превышать 1 Мб в SE
Средства разработки на отличных от
Microsoft платформах
Ранее упоминалось, что помимо поддержки
средств разработки Microsoft инструментарий разработчика Azure также включает в
себя:
1.
Инструменты
для работы с Eclipse
·
создание
новых проектов
·
проектный
менеджмент
·
развертывание
проекта в Windows Azure
·
средство
просмотра Windows Azure хранилищ
2.
Windows
Azure SDK для PHP
·
Zend
Framework
·
PHP
классы для Blob, Table и Queue сервисов
·
протоколирование
операций
·
средства командной строки —
Windowa Azure Command — line Tools for PHP
3.
Windows
Azure SDK для Java
·
Java
классы для Blob, Table и Queue сервисов
·
возможность
обзора Windows Azure хранилищ
Доступ к сервисам Azure можно получить
посредством стандартов REST, SOAP, Atom, обеспечивая тем самым совместимость с
большинством платформ.
Контрольные вопросы:
1.Расскажите о
возможности Windows Azure Tools для Visual Studio
2.
Какие требования предъявляют к Windows Azure Tools для Visual Studio
3.
Перечислите характеристика Development Fabric
Какие Вы занете Инструметарий разработчика
для платформ отличных от Microsoft