Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Flex Consumption — это план размещения функций Azure под управлением Linux, который основывается на использовании модели выставления счетов без сервера. Это обеспечивает большую гибкость и возможность настройки, введя частные сети, выбор размера памяти экземпляра и функции быстрого и масштабируемого масштабирования по-прежнему на основе бессерверной модели.
Вы можете просмотреть конечные примеры, демонстрирующие план потребления Flex в репозитории образцов плана потребления Flex.
Benefits
План потребления Flex основан на преимуществах бессерверного плана потребления, включая динамическое масштабирование и выставление счетов на основе выполнения. При использовании Flex Consumption вы также получите следующие дополнительные функции:
- Сокращенное время холодного запуска: включите всегда готовые экземпляры для ускорения времени холодного запуска по сравнению с планом потребления.
- Поддержка виртуальной сети. Интеграция виртуальной сети позволяет бессерверному приложению выполняться в виртуальной сети.
- Per-Function Масштабирование. Каждая функция в приложении масштабируется независимо на основе рабочей нагрузки, что может привести к более эффективному выделению ресурсов.
- Улучшенная обработка параллелизма: улучшенная обработка параллельных выполнений с настраиваемыми параметрами параллелизма для каждой функции.
- Гибкая конфигурация памяти: Flex Consumption предлагает несколько вариантов размера экземпляров , что позволяет оптимизировать требования к конкретной рабочей нагрузке.
Эта таблица помогает вам напрямую сравнить особенности Flex Consumption с тарифным планом Consumption.
| Feature | Consumption | Flex Consumption |
|---|---|---|
| Сведение к нулю | ✅ Да | ✅ Да |
| Поведение масштабирования | На основе событий | Управляемое событиями (быстрое) |
| Виртуальные сети | ❌ Не поддерживается. | ✅ Поддержанный |
| Выделенные вычислительные мощности (уменьшение холодных запусков) | ❌ Никакой | ✅ Всегда готовые экземпляры (необязательно) |
| Billing | Только время выполнения | Время выполнения и всегда готовые экземпляры |
| Экземпляры горизонтального масштабирования (максимум) | 200 | 1000 |
Для полного сравнения плана Flex по потреблению с обычным планом потребления и всеми другими типами планов и размещения см. в разделе масштабирование и параметры размещения функций.
Интеграция виртуальной сети
Flex Consumption расширяет традиционные преимущества плана потребления, добавляя поддержку интеграции виртуальной сети. Когда приложения выполняются в плане потребления Flex, они могут подключаться к другим службам Azure, защищенным внутри виртуальной сети. Все это время позволяет воспользоваться бессерверным выставлением счетов и масштабированием вместе с преимуществами масштабирования и пропускной способности плана потребления Flex. Дополнительные сведения см. в разделе "Включение интеграции виртуальной сети".
Размеры экземпляров
При создании приложения-функции в плане Flex Consumption можно выбрать размер памяти экземпляров, на которых запускается ваше приложение. Сведения о том, как размеры памяти экземпляра влияют на затраты приложения-функции.
В настоящее время Flex Consumption предлагает следующие параметры размера экземпляра:
| Память экземпляра (МБ) | Ядра ЦП |
|---|---|
| 512 | 0.25 |
| 2048 | 1 |
| 4096 | 2 |
Замечание
Показаны значения ядер ЦП — это типичное распределение для инстанций с указанным размером памяти. Однако начальным экземплярам может быть выделено немного другое количество ядер, чтобы повысить производительность.
При выборе размера памяти экземпляра, используемого с приложениями, следует учитывать следующие моменты:
- Размер памяти экземпляра размером 2048 МБ — это значение по умолчанию и должно использоваться для большинства сценариев. Размеры памяти экземпляра 512 МБ и 4096 МБ доступны для сценариев, которые лучше всего соответствуют требованиям к одновременному выполнению или вычислительной мощности приложения. Дополнительные сведения см. в разделе "Настройка памяти экземпляра".
- Размер памяти экземпляра можно изменить в любое время. Дополнительные сведения см. в разделе "Настройка памяти экземпляра".
- Ресурсы экземпляров разделяются между вашим кодом функции и хостом функций.
- Чем больше размер памяти экземпляра, тем больше каждый экземпляр может обрабатывать как одновременные выполнения, так и более интенсивные рабочие нагрузки ЦП или памяти. Конкретные решения масштабирования зависят от рабочей нагрузки.
- Параллелизм триггеров HTTP по умолчанию определяется размером памяти экземпляра. Дополнительные сведения см. в разделе параллелизм триггера HTTP.
- Доступные ЦП и пропускная способность сети предоставляются пропорционально определенному размеру экземпляра.
Масштабирование для каждой функции
Параллелизм является ключевым фактором, определяющим масштабирование приложений функций Flex Consumption. Чтобы повысить производительность приложений с различными типами триггеров, план потребления Flex предоставляет более детерминированный способ масштабирования приложения на основе каждой функции.
Это поведение масштабирования для каждой функции является частью платформы размещения, поэтому вам не нужно настраивать приложение или изменять код. Дополнительные сведения см. в статье о масштабировании на основе событий на основе функций .
При масштабировании каждой функции решения принимаются для определенных триггеров функций на основе агрегатов групп. В этой таблице показан определенный набор групп масштабирования функций:
| Масштабируемые группы | Триггеры в группе | Значение параметров |
|---|---|---|
| Триггеры HTTP |
Триггер HTTP Триггер SignalR |
http |
| Триггеры хранилища BLOB-объектов (Сетка событий) |
Триггер хранилища BLOB | blob |
| Durable Functions |
Триггер оркестрации Триггер действия Триггер сущности |
durable |
Все остальные функции в приложении масштабируются по отдельности в собственных наборах экземпляров, которые определяются соглашением function:<NAMED_FUNCTION>.
Всегда готовые экземпляры
Flex Consumption включает всегда готовую функцию, которая позволяет выбирать экземпляры, которые всегда выполняются и назначаются каждой из групп масштабирования функций или функций. Всегда готов — отличный вариант для сценариев, в которых требуется минимальное количество экземпляров, всегда готовых к обработке запросов. Например, чтобы уменьшить задержку холодного запуска приложения. Значение по умолчанию — 0 (ноль).
Например, если вы установили параметр "всегда готов" равным 2 для вашей группы функций HTTP, платформа будет постоянно поддерживать две экземпляра всегда работающими и закрепленными за вашим приложением для ваших HTTP-функций. Эти экземпляры обрабатывают выполнение функции, но в зависимости от параметров параллелизма платформа масштабируется за пределами этих двух экземпляров с экземплярами по запросу.
Не менее двух всегда готовых инстанций можно настроить для каждой функции или группы функций, пока включена зональная избыточность.
Как настроить всегда готовые экземпляры, см. в разделе Set always ready instance counts.
Concurrency
Конкурентность относится к количеству параллельных выполнений функции на экземпляре вашего приложения. Можно задать максимальное количество параллельных выполнений, которые каждый экземпляр должен обрабатывать одновременно. Параллелизм имеет прямое влияние на масштабирование приложения, так как на более низких уровнях параллелизма требуется больше экземпляров для обработки требований на основе событий для функции. Хотя вы можете контролировать и точно настраивать параллелизм, мы предоставляем значения по умолчанию, которые работают в большинстве случаев.
Сведения о том, как задать ограничения параллелизма для функций триггера HTTP, см. в разделе "Настройка ограничений параллелизма HTTP". Сведения о настройке ограничений параллелизма для функций триггеров, отличных от HTTP, см. в статье " Масштабирование целевой базы".
Deployment
Развертывания в плане потребления Flex идут по единому пути, и больше нет необходимости в использовании параметров приложения для изменения поведения развертывания. После сборки и вставки кода проекта в пакет приложения он развертывается в контейнере хранилища BLOB-объектов. При запуске приложение получает пакет и запускает код функции из этого пакета. По умолчанию та же учетная запись хранения, используемая для хранения метаданных внутреннего узла (AzureWebJobsStorage), также используется в качестве контейнера развертывания. Однако можно использовать альтернативную учетную запись хранения или выбрать предпочтительный метод проверки подлинности, настроив параметры развертывания приложения.
Развертывания без простоя
Замечание
Развертывания без простоя с последовательными обновлениями в настоящее время находятся в общедоступной предварительной версии.
Использование Flex обеспечивает развертывание без простоя путем последовательного обновления в качестве стратегии обновления сайта, которая позволяет постепенно применять развертывания кода и изменения конфигурации между экземплярами без прерывания выполнения функции. Другие планы размещения используют слоты развертывания для минимизации простоя во время развертывания. Варианты развертывания во всех планах размещения см. в разделе "Оптимизация развертываний".
Billing
Существует два режима, с помощью которых затраты определяются при запуске приложений в плане потребления Flex. Режим определяется для каждого экземпляра отдельно.
| Режим выставления счетов | Description |
|---|---|
| По запросу | При выполнении в режиме спроса плата взимается только за время выполнения кода функции на доступных экземплярах. В режиме спроса не требуется минимальное количество экземпляров. Счета выставляются за: • Общий объем памяти, подготовленной в то время как каждый экземпляр по запросу активно выполняет функции (в ГБ-секундах), минус бесплатный грант ГБ в месяц. • Общее количество выполнений, минус бесплатное предоставление (число) выполнений в месяц. |
| Всегда готов | Можно настроить один или несколько экземпляров, назначенных определенным типам триггеров (HTTP/Durable/Blob) и отдельным функциям, которые всегда доступны для обработки запросов. Когда у вас включены любые постоянно готовые экземпляры, вам выставляются счета за: • Общий объем памяти, подготовленной во всех всегда готовых экземплярах, известных как базовый (в ГБ-секундах). • Общий объем памяти, подготовленной в течение каждого всегда готового экземпляра, активно выполняет функции (в ГБ-секундах). • Общее количество казней. В системе немедленной выставки счетов нет бесплатных грантов. |
Самые up-to-date сведения о ценах на выполнение, всегда готовые базовые затраты и бесплатные гранты для выполнения по запросу, см. на странице цен на Функции Azure.
Минимальный оплачиваемый период выполнения для обоих режимов выполнения составляет 1000 мс. После этого оплачиваемый период действия округляется до ближайшего 100 мс. Подробные сведения о счетчиках выставления счетов по плану потребления Flex см. в справочнике по мониторингу.
Дополнительные сведения о том, как вычисляются затраты при использовании плана Flex Consumption, включая примеры, см. в разделах "Затраты на основе потребления" и "Просмотр данных, связанных с затратами".
Поддерживаемые версии стека языков
В этой таблице показаны версии стека языков, поддерживаемые в настоящее время для приложений Flex Consumption:
| Стек языков | Требуемая версия |
|---|---|
| C# (изолированный режим процесса)1 | .NET 82, .NET 93 |
| Java | Java 11, Java 17, Java 21 |
| Node.js | Node.js 20, Node.js 22 |
| PowerShell | PowerShell 7.4 |
| Python | Python 3.10, Python 3.11, Python 3.12 |
- Режим обработки C# не поддерживается. Вместо этого необходимо перенести проект кода .NET для запуска в изолированной рабочей модели.
- Требуется версия или более поздняя версия
1.20.0Microsoft.Azure.Functions.Worker и более поздней версии1.16.2Microsoft.Azure.Functions.Worker.Sdk. - Требуется версия или более поздняя версия
2.0.0Microsoft.Azure.Functions.Worker и Microsoft.Azure.Functions.Worker.Sdk.
Квоты памяти региональной подписки
План потребления Flex имеет квоту, основанную на памяти, которая ограничивает объем вычислительных ресурсов, которые все приложения Flex Consumption могут одновременно использовать в пределах конкретного региона и подписки. Представьте, что у вас есть контейнер памяти, измеряемый в ГБ или ядрах ЦП для всей подписки в регионе. Все приложения Flex Consumption в этом регионе совместно используют этот контейнер. Если ваши приложения Flex Consumption пытаются использовать больше, чем позволяет квота, некоторые выполнения могут быть отложены или их масштабирование может быть ограничено, но вы не будете заблокированы при создании или развёртывании приложений.
В настоящее время каждый регион в данной подписке имеет квоту по умолчанию, равную меньшему значению из 512,000 MB или 250 ядер для всех экземпляров приложений, работающих на планах Flex Consumption. Эти квоты означают, что в заданной подписке и регионе можно использовать любое сочетание размеров памяти экземпляров и их количества, если они остаются в пределах квот. Например, в каждом из этих сценариев достигается квота, и приложения в регионе перестают масштабироваться:
- У вас есть одно приложение размером 512 МБ, масштабируемое до 250 экземпляров, а второе приложение размером 512 МБ масштабируется до 750 экземпляров.
- У вас есть одно приложение размером 512 МБ, масштабируемого до 1000 экземпляров.
- У вас есть одно приложение размером 2 048 МБ, масштабируемое до 100, а второе — 2048 МБ, масштабируемое до 150 экземпляров.
- У вас есть одно приложение размером 2 048 МБ, которое масштабируется до 250 экземпляров
- У вас есть одно приложение размером 4096 МБ, которое масштабируется до 125 экземпляров
- У вас есть одно приложение размером 4 096 МБ, масштабируемого до 100, а одно приложение размером 2 048 МБ масштабируется до 50 экземпляров.
Приложения Flex Consumption, масштабируемые до нуля, или экземпляры, помеченные для масштабирования и удаления, не учитываются в квоте. Эта квота может быть увеличена, чтобы приложения Flex Consumption могли масштабироваться дальше в зависимости от ваших требований. Если для приложений требуется более большая квота, создайте запрос в службу поддержки.
Устаревшие свойства и параметры
В плане потребления Flex многие из стандартных параметров приложения и свойств конфигурации сайта устарели или перемещены и не должны использоваться при автоматизации создания ресурсов функционального приложения. Дополнительные сведения см. в разделе о прекращении использования плана потребления Flex.
Considerations
При использовании плана потребления Flex следует учитывать следующие рекомендации.
- Приложения на план. Для каждого плана разрешено только одно приложение на план потребления Flex.
-
Узел: для инициализации приложений имеется 30-секундное время ожидания. Когда функциональное приложение запускается дольше 30 секунд, возможно, вы увидите
System.TimeoutExceptionзаписи логи, связанные с gRPC. Сейчас вы не можете настроить этот тайм-аут. Дополнительные сведения см. в этом рабочем элементе хоста. - Устойчивые функции: служба хранилища Azure в настоящее время является единственным поддерживаемым поставщиком хранилища для устойчивых функций при размещении в плане потребления Flex. Ознакомьтесь с рекомендациями по размещению устойчивых функций в плане потребления Flex.
-
Интеграция виртуальной сети Убедитесь, что
Microsoft.Appпоставщик ресурсов Azure включен для подписки, выполнив следующие инструкции. Делегирование подсети, необходимое для приложений Flex Consumption, — этоMicrosoft.App/environments. -
Триггеры. Хотя все триггеры полностью поддерживаются в плане потребления Flex, триггер хранилища BLOB-объектов поддерживает только источник сетки событий. Приложения-функции, отличные от C#, должны использовать версию
[4.0.0, 5.0.0)пакета расширений или более позднюю версию. - Регионы: сейчас поддерживаются не все регионы. Дополнительные сведения см. в разделе "Просмотр поддерживаемых в настоящее время регионов".
- Развертывания. Слоты развертывания в настоящее время не поддерживаются.
-
Масштабирование: самый низкий максимальный масштаб в настоящее время
40. Самое высокое поддерживаемое в настоящее время значение1000. - Управляемые зависимости: управляемые зависимости в PowerShell не поддерживаются с помощью Flex Consumption. Вместо этого необходимо отправить модули с содержимым приложения.
- Сертификаты: загрузка сертификатов с помощью параметра приложения WEBSITE_LOAD_CERTIFICATES, управляемых сертификатов, сертификатов службы приложений и других функций на основе сертификатов платформы, таких как endToEndEncryptionEnabled, в настоящее время не поддерживаются.
-
Часовые пояса:
WEBSITE_TIME_ZONEиTZпараметры приложения в настоящее время не поддерживаются при работе с планом потребления Flex.
Связанные статьи
Параметры размещения Функций Azure: создание приложений-функций и управление ими в плане потребления Flex