Выбираем Windows Azure: оценка затрат при использовании веб-приложения на платформе Windows Azure

Вы решили создать новое веб-приложение. Вы — опытный .NET разработчик и строите долгосрочные планы. Вы хотите использовать в своем проекте платформу Windows Azure. Эта платформа имеет множество преимуществ, среди которых — эластичность и высокая доступность. Чтобы детально проработать решение и оптимизировать бизнес-модель вам требуются рекомендации по оценке затрат на поддержку всего жизненного цикла приложения. Необходимо учесть следующие аспекты:

  • Разработка.
  • Бета-тестирование с участием нескольких клиентов.
  • Ввод приложения в эксплуатацию.
  • Невероятное масштабирование, как только Опра Уинфри расхвалит ваше приложение на все лады в своем ток-шоу!

Для оценки затрат на запуск вашего приложения в Windows Azure требуются две вещи: глубокое понимание ценообразования Windows Azure и самой модели, т. е. шаблона, который имитирует ваше приложение и его ожидаемый уровень использования.

В этом документе мы рассмотрим базовые определения ценообразования, тарификации и пропорционального деления расходов, а также выведем общий алгоритм, который можно применять к различным сценариям. Одним из этих сценариев будет использование вашего веб-приложения. Затраты на веб-приложение можно вычислить с помощью простой электронной таблицы Microsoft Excel, доступной для скачивания вместе с этой публикацией. В ближайшем будущем мы намерены использовать этот подход в качестве фундамента разработки инструмента для моделирования точных затрат на реализацию разнообразных сценариев на основе шаблонов. Из этой статьи вы узнаете, что оценка затрат на использование Windows Azure может превратиться в нелинейную задачу, решаемую с помощью довольно сложной процедуры. Для получения точных результатов необходимо учесть расходы, равномерно распределяемые по временным периодам, вариативность нагрузки на приложение и скидки, действующие для вашего конкретного сценария. Вы можете начать с линейной оценки затрат, воспользовавшись инструментом Windows Azure Pricing Calculator. Однако, скорее всего, вы обнаружите, что для вашего сценария требуется более детальная проработка. В статье вы найдете ответы на эти вопросы. В ближайшее время мы создадим также специализированный инструмент для решения этих задач.

Стоимость использования служб Windows Azure

В этом разделе приведены цены за декабрь 2011 года. Они послужат основой для последующих вычислений.

Важно. Цены, используемые для вычислений в этой статье, могут не соответствовать актуальным ценам. Актуальные цены приведены в статье Windows Azure Pricing Overview (Обзор ценообразования Windows Azure).

Примечание. В качестве основной концепции мы используем шаблон, который можно накладывать на затраты, связанные с использованием каждой службы в отдельности: для измерения уровня фактического использования предусмотрен счетчик, а также введена стоимость единиц измерения, фиксируемых счетчиком. Возьмем в качестве примера Windows Azure Compute. Расширенные затраты на запуск экземпляра среднего размера в течение 24 часов вычисляются следующим образом: счетчик x стоимость = 24 часа (экземпляр среднего размера) x 0,24 долл. США за каждую единицу по счетчику = 5,76 долл. США. Этот принцип (единица измерения счетчика и стоимость единицы по счетчику) будет использоваться далее в документе.

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

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

В третью группу вошли затраты на оплату полосы пропускания. Развивая приложение, вы будете все лучше понимать его потребности в полосе пропускания. При разработке приложения необходимо помнить, что учитывается только полоса пропускания, используемая для отправки данных (исходящие данные). Например, логическое разбиение данных на страницы позволит упростить их измерение (не следует представлять результаты выполнения запроса на одной странице, без разбиения на категории).

Базовые службы и затраты

Обслуживание

Описание

Счетчик

Стоимость

Вычислительные ресурсы

Размер виртуальной машины. Каждому размеру виртуальной машины соответствуют свои значения количества ядер, оперативной памяти и дискового пространства по умолчанию. См. раздел How to Configure Virtual Machine Sizes (Настройка размеров виртуальных машин).

Сверхмалая длительность

Малая длительность

Средняя длительность

Большая длительность

Сверхбольшая длительность

0,04 долл. США

0,12 долл. США

0,24 долл. США

