Pull to refresh
EPAM
Компания для карьерного и профессионального роста

Классическая модель Хостинга vs Windows Azure

Reading time 8 min
Views 9.6K

Классическая модель Хостинга vs Windows Azure


На хабре я недавно, но уже успел заметить много интересного материала и статей. В том числе от Андрея Кожокару korjik. Андрей много раз выкладывал информацию по подсчету стоимости хостинга, проводил на эту тему исследования для AWS и сравнивал его с другими решениями. Мне стало интересно, что же получится, если смотреть не только на AWS, но например, и на Windows Azure. Я провел небольшое исследование, сделал кое-какие выводы и буду рад обсудить их в комментариях. А вывод прост: цены приблизительно одинаковы для всех. Выбор сводится в основном к предпочтениям конкретного заказчика, а также к удобству использования того или иного решения для определенного технологического стека.
Ну, начнем.

Цель исследования


Статья сравнивает классическую модель хостинга приложений с хостингом в Windows Azure. Раскрываются преимущества и недостатки каждого решения и выбранных платформ, в соответствии с функциональными и не функциональными требованиями. Сравнивается максимальное количество опций, предоставляемых обоими провайдерами, которые подходят под предполагаемую архитектуру.


Требования


Давайте определим требования на примере вполне реальных запросов одного из заказчиков.

Функциональные


  • Централизованные сервисы, включающие «real-time» логику и хранение истории
  • Многофункциональная коммуникация с централизованными сервисами по UDP протоколу и, возможно, через Data Sync (HTTP)
  • Клиентское приложение, получающее обновления «real-time» от центрального сервиса и умеющее отправлять команды/запросы обратно
  • Сервис отчетов, позволяющий хранить историю в удобном виде
  • Хранение информации разделяется на следующие категории:
  • — Конфигурационная информация (малый объем, возможно даже «read-only»)
  • — Оперативные данные (real-time сессии)
  • — История действий (история событий, параметров, «snapshots» до 1 года включительно)
  • Возможность генерировать отчеты/BI Analytics из истории является обязательным требованием
  • Настраиваемая отчетность (что-то вроде SQL Server Reporting Services). Отчеты могут быть разделены на три категории:
  • — Текущий день – с точностью до нескольких минут
  • — Текущий месяц – с точностью до нескольких часов
  • — Текущий год – точность до нескольких дней
  • OLAP кубы или «Data Mining» модели должны быть легко составляемыми из истории, в случае необходимости.

Не функциональные требования


  • Хранение данных: 1 год или приблизительно 200-300 Гигабайт в базе данных
  • — Оперативные данные могут достигать 20 Гб на каждый кластер
  • — История – до 300 Гб и более
  • Производительность
  • — Задержка менее чем в 3 секунды для пользователей и сторонних систем
  • — Генерация отчетов – не более 30 секунд
  • Надежность
  • — Центральный сервис: 1 неделя безостановочной работы под максимальной нагрузкой
  • — Обязательный «бэкап» данных и возможность их восстановления
  • — Отсутствие потерь критической информации (события, настройки, конфигурационные файлы)
  • — Никаких потерь в базе данных
  • Высокий уровень доступности (HA)
  • — Приложение – это «real-time» система, доступная 24/7, максимальный разрешенный «даунтайм»: не более 15 минут в неделю
  • — Балансировщик и горизонтальное масштабирование центральных сервисов являются обязательными
  • Масштабируемость
  • — Возможность горизонтального и вертикального масштабирования «стореджей», вычислительных ресурсов и количества балансируемых машин с целью обеспечить динамическое развертывание ресурсов, при необходимости.
  • Затраты
  • — Включают в себя цены на железо/ресурсы, лицензии, сопровождение ПО, трафик, etc.
  • Безопасность
  • — Интеграция с Active Directory и стандартный менеджмент аккаунтов пользователей
  • — Аутентификация и авторизация
  • — Шифрование и логирование – нет
  • Работа с инфраструктурой
  • — Простая установка, обновление, архивирование данных, мониторинг, логгирование ошибок, оповещение о критических ошибках


Рассматриваемые платформы


  • Классический Веб-Хостинг
  • Выделенный Веб-Хостинг
  • Windows Azure Virtual Machines
  • Windows Azure Cloud Services


Анализ решений


