Цель работы: Ознакомиться с основными положениями, касающимися работы с облачными сервисами, получить начальные сведения о Windows Azure и о работе с этим сервисом
В недалёком прошлом у разработчика, который нуждался в некоем сервисе, который он планировал использовать в качестве серверной части своего приложения, было всего две альтернативы.
Первая заключалась в том, чтобы самостоятельно поддерживать необходимую для этого инфраструктуру. Вторая заключалась в аренде физического сервера (или в различных вариантах такой аренды, когда можно арендовать не физический сервер, а получить некоторые фиксированные услуги).
Для поддержки собственной серверной инфраструктуры разработчику нужно позаботиться об оборудовании, об устойчивом интернет-соединении, о программном обеспечении. При этом на него возлагается задача поддержания работоспособности оборудования. Если речь идёт о небольшом проекте, то, как это всегда бывает с подобными проектами, у разработчика не может быть уверенности в том, что проект привлечет достаточное внимание пользователей для того, чтобы хотя бы окупить вложения в оборудование. В то же время, если окажется так, что проект привлекает большое внимание, возможностей того оборудования, которое использовалось изначально, может не хватить. Придётся приобретать дополнительный сервер или сервера. Здесь же, при условии большой востребованности проекта, возникает проблема масштабирования нагрузки. Если работа пользователей вызывает серьезные скачки нагрузки лишь в определенные периоды (например, по выходным, или при возникновении определенных событий, или по любым другим причинам), для того, чтобы обслужить всех желающих может понадобиться, например, еще один резервный сервер. Собственная инфраструктура – это вполне приемлемое решение, но дорогое, вызывающее необходимость решения множества вопросов, не имеющих к разработке прямого отношения.
Если речь идёт, например, об аренде выделенного сервера, разработчик оказывается избавленным от части проблем, однако, например, вопросы, касающиеся масштабирования нагрузки остаются. Как быть с периодическим повышением интереса пользователей к приложению, который вызывает повышение нагрузки на его серверную часть? Ответ заключается, например, в аренде дополнительного сервера, который некоторую часть времени будет простаивать, здесь возможны и ситуации, когда арендованной мощности попросту не хватит на пике нагрузки – либо придётся мириться с тем, что некотороые пользователи столкнуться с медленной работой приложения, либо – расширять арендованную инфраструктуру. В случае с арендой серверов такое расширение обычно реализовано не достаточно гибко. Например, технически можно организовать аренду сервера, например, на несколько дней или часов, но на практике сервера арендуются, например, с периодичностью в месяц, что означает нерациональное использование средств. То же самое касается и других подобных схем работы.
В последние годы чрезвычайно развились технологии, которые сделали возможным появление принципиально иного способа организации серверных служб приложений. Речь идёт о модели облачных вычислений (cloud computing) . Среди таких технологий можно отметить высокоскоростной доступ в Интернет, хранилища данных большого объема, виртуализацию. "Облако" скрывает от потребителя (в нашем случае речь идёт, преимущественно, о разработчике) технические детали реализации службы, оно предоставляет ему гибкие возможности масштабирования нагрузки, гибкие схемы оплаты услуг.
Пожалуй, каждый, кто пользовался современными устройствами, работал в Интернете, разрабатывал приложения, прямо или косвенно соприкасался с облачными сервисами. Например, с облачным хранилищем SkyDrive. Фактически, этот сервис тесно интегрирован с учетной записью Microsoft, которая используется на смартфонах под управлением Windows Phone, доступ к хранилищу можно получить, воспользовавшись веб-браузером на настольном ПК, то же самое хранилище доступно с использованием специальных приложений-клиентов на различных платформах, таких, как Windows, OS X, iPhone, iPad. Как только в хранилище добавлен новый файл, независимо от того, с какого устройства он был добавлен, он становится доступным в облаке, а значит – работать с ним можно, подключившись к хранилищу с использованием любого способа доступа к нему.
Существует несколько общепринятых моделей обслуживания, используемых в облачных средах (их попросту называют "облаками").
Для начала нужно отметить, что облачную службу вполне может развернуть организация-разработчик (на самом деле, это может быть любая организация, которая выбрала подобную схему организации ИТ-инфраструктуры), такое облако называется частным (private cloud). Если некоторая организация поддерживает облачную инфраструктуру и даёт другим организациям за определенную плату доступ к ней, речь идёт о публичном облаке (public cloud). Возможны и комбинации этих двух основных подходов к построению облачных инфраструктур.
Если же говорить о моделях обслуживания, то обычно выделяют следующие модели.
Существуют и другие модели облачных служб, например, сеть как услуга (NaaS, Network as a Service) –по такой модели потребителю предоставляются сетевая инфраструктура и сетевые службы, расположенные в облаке.
Разработчики программного обеспечения могут использовать облачные сервисы для самых разных целей. Например, разработчик может создать приложение, имеющее облачную серверную часть (cloud backend). Приложение может быть рассчитано на различные платформы, при этом облачная серверная часть остаётся одной и той же. В облако может быть вынесен функционал различного объема – от минимального, необходимого, например, для резервного копирования данных пользователя, до полной реализации приложения. Вышеупомянутый сервис SkyDrive вполне может справиться с задачей резервного копирования данных, при этом от разработчика под Windows Phone 8 требуется минимум усилий, так как то, что пользователь смог установить приложение разработчика на устройство, автоматически означает наличие у пользователя учетной записи Microsoft и возможность работы со SkyDrive.
Предположим, разработчик нуждается в организации облачного хранилища данных с использованием некоего сервиса. В общем случае ему нужно выполнить следующие шаги:
Один из существующих сегодня облачных сервисов, предоставляющих услуги по моделям PaaS и IaaS является 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) можно после входа в учетную запись, воспользовавшись соответствующей ссылкой.
(рис 37.1) Страница настройки мобильных служб Azure
Остановимся на мобильных службах Azure подробнее.
Мобильные службы Windows Azure позволяют решить несколько актуальных для мобильных разработчиков задач. В частности, это следующие задачи:
Мобильные службы поддерживают масштабирование, что позволяет гибко реагировать на изменение нагрузки.
Мобильные службы поддерживают работу с приложениями для Магазина 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 (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 влияет на приложение.
К данной лекции подготовлено видеоприложение.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.