0,48 долл. США

0,96 долл. США

База данных SQL Windows Azure

Облачная база данных, созданная на основе технологии SQL Server.

Web Edition. За 1 ГБ в месяц (до 5 ГБ).

Business Edition. За 10 ГБ в месяц (до 150 ГБ).

9,99 долл. США

Максимальная стоимость 99,99 долл. США при стоимости использования базы данных 499,95 долл. США в месяц.

Хранилище Windows Azure

Безопасное и надежное хранилище BLOB-объектов, таблиц, очередей и дисков Windows Azure с простым доступом.

Гигабайт в месяц, в зависимости от среднего значения за день.

Транзакции хранилища, за каждые 10 000 транзакций.

0,14 долл. США

0,01 долл. США

Вторичные службы и затраты

Обслуживание

Описание

Счетчик

Стоимость

Кэширование

Распределенный кэш приложений, размещенный в оперативной памяти, повышает производительность при доступе к данным.

Макс. размер 128 МБ, в месяц

Макс. размер 256 МБ, в месяц

Макс. размер 512 МБ, в месяц

Макс. размер 1 ГБ, в месяц

Макс. размер 2 ГБ, в месяц

Макс. размер 4 ГБ, в месяц

45,00 долл. США

55,00 долл. США

75,00 долл. США

110,00 долл. США

180,00 долл. США

325,00 долл. США

Обмен промежуточными сообщениями с помощью шины обслуживания

Безопасные очереди сообщений для распределения данных или создания подписок на данные.

Все виды использования (с 10 декабря 2011 г. по 31 марта 2012 г.)

Отправка и получение (с 31 марта 2012 г. по настоящее время), за 10 000 сообщений, где одно сообщение меньше или равно 64 Кб.

Передача данных (с 31 марта 2012 г. по настоящее время).

Бесплатно

0,01 долл. США

См. раздел «Передача данных и пропускная способность»

Ретрансляция сообщений с помощью шины обслуживания при взаимодействии с хранилищем Azure Storage

Безопасные ретрансляторы сообщений для соединения приложений и служб в облачной или локальной среде.

Все виды использования (с 10 декабря 2011 г. по 31 марта 2012 г.)

Ретрансляция (с 31 марта 2012 г. по настоящее время), за 100 часов.

Отправка и получение (с 31 марта 2012 г. по настоящее время), за 10 000 сообщений. Одно сообщение меньше или равно 64 Кб.

Передача данных (с 31 марта 2012 г. по настоящее время).

Бесплатно

0,10 долл. США

0,01 долл. США

См. раздел «Передача данных и пропускная способность» ниже

Сеть кэширующих серверов (Content Delivery Network, CDN)

Кэширует данные в географических центрах с целью повышения производительности службы для пользователей.

Зона № 1 — Европа и Северная Америка (за гигабайт).

Зона № 2 — Азия, Латинская Америка, Ближний Восток, Африка (за гигабайт).

Транзакции (за 10 000 транзакций).

Передача данных от массива BLOB-объектов или базовой службы к службе CDN

0,12 долл. США

0,19 долл. США

0,01 долл. США

См. раздел «Передача данных и пропускная способность» ниже

Вторичные службы и затраты

Счетчик

Стоимость

Входящий

Бесплатно

Исходящий трафик в Северной Америке и Европе (за гигабайт)

0,12 долл. США

Исходящий трафик в Азиатско-Тихоокеанском регионе (за гигабайт)

0,19 долл. США

Исходящий трафик в том же подрегионе

Бесплатно

Равномерное распределение затрат для вычисления истинной стоимости запуска приложения

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

В следующих таблицах приведены данные на основании опубликованных затрат. Эти данные отражают почасовое распределение стоимости использования согласно счетчику системы тарификации.

Обслуживание

Примечания

Счетчик

Стоимость

Вычислительные ресурсы

Наименьшей единицей измерения использования вычислительных ресурсов является час. Если ресурсы использовались в течение меньшего времени, будет выставлен счет за один час.

Сверхмалая длительность

Малая длительность

Средняя длительность

Большая длительность

Сверхбольшая длительность

0,04 долл. США

0,12 долл. США

0,24 долл. США

0,48 долл. США

0,96 долл. США