Во-первых, интересно посмотреть на сравнение цен разных решений, в зависимости от запрашиваемых решений:
- Классический Веб-Хостинг Выделенный Веб-Хостинг Windows Azure Virtual Machines Windows Azure Cloud Services
База данных: Включено 200 МБ для одной БД $259,99/мес. Ограничение по размеру хранилища $225,80/месяц для 1x150 ГБ БД + $14,25/мес/150 ГБ (данные) $225,80/месяц для 1x150 ГБ БД
Лицензия SQL Server: Включено Включено $898 Включено
Репортинг: Включено Включено Включено Включено; $0,88/час для SQL Azure
Статистика: - Включено Включено Включено; Не поддерживается Azure
Бекап: Включено $49,99/мес Включено Включено
Объем хранилища: Не ограничено Не ограничено $55,80/мес/600 ГБ $55.8/мес/600 ГБ
Трафик: Не ограничено Не ограничено $122,28/мес/1 ТБ $122,28/мес/1 ТБ
Интеграция с Active Directory: - Бесплатно $19,90 за 1 миллион транзакций $19,90 за 1 миллион транзакций
Базовая цена: $12,74/мес $169,99/мес $115,20/мес $172,80/мес

Сценарии развертывания


Классический веб-хостинг


SQL Server и приложение находятся на одной машине, обеспечивая тем самым отсутствие задержек между запросами к базе данных. Также нет ограничений на количество баз данных для приложения. Веб-хостинг предоставляет неограниченный трафик и объем хранилища данных. Обновление операционных систем и процесс конфигурации автоматизированы. Нет необходимости покупать лицензию SQL Server.

Тем не менее, существует множество ограничений и вопросов при использовании классической модели веб-хостинга:

  • Размер БД ограничен 200 МБ. Это может вызвать определенные проблемы, влекущие за собой изменение архитектуры
  • Уведомления от сервера к клиенту предполагают использование стороннего приложения (например, RabbitMQ). Возможен также сценарий, когда реализация подобных уведомлений не реализуема в принципе.
  • Использование SQL Server позволяет работать со встроенными «Reporting Services». Что касается «Analytical Services», для включения этой функции придется обратиться в техподдержку хостинг провайдера.
  • Ресурсы ЦП и оперативной памяти являются общими для всех пользователей провайдера. Это может влиять на производительность приложения
  • Необходимая функциональность Active Directory встроена в образ Windows Server 2008, однако управлять системой удаленно невозможно. Для этого также необходимо обращаться в техподдержку провайдера

Общая стоимость решения


Использование только стандартного плана хостинга обойдется в $12,74/мес. Соответственно, после 6 месяцев использования, цена составит $76,44. (цены и суммы приблизительные, но вполне соответствуют действительности).

Вывод


Не рекомендуется использовать классическую модель веб-хостинга для подобного приложения. Развертывая приложение в таких условиях, придется часто общаться с техподдержкой провайдера, и не всегда получать ответ быстро. Из-за использования общих ресурсов в системе невозможно точно предположить будущую производительность приложения. Установка Active Directory, Analytical Services, Push оповещений может вызвать проблемы, если вообще возможна.

Выделенный веб-хостинг


Такой сценарий не является настолько дешевым решением, как рассмотренный выше, но имеет перед ним определенные преимущества. Приложению необходим сервис push-уведомлений, и данная модель позволяет установить любое приложение для этого (ZeroMQ, RabbitMQ, другие). SQL Server также находится вместе с основным приложением. Необходимые сервисы очередей и оповещений поддерживаются. Размер БД ограничен только размером дискового пространства. Т.к. нет общего пула ресурсов (ЦП, память), можно предугадать производительность серверов и приложения. Использование транзакций Active Directory, оповещений и очередей бесплатно, т.к. это входит в обычный сервер-клиент трафик. Предоплаченный объем трафика – 1 ТБ.

Тем не менее, возникают следующие проблемы:
  • Сервис Windows Update не автоматизирован
  • Создание бекапов платное: $49,99/мес
  • Дополнительные возможности БД также стоят $259,99/мес
  • SQL Server расположен вместе с IIS приложением. Это может вызвать проблемы при использовании сложных запросов и повлиять на время отклика приложения. Для решения этого, возможно, понадобится дополнительная плата хостинг провайдера
  • Не существует простого способа увеличивать мощности для приложения, а если он и есть, то только за дополнительную плату

Общая стоимость решения


Общая стоимость такого решения, включая стандартный хостинг план, БД и функцию бекапа, за 6 месяцев использования составит: $2899,82

