Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Flex Consumption — это план размещения на основе Linux Функции Azure, который основывается на оплате потребления за то, что используется бессерверная модель выставления счетов. Это обеспечивает большую гибкость и возможность настройки, введя частные сети, выбор размера памяти экземпляра и функции быстрого и масштабируемого масштабирования по-прежнему на основе бессерверной модели.
Вы можете просмотреть сквозные примеры, включающие план Flex Consumption в репозитории примеров плана Flex Consumption.
Льготы
План потребления Flex основан на преимуществах плана потребления, включая динамическое масштабирование и выставление счетов на основе выполнения. При использовании Flex Consumption вы также получите следующие дополнительные функции:
- Экземпляры в постоянной готовности
- Интеграция с виртуальной сетью
- Быстрое масштабирование на основе одновременных процессов для HTTP и не связанных с HTTP приложений.
- Несколько вариантов размера памяти экземпляра
Эта таблица помогает вам напрямую сравнить особенности Flex Consumption с тарифным планом Consumption.
Функция | Потребление | Потребление Flex |
---|---|---|
Сведение к нулю | ✅ Да | ✅ Да |
Поведение масштабирования | Событийно-ориентированный | Событийно-ориентированный (быстрый) |
Виртуальные сети | ❌ Не поддерживается. | ✅ Поддержанный |
Выделенные вычислительные мощности (уменьшение холодных запусков) | ❌ Никакой | ✅ Всегда готовые экземпляры (необязательно) |
Выставление счетов | Только во время выполнения | Время выполнения и всегда готовые экземпляры |
Экземпляры горизонтального масштабирования (максимум) | 200 | 1000 |
Для полного сравнения плана Flex Consumption с планом Consumption и всеми другими типами планов и размещения, см. варианты масштабирования и размещения функций.
Интеграция виртуальной сети
Использование Flex расширяет традиционные преимущества плана потребления, добавив поддержку интеграции виртуальной сети. Когда приложения выполняются в плане потребления Flex, они могут подключаться к другим службам Azure, защищенным внутри виртуальной сети. Все это время позволяет воспользоваться бессерверным выставлением счетов и масштабированием вместе с преимуществами масштабирования и пропускной способности плана потребления Flex. Дополнительные сведения см. в разделе "Включение интеграции виртуальной сети".
Память экземпляра
При создании приложения-функции в плане Flex Consumption можно выбрать размер памяти экземпляров, на которых запускается ваше приложение. Обратитесь к Billing, чтобы узнать, как размер памяти экземпляра влияет на стоимость вашего приложения функции.
В настоящее время Flex Consumption предлагает параметры размера памяти экземпляра как 2048 МБ, так и 4096 МБ.
При выборе размера памяти экземпляра, используемого с приложениями, следует учитывать следующие моменты:
- Размер памяти экземпляра размером 2048 МБ — это значение по умолчанию и должно использоваться для большинства сценариев. Используйте размер памяти экземпляра 4096 МБ для сценариев, в которых приложению требуется больше параллелизма или более высокой мощности обработки. Для получения дополнительной информации см. Настройка памяти экземпляра.
- Размер памяти экземпляра можно изменить в любое время. Дополнительные сведения см. в Настройка памяти экземпляра.
- Ресурсы экземпляров разделяются между вашим кодом функции и хостом функций.
- Чем больше размер памяти экземпляра, тем больше каждый экземпляр может обрабатывать как одновременные выполнения, так и более интенсивные рабочие нагрузки ЦП или памяти. Конкретные решения масштабирования зависят от рабочей нагрузки.
- Параллелизм триггеров HTTP по умолчанию определяется размером памяти экземпляра. Дополнительные сведения см. в разделе параллелизм триггера HTTP.
- Доступные ЦП и пропускная способность сети предоставляются пропорционально определенному размеру экземпляра.
Масштабирование для каждой функции
Параллелизм является ключевым фактором, определяющим масштабирование приложений функций Flex Consumption. Чтобы повысить производительность приложений с различными типами триггеров, план потребления Flex предоставляет более детерминированный способ масштабирования приложения на основе каждой функции.
Это масштабирование на уровне функции является частью платформы размещения, поэтому вам не нужно настраивать приложение или изменять код. Дополнительные сведения см. в разделе Масштабирование по функциям в статье о масштабировании, основанном на событиях.
При масштабировании каждой функции решения принимаются для определенных триггеров функций на основе агрегатов групп. В этой таблице показан определенный набор групп масштабирования функций:
Группы масштаба | Триггеры в группе | Значение параметров |
---|---|---|
Триггеры HTTP |
Триггер HTTP Триггер SignalR |
http |
Триггеры хранилища BLOB-объектов (Сетка событий) |
Триггер хранилища BLOB | blob |
Устойчивые функции |
Триггер оркестрации Триггер действия Триггер сущности |
durable |
Все остальные функции в приложении масштабируются по отдельности в собственных наборах экземпляров, которые определяются соглашением function:<NAMED_FUNCTION>
.
Всегда готовые экземпляры
Flex Consumption включает функцию «всегда готов», которая позволяет выбирать экземпляры, постоянно работающие и назначенные каждой из групп масштабирования функций или индивидуальным функциям. Всегда готов — отличный вариант для сценариев, в которых требуется минимальное количество экземпляров, всегда готовых к обработке запросов. Например, чтобы уменьшить задержку холодного запуска приложения. Значение по умолчанию — 0 (ноль).
Например, если вы установили параметр "всегда готов" равным 2 для вашей группы функций HTTP, платформа будет постоянно поддерживать две экземпляра всегда работающими и закрепленными за вашим приложением для ваших HTTP-функций. Эти экземпляры обрабатывают выполнение функции, но в зависимости от параметров параллелизма платформа масштабируется за пределами этих двух экземпляров с экземплярами по запросу.
Чтобы узнать, как настроить экземпляры, которые всегда готовы, см. раздел Set always ready instance counts.
Конкурентность
Конкурентность относится к количеству параллельных выполнений функции на экземпляре вашего приложения. Можно задать максимальное количество параллельных выполнений, которые каждый экземпляр должен обрабатывать одновременно. Параллелизм имеет прямое влияние на масштабирование приложения, так как на более низких уровнях параллелизма требуется больше экземпляров для обработки требований на основе событий для функции. Хотя вы можете контролировать и точно настраивать параллелизм, мы предоставляем значения по умолчанию, которые работают в большинстве случаев.
Сведения о том, как задать ограничения параллелизма для функций триггера HTTP, см. в разделе "Настройка ограничений параллелизма HTTP". Сведения о настройке ограничений параллелизма для функций триггеров, отличных от HTTP, см. в статье "Масштабирование целевой базы".
Развертывание
Развертывания в плане потребления Flex идут по единому пути, и больше нет необходимости в использовании параметров приложения для изменения поведения развертывания. После сборки и вставки кода проекта в пакет приложения он развертывается в контейнере хранилища BLOB-объектов. При запуске приложение получает пакет и запускает код функции из этого пакета. По умолчанию та же учетная запись хранения, используемая для хранения метаданных внутреннего узла (AzureWebJobsStorage), также используется в качестве контейнера развертывания. Однако можно использовать альтернативную учетную запись хранения или выбрать предпочтительный метод проверки подлинности, настроив параметры развертывания приложения.
Выставление счетов
Существует два режима, с помощью которых затраты определяются при запуске приложений в плане потребления Flex. Режим определяется для каждого экземпляра отдельно.
Режим выставления счетов | Описание |
---|---|
По запросу | При выполнении в режиме по требованию плата взимается только за время, пока ваш код функции выполняется на доступных экземплярах. В режиме спроса не требуется минимальное количество экземпляров. Счета выставляются за: • Общий объем памяти, выделенной в период, когда каждый экземпляр по запросу активно выполняет функции (в ГБ-секундах), минус бесплатный грант в ГБ-секундах за месяц. • Общее количество выполнений, минус бесплатное предоставление (число) выполнений в месяц. |
Всегда готов | Можно настроить один или несколько экземпляров, назначенных определенным типам триггеров (HTTP/Durable/Blob) и отдельным функциям, которые всегда доступны для обработки запросов. Когда у вас включены любые постоянно готовые экземпляры, вам выставляются счета за: • Общий объем памяти, подготовленной во всех всегда доступных экземплярах, называемых базовыми (в ГБ-секундах). • Общий объем памяти, предоставленной в течение времени, когда каждый всегда готовый экземпляр функции активно выполняет задачи (в ГБ-секундах). • Общее количество казней. В системе немедленной выставки счетов нет бесплатных грантов. |
Для получения актуальной информации о ценах на выполнение, всегда готовых базовых затратах и бесплатных грантах по запросу см. страницу с ценами на Функции Azure.
Минимальный оплачиваемый период выполнения для обоих режимов выполнения составляет 1000 мс. После этого оплачиваемый период действия округляется до ближайшего 100 мс. Подробные сведения о счетчиках выставления счетов по плану потребления Flex см. в справочнике по мониторингу.
Дополнительные сведения о том, как вычисляются затраты при использовании плана Flex Consumption, включая примеры, см. в разделе «Затраты на основе потребления».
Поддерживаемые версии стека языков
В этой таблице показаны версии стека языков, поддерживаемые в настоящее время для приложений 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. Эта квота означает, что в заданной подписке и регионе можно использовать любое сочетание размеров памяти виртуальных машин и их количества, если они остаются в пределах квоты. Например, каждый из следующих примеров означает, что квота достигнута, и приложения перестают масштабироваться:
- У вас есть одно приложение размером 2 048 МБ, масштабируемое до 100, а второе — 2048 МБ, масштабируемое до 150 экземпляров.
- У вас есть одно приложение размером 2 048 МБ, которое масштабируется до 250 экземпляров
- У вас есть одно приложение размером 4096 МБ, которое масштабируется до 125 экземпляров.
- У вас есть одно приложение размером 4 096 МБ, масштабируемого до 100, а одно приложение размером 2 048 МБ масштабируется до 50 экземпляров.
Приложения Flex Consumption, масштабируемые до нуля, или экземпляры, помеченные для масштабирования и удаления, не учитываются в квоте. Эта квота может быть увеличена, чтобы приложения Flex Consumption могли масштабироваться дальше в зависимости от ваших требований. Если для приложений требуется более большая квота, создайте запрос в службу поддержки.
Устаревшие свойства и параметры
В Flex Consumption многие стандартные параметры приложения и свойства конфигурации сайта устарели или перемещены и не должны использоваться при автоматизации создания ресурсов приложения-функции. Дополнительные сведения см. в разделе о прекращении использования плана потребления Flex.
Рекомендации
При использовании плана потребления Flex следует учитывать следующие рекомендации.
-
Хост: Инициализация приложения требует 30-секундного тайм-аута. Когда функциональное приложение запускается дольше 30 секунд, возможно, вы увидите
System.TimeoutException
записи логи, связанные с gRPC. Сейчас нельзя настроить этот тайм-аут. Дополнительные сведения см. в этом рабочем элементе хоста. - Устойчивые функции: В настоящее время служба хранилища Azure является единственным поддерживаемым поставщиком хранилища для Устойчивых функций при размещении в плане потребления Flex. Ознакомьтесь с рекомендациями по размещению Долговременных функций в плане потребления Flex.
-
Интеграция виртуальной сети убедитесь, что
Microsoft.App
поставщик ресурсов Azure включен для подписки, выполнив следующие инструкции. Делегирование подсети, необходимое для приложений Flex Consumption, — этоMicrosoft.App/environments
. -
Триггеры: все триггеры полностью поддерживаются, кроме триггеров Kafka и SQL Azure. Триггер хранилища BLOB поддерживает только источник Event Grid. Приложения-функции, отличные от C#, должны использовать версию
[4.0.0, 5.0.0)
пакета расширений или более позднюю версию. - Регионы: сейчас поддерживаются не все регионы. Дополнительные сведения см. в разделе "Просмотр поддерживаемых в настоящее время регионов".
- Развертывания: На данный момент слоты развертывания не поддерживаются.
-
Масштабирование: самый низкий максимальный масштаб в настоящее время
40
. Самое высокое поддерживаемое в настоящее время значение1000
. - Управляемые зависимости: управляемые зависимости в PowerShell не поддерживаются с помощью Flex Consumption. Вместо этого необходимо отправить модули с содержимым приложения.
- Параметры диагностики: параметры диагностики в настоящее время не поддерживаются.
- Сертификаты: загрузка сертификатов с помощью параметра приложения WEBSITE_LOAD_CERTIFICATES, управляемых сертификатов, сертификатов службы приложений и других функций на основе сертификатов платформы в настоящее время не поддерживается.
- Ссылки на Key Vault: Ссылки на Key Vault в параметрах приложения не работают, если Key Vault ограничен в сетевом доступе, даже если приложение-функция имеет интеграцию с виртуальной сетью. Текущее решение заключается в том, чтобы напрямую ссылаться на Key Vault в коде и читать необходимые секреты.
-
Часовые пояса:
WEBSITE_TIME_ZONE
иTZ
настройки приложения в настоящее время не поддерживаются при использовании плана Flex Consumption.
Связанные статьи
Параметры размешения для Azure FunctionsСоздание и управление приложениями-функциями в плане потребления Flex