Бөлісу құралы:


Функции Azure размещение плана потребления Flex

Flex Consumption — это план размещения на основе Linux Функции Azure, который основывается на оплате потребления за то, что используется бессерверная модель выставления счетов. Это обеспечивает большую гибкость и возможность настройки, введя частные сети, выбор размера памяти экземпляра и функции быстрого и масштабируемого масштабирования по-прежнему на основе бессерверной модели.

Внимание

План потребления Flex в настоящее время находится в предварительной версии. Список текущих ограничений при использовании этого плана размещения см. в разделе "Рекомендации". Текущие сведения о выставлении счетов во время предварительной версии см. в разделе "Выставление счетов".

Вы можете просмотреть комплексные примеры, которые имеют план потребления Flex в репозитории примеров плана потребления Flex.

Льготы

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

Эта таблица позволяет напрямую сравнить функции Flex Consumption с планом размещения потребления:

Функция Потребление Использование Flex
Масштабирование до нуля ✅ Да ✅ Да
Поведение масштабирования На основе событий Управляемое событиями (быстрое)
Виртуальные сети ❌ Не поддерживается. ✅ Поддержанный
Выделенные вычислительные ресурсы (устранение холодных запусков) ❌ Никакой ✅ Всегда готовые экземпляры (необязательно)
Выставление счетов Только время выполнения Выполнение и всегда готовые экземпляры
Экземпляры горизонтального масштабирования (максимум) 200 1000

Полное сравнение плана потребления Flex с планом потребления и всеми другими типами планов и размещения см . в параметрах масштабирования и размещения функций.

Интеграция виртуальной сети

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

Память экземпляра

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

В настоящее время Flex Consumption предлагает параметры размера памяти экземпляра как 2048 МБ, так и 4096 МБ.

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

  • Размер памяти экземпляра размером 2048 МБ — это значение по умолчанию и должно использоваться для большинства сценариев. Используйте размер памяти экземпляра 4096 МБ для сценариев, в которых приложению требуется больше параллелизма или более высокой мощности обработки. Дополнительные сведения см. в разделе "Настройка памяти экземпляра".
  • Размер памяти экземпляра можно изменить в любое время. Дополнительные сведения см. в разделе "Настройка памяти экземпляра".
  • Ресурсы экземпляров совместно используются между кодом функции и узлом функций.
  • Чем больше размер памяти экземпляра, тем больше каждый экземпляр может обрабатывать как одновременные выполнения, так и более интенсивные рабочие нагрузки ЦП или памяти. Конкретные решения масштабирования зависят от рабочей нагрузки.
  • Параллелизм триггеров HTTP по умолчанию зависит от размера памяти экземпляра. Дополнительные сведения см. в разделе параллелизм триггера HTTP.
  • Доступные ЦП и пропускная способность сети предоставляются пропорционально определенному размеру экземпляра.

Постоянно готовые экземпляры

Flex Consumption включает всегда готовую функцию, которая позволяет выбирать экземпляры, которые всегда выполняются и назначаются каждой из групп масштабирования функций или функций. Это отличный вариант для сценариев, в которых необходимо иметь минимальное количество экземпляров, всегда готовых к обработке запросов, например для уменьшения задержки холодного запуска приложения. Значение по умолчанию — 0 (ноль).

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

Сведения о настройке всегда готовых экземпляров см. в разделе Set always ready instance counts.

Масштабирование для каждой функции

Параллелизм является ключевым фактором, определяющим масштабирование приложений функций Flex Consumption. Чтобы повысить производительность приложений с различными типами триггеров, план потребления Flex предоставляет более детерминированный способ масштабирования приложения на основе каждой функции.

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

В масштабировании каждой функции, HTTP, BLOB-объект (сетка событий) и устойчивые триггеры являются особыми случаями. Все функции, активируемые HTTP в приложении, группируются и масштабируются вместе в одном экземпляре, а все устойчивые триггерные функции (оркестрация, действие или триггеры сущностей) группируются и масштабируются вместе в одном экземпляре. Все остальные функции в приложении масштабируются по отдельности.

Параллелизм

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

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

Развертывание

Развертывания в плане потребления Flex соответствуют одному пути. После построения и вставки кода проекта в пакет приложения он развертывается в контейнере хранилища BLOB-объектов. После запуска приложение получит пакет и запустится из него. По умолчанию та же учетная запись хранения, используемая для хранения метаданных внутреннего узла (AzureWebJobsStorage), также используется в качестве контейнера развертывания. Однако можно использовать альтернативную учетную запись хранения или выбрать предпочтительный метод проверки подлинности, настроив параметры развертывания приложения. При упрощении пути развертывания больше не требуется использовать параметры приложения для влияния на поведение развертывания.