Вывод


Возможно использовать данное решение для хостинга конкретного приложения. Любое необходимое ПО может быть самостоятельно установлено дополнительно. SQL Server входит в стоимость хостинга. Тем не менее, сложно автоматизировать процесс работы приложения и системы в целом. Использование SQL Server на отдельной машине также повлечет за собой дополнительные материальные затраты.

Windows Azure Virtual Machines


Это решение является хорошим вариантом, т.к. позволяет масштабировать приложение. Это может быть сделано как в ручном, так и в автоматическом режиме. Очереди и оповещения включаются при использовании Service Bus. Вы можете использовать отдельную машину для хостинга SQL Server, с целью улучшения ее производительности, или разместить БД на одной из используемых приложением, понизив тем самым стоимость. Также доступны 2 модели использования дискового пространства: REST пространство и диски Виртуальных Машин. Бекап встроен. Можно использовать механизм аутентификации, предоставляемый Windows Server Active Directory. Огромное преимущество: если возникнет необходимость, можно легко мигрировать на другое облачное решение.

Проблемы:
  • Стандартная лицензия SQL Server не входит в стоимость. Цена – $898 единоразово, после 6 месяцев пробного периода
  • Установка операционной системы, SQL Server и обновлений системы не автоматизирована
  • Почти каждая опция оплачивается отдельно: трафик, дисковое пространство, и т.д.

Общая стоимость решения


Стоимость решения «Виртуальная Машина + SQL Server», включая 600 ГБ дискового пространства, 1 ТБ трафика, интеграцию с Active Directory, бекап, лицензию для SQL Server на 6 месяцев, составит $2862,58

Такое же решение, но с использованием SQL Azure обойдется в $3233,88. Вариант с использованием SQL Server получился дешевле, т.к. плата за лицензию ($898) является единоразовой.

Вывод


Рекомендуется использовать такое решение для данного конкретного приложения. Просто масштабировать приложение и подключать необходимые сторонние приложения самостоятельно. Основная проблема этого решения – цена (по сравнению с предыдущими вариантами), в том числе и на лицензию SQL Server. Также не автоматизирован процесс обновления и конфигурации виртуальных машин. Полноценный SQL Server позволяет использовать службы Reporting Services и Analytical Services.

Windows Azure Cloud Services


Этот способ представляет из себя почти то же самое, что и предыдущий. Основное различие заключается в процессе обслуживания. Не нужно устанавливать обновления системы или SQL Server. Active Directory Federation Services могут использоваться для аутентификации, но лучше все же настроить Active Directory отдельно на SQL Server, получив тем самым полные функциональные возможности одного и второго. Развертывание полностью автоматизировано напрямую из Visual Studio что исключает необходимость подготовки образов.

Недостатки:
  • Все та же лицензия для SQL Server, $898, если возможностей SQL Azure недостаточно
  • Почти каждая опция оплачивается отдельно: трафик, дисковое пространство, и т.д.

Общая стоимость решения


Стоимость решения «Облачный Сервис + SQL Server», включая 600 ГБ дискового пространства, 1 ТБ трафика, интеграцию с Active Directory, Бекап, лицензию для SQL Server на 6 месяцев, составит $3579,48.

Вывод


Можно и неплохо использовать данное решение, даже несмотря на его высокую цену. При необходимости можно использовать отдельную машину с SQL Server. Процесс администрирования возложен на плечи провайдера. Данный способ позволяет сосредоточиться на разработке приложения, т.к. большинство процессов конфигурации автоматизировано, а публикация приложения осуществляется прямо из Visual Studio.

Общий вывод


Наиболее оптимальным вариантом размещения и хостинга приложения является Windows Azure Virtual Machines + SQL Server. Для реализации механизма push-уведомлений можно использовать любые средства как от сторонних производителей (например, RabbitMQ, ZeroMQ, другое), так и Microsoft (Service Bus). Покупка лицензии для SQL Server является единоразовой, а размер базы данных ограничен только размерами storage аккаунта. Также выделенный SQL Server позволит полностью использовать службы Reporting Services и Analytical Services. Однако процесс конфигурации и поддерживания инфраструктуры может повлечь дополнительные расходы на персонал.
Tags:
Hubs:
-3
Comments 21
Comments Comments 21

Articles

Information

Website
www.epam.com
Registered
Founded
1993
Employees
over 10,000 employees
Location
США
Representative
vesyolkinaolga