Поделиться через


План управления затратами для Azure Batch

В этой статье описывается, как планировать и управлять затратами для службы пакетной обработки Azure. Перед развертыванием службы можно использовать калькулятор цен Azure для оценки затрат на Azure Batch. Позже при развертывании ресурсов Azure просмотрите предполагаемые затраты.

После того как вы начнете выполнять задания, используйте функции управления затратами, чтобы задать бюджеты и отслеживать затраты. Вы также можете просмотреть прогнозируемые затраты и определить тенденции расходов, чтобы определить области, в которых может потребоваться действовать. Затраты на пакетная служба Azure являются лишь частью ежемесячных расходов в счете Azure. Хотя в этой статье объясняется, как планировать затраты на Azure Batch и управлять ими, вы оплачиваете все службы и ресурсы Azure, используемые в подписке Azure, включая сторонние службы.

Предварительные условия

Анализ затрат в службе управления затратами поддерживает большинство типов учетных записей Azure, но не все. Полный список поддерживаемых типов учетных записей см. в статье Understand Cost Management data (Интерпретация данных службы "Управление затратами"). Чтобы просмотреть данные о затратах, для учетной записи Azure нужен как минимум доступ на чтение. Сведения о назначении доступа к данным Microsoft Cost Management см. в разделе "Назначение доступа к данным".

Оценка затрат перед использованием Azure Batch

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

  1. На вкладке Продукты перейдите в раздел Вычисления или найдите Batch в строке поиска. На плитке Batch нажмите Добавить к оценке и прокрутите вниз до раздела ваша оценка.

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

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

    Обратите внимание, что общая оценка изменяется при выборе различных параметров. Оценка отображается в верхнем и нижнем углах раздела "Оценка".

    Снимок экрана: раздел

    Дополнительные сведения о затратах на запуск виртуальных машин см. в плане управления затратами на виртуальные машины.

Изучите полную модель выставления счетов для Azure Batch

Azure Batch работает на инфраструктуре Azure, которая вызывает расходы при развертывании новых ресурсов. Важно понимать, что могут взиматься и другие дополнительные затраты на инфраструктуру.

Как осуществляется взимание платы за Azure Batch

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

Затраты, которые могут возникнуть при использовании Azure Batch.

Хотя Batch сам по себе является бесплатной службой, многие из ресурсов, которые поддерживают ваши рабочие нагрузки, не являются бесплатными. Например:

  • Виртуальные машины
  • Хранилище
    • При развертывании приложений на виртуальных машинах пакетного узла с помощью пакетов приложений вам выставляется счет за ресурсы Azure Storage, которые используют эти пакеты приложений. Кроме того, взимается плата за хранение всех файлов с входными или выходными данными, например файлов ресурсов и данных журналов.
    • Как правило, стоимость хранения данных, связанных с пакетной обработкой, значительно ниже, чем стоимость вычислительных ресурсов.
  • В некоторых случаях балансировщик нагрузки
  • Сетевые ресурсы
    • Для пулов конфигурации виртуальных машин используются стандартные подсистемы балансировки нагрузки, для которых требуются статические IP-адреса. Подсистемы балансировки нагрузки, используемые пакетной службой, видимы для учетных записей, настроенных в режиме пользовательской подписки, но не в режиме пакетной службы.
    • Плата за стандартные балансировщики нагрузки взимается за все данные, передаваемые в виртуальные машины пула Batch и из них. API пакетной службы, которые извлекают данные из узлов пула (например, получение файла задачи или файла узла), пакеты приложений задач, файлы ресурсов и выходные файлы, а также образы контейнеров, облагаются платой.
    • Виртуальная сеть
  • В зависимости от того, какие службы вы используете, ваше решение Batch может подразумевать дополнительные расходы. Службы, которые обычно используются с Batch и могут иметь связанные затраты, включают:
    • Application Insights
    • Фабрика данных
    • Azure Monitor

Затраты могут начисляться после удаления ресурсов.

После удаления ресурсов Azure Batch следующие ресурсы могут продолжать существовать. Затраты продолжают начисляться, пока вы их не удалите.

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

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

Пропускная способность взимается по использованию; чем больше передаваемых данных, тем больше взимается плата.

Использование авансовой оплаты Azure с пакетной службой Azure

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

Просмотр анализа затрат и создание бюджетов

При использовании ресурсов Azure с Azure Batch вы несете расходы. Затраты на единицу использования ресурсов Azure зависят от интервалов времени (в секундах, минутах, часах и днях) или по единицам использования (байтам, мегабайтам и т. д.). Как только начнется использование ресурсов Azure, затраты будут взиматься, и вы можете увидеть затраты на анализ затрат. Управление затратами Майкрософт позволяет планировать, анализировать и уменьшать расходы, чтобы максимально увеличить объем инвестиций в облако. Вы можете просматривать и фильтровать затраты на пакеты, прогнозировать будущие затраты и устанавливать лимиты расходов с оповещениями при достижении этих лимитов.

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

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