Выставление счетов

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

Режим выставления счетов Description
По запросу При выполнении в режиме спроса плата взимается только за время выполнения кода функции на доступных экземплярах. В режиме спроса не требуется минимальное количество экземпляров. Счета выставляются за:

• Общий объем памяти, подготовленной в то время как каждый экземпляр по запросу активно выполняет функции (в ГБ-секундах), минус бесплатный грант ГБ в месяц.
• Общее количество выполнений, минус бесплатное предоставление (число) выполнений в месяц.
Всегда готов Можно настроить один или несколько экземпляров, назначенных определенным типам триггеров (HTTP/Durable/Blob) и отдельным функциям, которые всегда доступны для обработки запросов. Если у вас есть все готовые экземпляры, вам выставляются счета за:

• Общий объем памяти, подготовленной во всех всегда готовых экземплярах, известных как базовый (в ГБ-секундах).
• Общий объем памяти, подготовленной в течение каждого всегда готового экземпляра , активно выполняет функции (в ГБ-секундах).
• Общее количество выполнений.

В всегда готовых выставления счетов нет бесплатных грантов.

Минимальный оплачиваемый период выполнения для обоих режимов выполнения составляет 1000 мс. После этого оплачиваемый период действия округляется до ближайшего 100 мс. Подробные сведения о счетчиках выставления счетов по плану потребления Flex см. в справочнике по мониторингу.

Дополнительные сведения о том, как вычисляются затраты при выполнении в плане потребления Flex, включая примеры, см. в разделе "Затраты на основе потребления".

Актуальные сведения о ценах на выполнение, всегда готовых базовых затрат и бесплатных грантах по запросу см. на странице Функции Azure цен.

Поддерживаемые версии стека языков

В этой таблице показаны версии стека языков, поддерживаемые в настоящее время для приложений Flex Consumption:

Языковой стек Требуемая версия
C# (изолированный режим процесса)1 .NET 82
Java Java 11, Java 17
Node.js Узел 20
PowerShell PowerShell 7.4
Python Python 3.10, Python 3.11

1Режим обработки C# не поддерживается. Вместо этого необходимо перенести проект кода .NET для запуска в изолированной рабочей модели.
2Требуется версия или более поздняя версия 1.20.0 Microsoft.Azure.Functions.Worker и более поздней версии 1.16.2 Microsoft.Azure.Functions.Worker.Sdk.

Квоты памяти региональной подписки

В настоящее время каждый регион в данной подписке имеет ограничение 512,000 MB памяти для всех экземпляров приложений, работающих в планах потребления Flex в этом регионе. Это означает, что в заданной подписке и регионе можно использовать любое из следующих сочетаний максимальных размеров экземпляров и счетчиков, все из которых достигают текущего 512,000 MB предела. Например:

Размер памяти экземпляра (МБ) Максимальное количество экземпляров (на регион)
2048 MB 250
4096 MB 125

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

Устаревшие свойства и параметры

В Flex Consumption многие стандартные параметры приложения и свойства конфигурации сайта, используемые в Bicep, шаблонах ARM и общей плоскости управления, устарели или перемещены и не должны использоваться при автоматизации создания ресурсов приложения-функции. Дополнительные сведения см. в разделе о прекращении использования плана потребления Flex.

Рекомендации

При использовании плана потребления Flex во время текущей предварительной версии следует учитывать следующие рекомендации.

  • Триггеры: все триггеры полностью поддерживаются, кроме триггеров Kafka, SQL Azure и SignalR. Триггер хранилища BLOB-объектов поддерживает только источник сетки событий. Приложения-функции, отличные от C#, должны использовать версию [4.0.0, 5.0.0) пакета расширений или более позднюю версию.
  • Регионы: сейчас поддерживаются не все регионы. Дополнительные сведения см. в разделе "Просмотр поддерживаемых в настоящее время регионов".
  • Развертывания. В настоящее время эти функции, связанные с развертыванием, не поддерживаются:
    • Слоты развертывания
    • Непрерывное развертывание с помощью задач Azure DevOps (AzureFunctionApp@2)
    • Непрерывное развертывание с помощью GitHub Actions (functions-action@v1)
  • Масштаб: самый низкий максимальный масштаб в предварительной версии 40. Самое высокое поддерживаемое в настоящее время значение 1000.
  • Авторизация: EasyAuth в настоящее время не поддерживается. Вызывающие абоненты без проверки подлинности в настоящее время не блокируются, если EasyAuth включен в приложении плана потребления Flex.
  • CORS: параметры CORS в настоящее время не поддерживаются. Исключения могут возникать, если CORS настроен для приложений Flex Consumption.

параметры размещения Функции AzureСоздание приложений-функций и управление ими в плане потребления Flex