Основы работы с облачными сервисами
Microsoft Windows Azure
Основа Windows Asure – дата-центры, размещенные по всему миру. Платформа Azure появилась в 2008-м году, она постоянно развивается, увеличивается количество и мощность дата-центров, появляются новые услуги, существующие услуги улучшаются. Фактически, используя платформу Azure разработчик может создавать широкий спектр приложений, может использовать большой набор программного обеспечения (такого, как операционные системы, средства разработки, системы управления базами данных). На самом деле, список возможностей Azure весьма широк, рекомендуется самостоятельно ознакомиться с их составом и особенностями на http://www.windowsazure.com. Служба официально доступна в России, существует немало русскоязычных описаний её функциональных возможностей. Интерфейс управления Azure так же русифицирован.
Для регистрации в службе, https://account.windowsazure.com, вам понадобится учетная запись Microsoft, мобильный телефон (для того, чтобы принять код подтверждения), и кредитная (или дебетовая) карта, необходимая для подтверждения личности. При регистрации можно выбрать вариант пробной бесплатной подписки. Бесплатное пробное использование рассчитано на 90 дней, каждый месяц бесплатного пробного периода предоставляется некоторый объем услуг. В частности, во время пробного бесплатна работа с мобильными службами (mobile services), которые представляют особый интерес для мобильных разработчиков, так как позволяют быстро создавать облачные серверные части для мобильных приложений.
Управление мобильными службами осуществляется с помощью портала управления Windows Azure, перейти на портал управления (рис. 37.1) можно после входа в учетную запись, воспользовавшись соответствующей ссылкой.
Остановимся на мобильных службах Azure подробнее.
Мобильные службы Windows Azure
Мобильные службы Windows Azure позволяют решить несколько актуальных для мобильных разработчиков задач. В частности, это следующие задачи:
- Хранение в облаке данных пользователей
- Аутентификация пользователей с использованием различных провайдеров аутентификации, таких, как Microsoft Account, Facebook, Google, Twitter
- Push-уведомления для WNS (Windows Push Notification Service), MPNS (Microsoft Push Notification Service), APNS (Apple Push Notification Service), C2DM (Cloud To Device Messaging)
Мобильные службы поддерживают масштабирование, что позволяет гибко реагировать на изменение нагрузки.
Мобильные службы поддерживают работу с приложениями для Магазина Windows, для Windows Phone 8, iOS, Android, с HTML/JavaScript-приложениями, которые могут работать на различных платформах.
При создании мобильной службы в Windows Azure есть возможность загрузить макет приложения, настроенного для работы с созданной мобильной службой. Такие приложения используют SDK Mobile Services, соответствующая библиотека доступна через сервис NuGet, http://nuget.org/packages/WindowsAzure.MobileServices/.
Полный список SDK для Azure, доступных через NuGet можно найти на http://nuget.org/profiles/azure-sdk/.
Кроме того, на странице загрузок SDK для мобильных служб Windows Azure (http://www.windowsazure.com/en-us/downloads/?fb=ru-ru) можно найти SDK для различных платформ, работа с которыми поддерживается мобильными службами.
Дополнительные сведения по Windows Azure и по мобильным службам Windows Azure можно найти здесь:
Русскоязычный блог Windows Azure (http://blogs.msdn.com/b/windows_azure_in_russia/)
Блог разработчиков приложений для Windows 8 (http://blogs.msdn.com/b/windowsappdev_ru/), здесь, в частности, есть материалы по мобильным службам Windows Azure
Несколько электронных книг по Windows Azure, переведенных на русский язык (http://blogs.msdn.com/b/windows_azure_in_russia/archive/2012/10/08/epub-mobi-pdf-windows-azure.aspx). В частности, следующие:
- Миграция приложений в Windows Azure
- Разработка приложений на платформе Windows Azure
- Построение гибридных приложений на платформе Windows Azure
- Создание эластичных и устойчивых облачных приложений
- Миграция приложений, предназначенных для обработки данных, в Windows Azure
Портал по мобильной разработке для Windows Azure (http://www.windowsazure.com/ru-ru/solutions/mobile/)
Центр экспертизы Windows Azure (http://msdn.microsoft.com/ru-RU/ff380142)
Руководство по мобильным службам Windows Azure (http://msdn.microsoft.com/ru-ru/dn178509)
Сайт, посвященный Windows Azure (http://wazurr.ru/)
Выводы
Облачные службы, и, в частности Microsoft Windows Azure, позволяют разработчику быстро создавать масштабируемые сервисы, которые отличаются высоким быстродействием и доступностью. Масштабируемость позволяет быстро подключать необходимые ресурсы для того, чтобы справиться, например, с высокой периодической активностью пользователей (или наращивать ресурсы при постепенном росте пользовательской базы). Так же, ресурсы, которые какое-то время окажутся невостребованными, можно быстро отключать, что позволяет экономить на оплате подписки на службу. Разработчик не заботится об инфраструктуре системы – это задача провайдера. При таком подходе разработчик избавлен от решения чисто технических вопросов, связанных с интернет-службой, поддерживающей приложение, он может сосредоточиться на решении своих основных задач.
Задание
Если ваше приложение изначально создавалось как приложение, взаимодействующее с веб-службами, рассмотрите возможность использования мобильных служб Windows Azure. Если ваше приложение не было рассчитано на работу с веб-службами, рассмотрите такую возможность, подумайте, как использование, например, сетевой базы данных, может улучшить приложение. Каким бы ни было ваше приложение, подготовьте сообщение на тему: "Сравнение сценария работы приложения, использующего Windows Azure и не использующего". В сообщение опишите сценарии работы вашего приложения в вариантах, когда оно не использует серверную часть, размещенную в Windows Azure и использует её. Сделайте выводы о том, как использование и неиспользование Azure влияет на приложение.
Дополнительные материалы
К данной лекции подготовлено видеоприложение.