Снимок экрана, показывающий анализ затрат в портале Azure для всех учетных записей Batch в подписке.

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

Просмотр анализа затрат для пула задач

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

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

  1. На портале Azure перейдите к разделу Управление затратами + выставление счетов или введите название этого раздела в строке поиска.
  2. Выберите свою подписку в разделе Области выставления счетов.
  3. В Управление затратами выберите Анализ затрат.
  4. Выберите Добавить фильтр. В первом раскрывающемся списке выберите Ресурс.
  5. Во втором раскрывающемся списке выберите Batch pool. При выборе пула вы увидите анализ затрат на использование вашего пула. На следующем снимке экрана показан пример данных. Снимок экрана: анализ затрат пакетного пула в портале Azure.

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

Примечание.

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

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

Режим распределения пула пользовательских подписок

Для пакетных учетных записей, созданных в режиме "Пул пользовательских подписок":

  1. На портале Azure перейдите к разделу Управление затратами + выставление счетов или введите название этого раздела в строке поиска.
  2. Выберите свою подписку в разделе Области выставления счетов.
  3. В Управление затратами выберите Анализ затрат.
  4. Выберите Добавить фильтр. В первом раскрывающемся списке выберите Тег.
  5. Во втором раскрывающемся списке выберите poolname.
  6. В третьем раскрывающемся списке выберите пул Batch. При выборе пула вы увидите анализ затрат для вашего пула. На следующем снимке экрана показан пример данных. Снимок экрана с анализом затрат пула пакетной обработки подписки пользователя в портале Azure.

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

Примечание.

Пулы, созданные учетными записями пакетной службы пользователей, не отображаются в фильтре ресурсов , хотя их использование по-прежнему отображается при фильтрации для "виртуальных машин" под именем службы.

Создайте бюджет для пула Batch

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

  1. На странице Анализ затрат выберите Budget: none (Бюджет: нет).
  2. Выберите Create new budget (Создать бюджет) >.
  3. В открывшимся окне настройте параметры бюджета для своего пула. Дополнительные сведения см. в статье Руководство по созданию бюджетов Azure и управлении ими.

Минимизируйте затраты, связанные с Azure Batch

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

Уменьшить использование узлов пула

Наибольшие затраты, связанные с использованием Batch, обычно относятся к виртуальным машинам, предназначенным для узлов пула. Для пулов конфигурации виртуальных машин связанные управляемые диски, используемые для дисков ОС виртуальных машин, также могут значительно увеличивать затраты.

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

Помимо пользовательского мониторинга метрики пакетной обработки могут помочь определить узлы, которые выделены, но находятся в простое. Вы можете выбрать метрику для просмотра большинства состояний узлов пула через метрики мониторинга Batch на портале Azure. Например, можно просмотреть "Число простаивающих узлов" и "Число работающих узлов", чтобы дать представление о том, насколько эффективно используются узлы пула.

Убедитесь, что узлы пула могут выполнять задачи

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

Использование правильного размера виртуальной машины узла пула

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

Чтобы определить использование виртуальных машин, можно войти на узел при выполнении задач для просмотра данных о производительности или использовать возможности мониторинга, такие как Application Insights, для получения данных о производительности с узлов пула.

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

Для пула можно указать несколько слотов задач, чтобы соответствующее количество задач выполнялось параллельно на каждом узле. Слоты задач пула можно использовать для уменьшения количества узлов, используемых в пуле, путем выбора больших размеров виртуальных машин и параллельного запуска нескольких задач на узле, чтобы обеспечить эффективное использование узла. Если узлы недостаточно загружены, можно использовать слоты для увеличения загрузки. Например, для однопоточного приложения задач можно настроить один слот на ядро. Кроме того, можно иметь больше слотов, чем ядер. Это применимо, если приложение значительно блокирует ожидание возврата вызовов внешних служб, например.

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

Используйте точечные виртуальные машины Azure

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

Используйте временные ОС-диски

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

Покупка резервирований для экземпляров виртуальных машин

Если вы планируете использовать Batch в течение длительного периода времени, расходы на виртуальные машины можно уменьшить, используя для рабочих нагрузок Azure Reservations. Тарифы резервирования значительно ниже, чем тарифы при оплате по мере использования. Экземпляры виртуальных машин, используемые без резервирования, оплачиваются по тарифу 'оплата по факту использования'. При покупке бронирования применяется скидка на него. При заключении договора на срок один или три года для экземпляров виртуальных машин значительные скидки применяются к использованию этих машин, включая виртуальные машины, используемые в пулах пакетной обработки.

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

Использование автоматического масштабирования

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

Следующие шаги