База данных SQL Windows Azure

Размер платы, взимаемой за использование базы данных, увеличивается ежедневно на сумму оплаты пиковой нагрузки. Использование базы данных в течение нескольких часов отдельно взятого дня тарифицируется по ставке пиковой нагрузки на базу данных в течение всего дня.

Web Edition: за 1 ГБ в час (до 5 ГБ).

Business Edition: за 10 ГБ в час (до 150 ГБ).

9,99 долл. США / количество дней в цикле выставления счетов / 24 минимальные дневные ставки (9,99 долл. США) / количество дней в цикле выставления счетов.

99,99 долл. США / количество дней в цикле выставления счетов / 24 минимальные дневные ставки (99,99 долл. США) / количество дней в цикле выставления счетов.

Кэширование

Размер взимаемой платы увеличивается ежедневно на сумму оплаты максимального объема выбранной кэш-памяти. Использование в течение нескольких часов отдельно взятого дня тарифицируется по ставке пиковой нагрузки в течение всего дня.

Макс. размер 128 МБ, в месяц

Макс. размер 256 МБ, в месяц

Макс. размер 512 МБ, в месяц

Макс. размер 1 ГБ, в месяц

Макс. размер 2 ГБ, в месяц

Макс. размер 4 ГБ, в месяц

45,00 долл. США / количество дней в цикле выставления счетов / 24 минимальные дневные ставки (45,00 долл. США) / количество дней в цикле выставления счетов.

55,00 долл. США / количество дней в цикле выставления счетов / 24 минимальные дневные ставки (55,00 долл. США) / количество дней в цикле выставления счетов.

75,00 долл. США / количество дней в цикле выставления счетов / 24 минимальные дневные ставки (75,00 долл. США) / количество дней в цикле выставления счетов.

110,00 долл. США / количество дней в цикле выставления счетов / 24 минимальные дневные ставки (110,00 долл. США) / количество дней в цикле выставления счетов.

180,00 долл. США / количество дней в цикле выставления счетов / 24 минимальные дневные ставки (180,00 долл. США) / количество дней в цикле выставления счетов.

325,00 долл. США / количество дней в цикле выставления счетов / 24 минимальные дневные ставки (325,00 долл. США) / количество дней в цикле выставления счетов.

Шина обслуживания, ретрансляция сообщений и обмен промежуточными сообщениями

После окончания периода пробного использования взимается минимальная месячная оплата за 100 часов, даже если фактически использован один час.

Все виды использования (с 10 декабря 2011 г. по 31 марта 2012 г.).

Ретрансляция (с 31 марта 2012 г. по настоящее время), за 1 час.

Бесплатно

Минимальная плата 0,001 долл. США за 100 часов

Специальные предложения, позволяющие снизить затраты

Специальные предложения позволяют эффективно сокращать стоимость использования различных служб Windows Azure. Ниже приведены специальные предложения, доступные в настоящее время подписчикам MSDN, партнерам Microsoft и сообществу Start-up Community (BizSpark). Эти скидки также можно получить, воспользовавшись пробными версиями или предложениями доступа по фиксированной цене.

Подписчики MSDN

Текущее предложение для подписчиков MSDN обеспечивает выгоду, стоимостное выражение которой составляет 3700 долл. США, а количественные характеристики приведены в таблице ниже.

Обслуживание

Счетчик

Стоимость

Вычислительные ресурсы

375 часов использования малого экземпляра вычислительных ресурсов с поддержкой Visual Studio Professional.

750 часов использования малого экземпляра вычислительных ресурсов с поддержкой Visual Studio Premium.

1500 часов использования малого экземпляра вычислительных ресурсов с поддержкой Visual Studio Ultimate.

Бесплатно

Бесплатно

Бесплатно

Хранилище Windows Azure

20 ГБ хранилища данных с поддержкой Visual Studio Professional.

250 тыс. транзакций хранилища данных с поддержкой Visual Studio Professional.

25 ГБ хранилища данных с поддержкой Visual Studio Premium.

1 млн транзакций хранилища с поддержкой Visual Studio Premium.

30 ГБ хранилища с поддержкой Visual Studio Ultimate.

2 млн транзакций хранилища с поддержкой Visual Studio Ultimate.

