Сценарии использования платформенных сервисов Windows Azure. Резервное копирование и отказоустойчивость в веб, мобильные и медиа-сценарии
Компания Аплана подготовила обширный обзор сценариев использования платформенных сервисов Windows Azure. С удовольствием делимся с вами этим интересным документом, который будет полезен для любых отдельных разработчиков и компаний занимающихся созданием приложений и рассматривающих облако Windows Azure в качестве платформы для своих решений. Данное руководство состоит из трех частей, это вторая часть, в которой вы узнаете о сценариях резервного копирования и отказоустойчивости веб-приложений, мобильных и медиа-сценариях. Первая часть документа доступна по этой ссылке.
Резервное копирование для веб-сайтов
Решение, связанное с резервным копированием и последующим восстановлением веб-сайта позволяет реализовать механизм резервного копирования для веб-сайта на основе хранилища Windows Azure Storage. В ряде случаев решение позволяет обеспечить совместимость на уровне веб-сервера и базы данных, а также реализовать возможность запуска копии веб-сайта непосредственно из «облака». Подход к резервному копированию веб-сайтов может состоять из нескольких этапов, перечисленных ниже:
- Создание резервной копии веб-сайта
- Запуск сайта из облака
- Перенос базы данных
Обсуждение решения, связанного с резервным копированием и последующим восстановлением веб-сайта, начнем с создания резервной копии сайта.
Cоздание резервной копии веб-сайта
В общем случае можно выделить четыре типа веб-сайтов, резервное копирование которых поддерживается в рамках данного решения:
- Простой сайт на IIS
- Копируется: код, настройки сервера, структура файловой системы, файлы
- Простой сайт на PHP
- Копируется: код, настройки сервера, структура файловой системы, файлы
- Сайт на IIS с базой данных
- Копируется: код, настройки сервера, структура файловой системы, файлы, база данных
- Сайт на PHP с базой данных
- Копируется: код, настройки сервера, структура файловой системы, файлы, база данных
Стоимость реализации решения по созданию резервной копии веб-сайта на платформе Windows Azure зависит от того, как будет реализован компонент, формирующий и отправляющий «пакет» с копией веб-сайта в хранилище Azure Storage.
Запуск сайта из «облака»
В тех случаях, когда веб-сайт базируется на наборе технологий, поддерживаемых в рамках инфраструктурных сервисов «облачной» платформы Windows Azure, данное решение может быть расширено за счет создания виртуальной машины или набора виртуальных машин с их последующим размещением в инфраструктуре Windows Azure.
Отметим, что такой подход является одним из путей повышения отказоустойчивости веб-сайта
Стоимость реализации решения по запуску копии сайта из «облака» зависит от характеристик виртуальной машины, в которой будет располагаться образ сайта, требований к базе данных, а также объему исходящего трафика.
Повышение отказоустойчивости веб-сайтов
Решение по повышению отказоустойчивости веб-сайтов позволяет реализовать повышенную масштабируемость и отказоустойчивость веб-сайта, оперативное реагирование на DOS и DDOS-атаки, мониторинг и анализ входящего трафика, а также динамическую конфигурацию веб-сервера.
Ниже перечислены возможные подходы к реализации данного решения, выбор которых зависит от конфигурации существующего веб-сервера, инфраструктуры заказчика, а также стоящих перед ним задач:
- Перенос сайта в Windows Azure.
- Возможные варианты реализации – использование Windows Azure Web Role, Windows Azure Web Sites, развертывание сервера Windows Server и Internet Information Services (IIS) в виртуальной машине (инфраструктурные сервисы)
- Использование инфраструктурных сервисов для развертывания веб-сайта в виртуальной машине
- Обеспечение масштабируемости
- Использование механизма авто-масштабирования (позволяет увеличить число ресурсов, обрабатывающих входящие запросы и, тем самым, некоторое время «выдержать» DOS/DDOS-атаки) – возможно в случае использования платформенных сервисов Windows Azure
- Создание монитора, управляющего числом и характеристиками виртуальных машин, в которых размещен веб-сайт – возможно в случае использования инфраструктурных сервисов Windows Azure
- Обеспечение повышенной отказоустойчивости
- Размещение дополнительных копий сайта в том же дата-центре, дата-центре в той же географической зоне, в дата-центре в другой географической зоне, подключение Traffic Manager для внешней балансировки нагрузки и распределения входящих запросов
Возможные расширения данного решения:
- Реализация модуля мониторинга и анализа входящего трафика
- Мониторинг и анализ входящего трафика предполагает сбор информации, которая затем может быть использована для динамической конфигурации веб-сервера
- Реализация механизма динамической конфигурации веб-сервера
- На основе данных, собираемых модулем мониторинга и анализа входящего трафика, возможно задание правил по динамической конфигурации веб-сервера
Преимущества предлагаемого решения по повышению отказоустойчивости веб-сайтов:
- Повышение масштабируемости сайта
- Повышение отказоустойчивости сайта
- Снижение вероятности потери доступности ресурсов при DOS/DDOS-атаках
- Возможность анализа и динамической конфигурации веб-сервера
Как было отмечено выше, данное решение может быть реализовано в несколько этапов, в зависимости от текущих задач заказчика.
Мобильный доступ к ресурсам
Данное решение позволяет использовать «облако» для обеспечения мобильного доступа к ресурсам компании – как для сотрудников компании, так и для партнеров и конечных пользователей.
Одной из задач, с которой часто сталкиваются многие компании, является обеспечение доступа к ресурсам компании, расположенным во внутренней инфраструктуре – такими ресурсами могут быть как файлы, так и некоторые приложения или процессы. Чаще всего такая задача возникает в тех случаях, когда требуется обеспечение доступа к ресурсам с мобильных устройств – это могут быть как мобильные устройства сотрудников, так и мобильные устройства конечных пользователей.
Выделим три основные категории пользователей мобильных сервисов:
- Сотрудники – число их известно, специальных требований к масштабируемости приложения нет
- Партнеры - число их известно, умеренные требования к масштабируемости приложения
- Конечные пользователи – число их заранее неизвестно, высокие требования к масштабируемости приложения
Можно выделить 3 основных типа ресурсов, которые могут представлять интерес для сотрудников, оснащенных мобильными устройствами:
- Приложения, выполняющиеся во внутренней инфраструктуре компании
- Данные, хранимые в базах данных и других типах хранилища, расположенных во внутренней инфраструктуре компании
- Внутренние порталы компании и веб-сайты, доступные только внутри компании
Из такой классификации ресурсов естественным образом получаются следующие сценарии:
- Сценарий 1:
- Компании требуется обеспечить сотрудников, оснащенных мобильными устройствами, доступом к внутренним приложениям
- Сценарий 2:
- Компании требуется обеспечить сотрудников, оснащенных мобильными устройствами, доступом к данным или подмножеству данных, хранимых внутри компании
- Сценарий 3:
- Компании требуется обеспечить сотрудников, оснащенных мобильными устройствами, доступом к внутренним порталам и/или веб-сайтам компании (интранет)
Реализация одного или более из перечисленных выше сценариев зависит, как минимум, от следующего:
- Текущей инфраструктуры и технологий, используемых внутри компании
- Бюджета и ресурсов, выделяемых на создание мобильных решений
- Политики компании в области поддержки устройств, приносимых самими пользователями (Bring Your Own Device, BYOD) и стандартами на мобильные устройства и поддерживаемые типы устройств, принятые в компании
В общем случае, решение по обеспечению мобильного доступа к ресурсам компании должно отвечать следующим требованиями:
- Безопасность
- Решение должно поддерживать аутентификацию и авторизацию как на уровне принятых в компании механизмов (например, Active Directory и ролевая модель), так и наиболее популярных систем, включая Live ID, Google ID и т.п.
- Масштабируемость
- В случае предоставления доступа к подмножеству ресурсов внешним пользователям, число которых заранее неизвестно, решение должно обеспечивать адекватную реакцию на входящие запросы, своевременно выделяя необходимые ресурсы, требуемые для их обработки
- Поддержка различных типов мобильных устройств
- В случае предоставления доступа к подмножеству ресурсов внешним пользователям или партнерам, решение должно обеспечивать поддержку различных типов мобильных устройств – как на уровне интерфейса, так и на уровне способов и протоколов взаимодействия.
Мобильный доступ к приложениям
В данном сценарии компании требуется обеспечить сотрудников, оснащенных мобильными устройствами, доступом к внутренним приложениям.
Реализация данного сценария зависит от приложений, доступ к которым должен быть реализован на уровне создаваемого решения. В общем случае, можно выделить три типа приложений:
- Приложения, поддерживающие базовые механизмы интеграции
- Приложения, поддерживающие механизмы интеграции на уровне веб-сервисов
- Приложения, выполненные в виде функционального набора веб-сервисов, интегрированных между собой
В первом случае потребуется реализация т.н. «слоя интеграции», который будет представлять собой программное решение, взаимодействующее с базовыми механизмами интеграции «традиционных» приложений и «открывающее» эти механизмы для стандартного набора веб-сервисов, создаваемых в рамках решения.
Второй и третий тип приложений потребует реализации механизма взаимодействия существующих на уровне приложения веб-сервисов со стандартным набором веб-сервисов, создаваемых в рамках решения.
Мобильный доступ к данным
В данном сценарии компании требуется обеспечить сотрудников, оснащенных мобильными устройствами, доступом к данным или подмножеству данных, хранимых внутри компании.
Реализация данного сценария зависит от типа данных, доступ к которым необходимо обеспечить в рамках создаваемого решения. В общем случае это могут быть данные, хранимые в системах управления базами данных (СУБД) и данные, хранимые в виде файлов в хранилищах соответствующего типа.
В общем случае можно выделить два типа данных, доступных в рамках создаваемого решения:
- Данные, состав и содержимое которых меняется редко
- Например: контактная информация, список товаров, маркетинговые материалы
- Данные, состав и содержимое которых меняется часто
- Например, остатки на складах, цены на товары
В зависимости от типа данных, приведенных выше, могут быть реализованы два подхода к обеспечению мобильного доступа к ним – либо получение данных непосредственно из хранилищ компании (для часто изменяемых данных), либо создание промежуточного «облачного» хранилища для обеспечения доступа к редко изменяемым данным. В зависимости от частоты изменения данных может быть использован тот или иной подход, или комбинация из двух. Для того, чтобы снизить нагрузку на внутренние системы компании может быть реализована, например, автоматическая выгрузка данных в заданные интервалы времени или, например, синхронизация данных, хранимых в СУБД с соответствующим хранилищем в «облаке».
Как и в предыдущем сценарии, конкретная реализация данного решения зависит от типа данных, частоты их обновления и объема данных, предполагаемых для потребления мобильными пользователями.
Мобильный доступ к веб-ресурсам
В данном сценарии компании требуется обеспечить сотрудников, оснащенных мобильными устройствами, доступом к внутренним порталам и/или веб-сайтам компании (интернет).
Относительно часто у компании возникает задача сделать доступными веб-ресурсы, полная оптимизация которых не представляется возможным. Например, несмотря на то, что все современные мобильные устройства поддерживают веб-браузеры, которые могут использоваться для доступа к веб-ресурсам, часто структура и дизайн таких ресурсов не отвечают требованиям удобства использования при обращении к ним с мобильных устройств. Эта проблема особенно актуальна для мобильных телефонов с небольшим размером экрана – в этом случае предполагается работа с оптимизированными под данный форм-фактор веб-страницами. Создание отдельной мобильной версии веб-ресурсов не всегда возможно – эта задача требует дополнительного бюджета, ресурсов и, часто, все ресурсы просто не нужны пользователям, оснащенным мобильными устройствами.
Подход, предлагаемый в данном решении, состоит в создании промежуточного «облачного» хранилища, которое бы служило «буфером» между пользователями, оснащенными мобильными устройствами, и веб-ресурсами компании. Такой подход может быть актуален в тех случаях, когда число пользователей заранее неизвестно, а оптимизация существующей инфраструктуры не представляется возможной – в этом случае все задачи по обеспечению масштабируемости берет на себя «облачный» буфер. Далее, в зависимости от потребностей конкретного заказчика могут быть созданы либо мобильные клиентские приложения, либо набор HTML-страниц, оптимизированных для отображения на мобильных устройствах.
Описанный выше подход обладает следующими преимуществами:
- Позволяет обеспечить мобильный доступ к веб-ресурсам компании без необходимости в оптимизации существующей инфраструктуры
- Обеспечивает высокую надежность и масштабируемость за счет использования соответствующих компонентов платформенных сервисов платформы Windows Azure
- Обеспечивает необходимый уровень безопасности, так как пользователи обращаются к “облачному» буферу, а не к внутренним веб-ресурсам компании
- Является расширяемым – без каких-либо изменений на стороне инфраструктуры компании при необходимости может быть добавлена поддержка новых типов устройств
Стоимость размещения решения по мобильному доступу к веб-ресурсам компании в общем случае складывается из стоимости двух описанных ранее решений – решения по доступу к приложениям и решения по доступу к данным.
Пример
Выбор «облака» в качестве буфера между инфораструктурой заказчика и мобильными пользователями позволяет существенно повысить масштабируемость и отказоустойчивость решения. При этом не требуется внесения практически никаких изменений в уже существующую инфраструктуру заказчика. Именно так поступили специалисты компании «Аплана» создавая решение для одного из аэропортов столицы. Реализованное на платформе Windows Azure решение получает данные от внутренней системы аэропорта по протоколу FTP, преобразует их, сохраняет в «облачном» хранилище и представляет сотням тысяч пользователей мобильных приложений аэропорта информацию о рейсах, сервисах и общественном транспорте.
Использование мультимедийных данных
В состав платформенных сервисов Microsoft Windows Azure (PaaS) входит компонент для работы с мультимедийными данными (Windows Azure Media Services). Медиа сервисы представляют собой набор функций для размещения, преобразования, защиты и трансляции контента.
Медиа сервисы и обучение
Примером использования медиа сервисов может быть внутренняя система обучения для сотрудников и партнеров. Эта система реализует возможность отслеживания действий обучающихся – например, они не могут пропускать видео фрагменты, должны реагировать на информацию, представленную на экране и т.п. Совмещенная с игровым механизмом (gamification) такая система может стать новым шагом в обучении и развитии сотрудников и партнеров.
Медиа сервисы и маркетинговые программы
Второй пример использования медиа сервисов – это публикация на сайте компании и/или ее партнеров маркетинговых материалов со встраиваемой рекламой и системой сбора метрик. Такой подход не требует размещения материалов на внешних системах хостинга типа YouTube и позволяет гибко подходить к определению собираемых данных, форматам их представления и т.п., а также обеспечивает такие возможности, как поддержка преобразования форматов файлов на лету, адаптивное потоковое воспроизведение и т.п.
Второй вариант – использование медиа сервисов как промежуточной площадки при создании маркетинговых материалов, например, для сбора мнений от определенной аудитории или партнеров. Завершенные материалы публикуются в YouTube или в другом публичном сервисе хостинга мультимедийных файлов.
Использование медиа-сервисов
Пример
С целью повышения прозрачности своей деятельности одно из министреств Российской Федерации решило выкладывать видео-записи деятельности своих подразделений в открытый доступ. Видео-записи сопровождаются набором расширенных атрибутов, часть из которых автоматически добавляется из внутренней системы министрества. Общий объем информации составляет несколько миллионов записей.
Использование Windows Azure Media Services позволяет решить задачу предоставления видео-информации в виде адаптивного потока, учитывающего скорость подключения пользователей, а интеграция с Active Directory (через Windows Azure Active Directory) обеспечивает раздачу прав сотрудникам организации, которые размещают данные и редактируют атрибуты.
Монетизация данных и сервисов
Еще одним вариантом использования платформенных сервисов Microsoft Windows Azure (PaaS) является создание сервиса по предоставлению данных (например, справочников и т.п.) партнерам для их последующей «продажи» конечным потребителям.
В этом случае создается сервис, имеющий «коммерческую» составляющую, например, позволяющий отслеживать число обращений к данным от каждого партнера и на этой основе выставлять партнерам ежемесячные счета.
Так как данные и сами сервисы располагаются в «облаке», делает такое решение независимым от основно инфраструктуры заказчика, масштабируемым – т.е. при росте числа обращений к сервису автоматически выделяются дополнительные ресурсы и измеряемым – т.е. появляется возможность отслеживания обращений к сервису и данным.
О компании Аплана
Компания «Аплана» специализируется на разработке, тестировании и сопровождении программного обеспечения, создаваемого в соответствии с конкретными требованиями заказчиков и предоставляет услуги по внедрению и интеграции приложений для корпоративных клиентов на российском и зарубежном рынках. Компания «Аплана» входит в Группу компаний «АйТи», имеет представительства в России, США и Великобритании.
Компания «Аплана» является официальным партнером Microsoft и имеет ряд наград Microsoft Partner Awards в области разработки программного обеспечения.. в 2013 году «Аплана» получила награду Партнер Года в номинациях …
Компания Аплана первой из российских компаний стала участником Azure Circle – программы, объединяющей ведущих партнеров Microsoft, которые выполняют полный спектр работ по созданию приложений на платформе Windows Azure для корпоративных клиентов. Участие в этой программе позволяет компании Аплана расширить диапазон предоставляемых услуг, поднять технический уровень и качество реализуемых проектов, а также обеспечивает возможность привлекать ресурсы Microsoft при поиске решений возникающих вопросов и предложения оптимизированных проектных решений.
В штате компании - разработчики, сдавшие экзамен «Designing and Developing Windows Azure Applications», подтверждающий их квалификацию в области платформенных и «облачных» технологий компании Microsoft. Помимо этого, Аплана реализовала целый ряд успешных проектов для российских и зарубежных заказчиков, среди которых – Telegraph Media Group, UBM Medica, аэропорт «Шереметьево» и ряд других компаний.