Выставление счетов за Устойчивые функции
Счета за Устойчивые функции выставляются так же, как и за Функции Azure. Дополнительные сведения см. на странице цен на Функции Azure.
При выполнении функций оркестратора в рамках плана потребления Функций Azure необходимо знать некоторые особенности при выставлении счетов. В следующих разделах эти характеристики и их влияние описаны более подробно.
Выставление счетов за повторение функции оркестратора
Функции оркестратора могут повторяться несколько раз в течение всего времени действия оркестрации. Каждое повторение рассматривается средой выполнения функций Azure как отдельный вызов функции. По этой причине в плане потребления Функций Azure вам будет выставлен счет за каждое воспроизведение функции оркестратора. В других типах планов плата за повторение функции оркестратора не взимается.
Ожидание и возврат в функциях оркестратора
Когда функция оркестратора ожидает завершения асинхронной задачи, среда выполнения считает, что вызов конкретной функции завершен. Выставление счетов за функцию оркестратора останавливается в этот момент. Оно не возобновляется до следующего воспроизведения функции оркестратора. Вы не оплачиваете время, потраченное на ожидание или возврат в функции оркестратора.
Примечание
Функции, вызывающие другие функции, считаются бессерверным антишаблоном. Это связано с проблемой, известной как двойная оплата. Если функция напрямую вызывает другую функцию, обе операции выполняются одновременно. Вызываемая функция активно выполняет код, пока вызывающая функция ожидает ответа. В этом случае необходимо оплатить время, которое вызывающая функция тратит на ожидание выполнения вызываемой функции.
В функциях оркестратора не существует двойного выставления счетов. Функция оркестратора прекращается, пока ожидается результат действия функции (или подсистемы).
Устойчивый опрос HTTP
Функции оркестратора поддерживают долго выполняющиеся HTTP-вызовы к внешним конечным точкам, как описано в статье о функциях HTTP. Интерфейсы API вызова HTTP могут внутри опрашивать конечную точку HTTP в соответствии с асинхронной схемой 202.
В настоящее время прямое выставление счетов для внутренних операций опроса HTTP не проводится. Однако внутренний опрос может привести к периодическому воспроизведению функции оркестратора. Вам будут выставлены стандартные счета за эти внутренние воспроизведения функций.
Транзакции со службой хранилища Azure
Устойчивые функции используют службу хранилища Azure по умолчанию для сохранения состояния, обработки сообщений и управления разделами через аренду BLOB-объектов. Эта учетная запись хранения принадлежит вам, поэтому счета за транзакции выставляются для подписки Azure. Дополнительные сведения об артефактах службы хранилища Azure, используемых Устойчивыми функциями, см. в статье о центрах задач.
На реальные затраты на хранилище Azure, вызванные приложением "Устойчивые функции", влияют несколько факторов.
- Одно приложение-функция связано с одним центром задач, который использует набор ресурсов службы хранилища Azure. Эти ресурсы используются всеми Устойчивыми функциями в приложении-функции. Фактическое число функций в приложении-функции не влияет на затраты на транзакции в службе хранилища Azure.
- Каждый экземпляр приложения-функции внутренне опрашивает несколько очередей в учетной записи хранения с использованием алгоритма экспоненциальной задержки. Бездействующее приложение опрашивает очереди реже, чем активное приложение, что приводит к снижению транзакционных издержек. Подробнее об поведении Устойчивых функций при опросе очередей в случае использования поставщика службы хранилища Azure см. в разделе об опросе очередей документации поставщика службы хранилища Azure.
- Во время работы в планах "Потребление" или "Премиум" Функций Azure контроллер масштабирования Функций Azure регулярно опрашивает все очереди центра задач в фоновом режиме. В случае понижения масштаба до умеренного уровня только один экземпляр контроллера масштабирования будет опрашивать эти очереди. Если приложение-функция масштабируется до большого количества экземпляров, могут быть добавлены дополнительные экземпляры контроллера масштабирования. Эти дополнительные экземпляры контроллера масштабирования могут увеличить общую стоимость транзакций очереди.
- Каждый экземпляр приложения-функции конкурирует за набор аренд BLOB-объектов. Эти экземпляры будут периодически вызывать службу BLOB-объектов Azure, чтобы обновить удерживаемые аренды или получить новые аренды. Количество аренд BLOB-объектов определяется в соответствии с количеством разделов, настроенных в центре задач. Масштабирование приложения-функции до большего количества экземпляров, скорее всего, увеличит затраты на транзакции хранилища Azure, связанные с этими операциями аренды.
Дополнительные сведения о ценах на службу хранилища Azure см. в документации по ценам на службу хранилища Azure.