Бесплатно

Бесплатно

Бесплатно

Бесплатно

Бесплатно

Бесплатно

База данных SQL Windows Azure

1 ГБ с поддержкой Visual Studio Professional.

1 ГБ с поддержкой Visual Studio Premium.

5 ГБ с поддержкой Visual Studio Ultimate.

Бесплатно

Бесплатно

Бесплатно

Кэширование

Размер кэша — 128 МБ с поддержкой Visual Studio Professional.

Размер кэша — 128 МБ с поддержкой Visual Studio Premium.

Размер кэша — 128 МБ с поддержкой Visual Studio Ultimate.

Бесплатно

Бесплатно

Бесплатно

Участники партнерской сети Microsoft Partner Network

Участники партнерской сети Microsoft Partner Network имеют доступ к пакету Cloud Essentials Pack, что дает следующие преимущества.

Обслуживание

Счетчик

Стоимость

Вычислительные ресурсы

375 часов использования малого экземпляра вычислительных ресурсов с поддержкой Visual Studio Professional

Бесплатно

Хранилище Windows Azure

20 ГБ хранилища

250 тыс. транзакций хранилища

Бесплатно

Бесплатно

База данных SQL Windows Azure

1 ГБ

Бесплатно

Кэширование

Размер кэша — 128 МБ

Бесплатно

Передача данных и пропускная способность

25 ГБ исходящего трафика

Бесплатно

Участники BizSpark

В настоящее время Участники BizSpark пользуются теми же преимуществами, что и подписчики MSDN с лицензией Visual Studio Ultimate и подпиской MSDN.

Обслуживание

Счетчик

Стоимость

Вычислительные ресурсы

1500 часов использования малого экземпляра вычислительных ресурсов.

Бесплатно

Хранилище Windows Azure

30 ГБ хранилища.

2 млн транзакций хранилища.

Бесплатно

Бесплатно

База данных SQL Windows Azure

5 ГБ

Бесплатно

Кэширование

Размер кэша — 128 МБ

Бесплатно

Передача данных и пропускная способность

35 ГБ исходящего трафика

Бесплатно

Три месяца пробного использования

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

Обслуживание

Счетчик

Стоимость

Вычислительные ресурсы

750 часов использования малого экземпляра вычислительных ресурсов

Бесплатно

Хранилище Windows Azure

20 ГБ хранилища

50 тыс. транзакций хранилища

Бесплатно

Бесплатно

База данных SQL Windows Azure

1 ГБ

Бесплатно

Кэширование

Размер кэша — 128 МБ

Бесплатно

Передача данных и пропускная способность

20 ГБ исходящего трафика

Бесплатно

Шестимесячные пакеты услуг

Шестимесячные пакеты услуг можно приобретать несколько раз, что позволяет клиентам обеспечивать необходимый запас вычислительных мощностей по ценам ниже розничных. Цена со скидкой указана в столбце «Стоимость» следующей таблицы.

Обслуживание

Примечания

Счетчик

Стоимость

Вычислительные ресурсы

Этот тариф действует при покупке шестимесячного плана (Windows Azure).

750 часов использования малого экземпляра вычислительных ресурсов

71,99 долл. США

База данных SQL Windows Azure

Этот тариф действует при покупке шестимесячного плана (SQL Windows Azure).

10 ГБ места на диске для базы данных

79,99 долл. США

Хранилище Windows Azure

Этот тариф действует при покупке шестимесячного плана (хранилище).

1–50 ТБ в месяц

51–500 ТБ в месяц

501–1000 ТБ в месяц

1001–5000 ТБ в месяц

128,00 долл. США

114,96 долл. США

105,47 долл. США

87,04 долл. США

Корпоративные соглашения

Корпоративное соглашение позволяет получить скидку в размере 20 % на все используемые службы Windows Azure. Согласно этой схеме вы приобретаете право на потребление ресурсов заранее, обычно резервируя по 100 долл. США. Необходимо внести авансовый платеж в размере 10 000 долл. США, после чего можно использовать меньшие доли этой суммы для оплаты услуг. Для подписания корпоративного соглашения необходимо связаться с отделом Microsoft Volume Licensing, контактная информация которого размещена здесь.

Создание алгоритма оценки затрат и использования ресурсов

Определив затраты на основе использования ресурсов, необходимо оценить объем потребляемых ресурсов, таких как:

  • фиксированное или вариативное (эластичное) потребление ресурсов;
  • структура потребления (выделение фиксированных и вариативных частей).

Не имея действующей системы сбора необходимых показателей, клиент обычно не может ответить на вопросы.

  • Какое количество транзакций хранилища система выполняет ежемесячно?
  • Какое количество сообщений ежемесячно отправляется с помощью шины обслуживания?
  • Каков размер вычислительного экземпляра и сколько требуется экземпляров каждого типа?
  • Какой размер кэша потребуется?

Разработка сценариев использования

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

  • новые пользователи;
  • независимые поставщики программных продуктов (ISV);
  • крупные предприятия.

Для каждого из них существует несколько оптимальных сценариев, например:

  • одноуровневый веб-сайт;
  • двухуровневый веб-сайт;
  • N-уровневый веб-сайт;
  • простая база данных;
  • высокомасштабируемая федеративная база данных;
  • гибридное решение;
  • веб-служба на основе технологии «программное обеспечение как услуга» (SaaS).

Эти сценарии позволяют приблизительно оценить показатели нагрузки, такие как количество посетителей, пользователей или клиентов. Например, 25 одновременно работающих пользователей или 10 000 одновременно работающих пользователей.

Рассмотрев эти варианты, мы можем предварительно оценить использование ресурсов платформы Windows Azure на основании показаний счетчиков, применяемых в целях тарификации. Например, если результаты исследования покажут, что стандартный малый экземпляр способен поддерживать работу десяти одновременных пользователей, и клиент выбирает одноуровневый веб-сайт для 25 одновременных пользователей, то система предложит использовать три малых экземпляра ежемесячно.

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

Поддержка эластичности в модели оценки использования

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

  • количество экземпляров, масштабируемых в течение дня или несколько раз в месяц;
  • изменение максимального размера базы данных SQL Windows Azure или кэша в течение месяца;
  • обработка пиковой нагрузки на шину обслуживания при увеличении числа клиентов ретранслятора.

Подобную эластичность можно вводить в вычислительную часть моделей в качестве отдельного фактора, увеличивая или уменьшая количество экземпляров роли. Чтобы выполнить это вручную, см. How to Scale Applications by Increasing or Decreasing the Number of Role Instances (Масштабирование приложений путем увеличения или уменьшения количества экземпляров ролей). Автоматизированный подход к масштабированию изложен в разделе Windows Azure Autoscaling Block (Блок автоматического масштабирования Windows Azure).

Расширяемость модели

Любой подход к количественной оценке стоимости услуг должен отражать неизвестные величины, которые могут возникнуть в будущем. Например, изменение специальных предложений и добавление новых услуг к портфелю Windows Azure. Определение ценообразования Windows Azure в терминах «счетчик» и «стоимость» позволяет создать универсальную структуру, пригодную для описания перспективных услуг.

Алгоритм приблизительной оценки

Для оценки затрат на использование платформы Windows Azure можно воспользоваться следующим алгоритмом.

  1. Оцените нагрузку на одну службу.
  2. Примените оценку использования в соответствии с выбранным сценарием для выделения объемов потребления ресурсов по счетчику или непосредственно укажите количественное значение, которое должно фиксироваться счетчиком. В дополнение к этому можно изменить степень загрузки, исходя из эластичности потребностей (например, по часовой шкале).
  3. Примените действующие скидки, которые предусматриваются корпоративными соглашениями, специальными предложениями или предоплаченными тарифными планами.
  4. Повторите эту процедуру для каждой службы.
  5. Просуммируйте результаты умножения «счетчик х стоимость» для всех служб:
    • приведите часы использования к дням, при необходимости учитывая минимальные дневные тарифы;
    • приведите дни к эталонному периоду (месяц длиной 30 дней или 720 часов).

Мы надеемся, что в течение нескольких месяцев нам удастся создать веб-систему интерактивного моделирования затрат на основе этого общего алгоритма и данных эталонных сценариев. Клиенты Windows Azure получат возможность расчета затрат с помощью универсальных и простых моделей.

Заключение

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