Gap-4: Functions Operate (B → A) — Hosting plan guide + cold start playbook - #1638
Gap-4: Functions Operate (B → A) — Hosting plan guide + cold start playbook#1638Paul Yuknewicz (paulyuk) wants to merge 6 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
Adds reference documentation for Azure Functions hosting plan selection and cold-start mitigation, aimed at helping readers choose a plan and reduce latency.
Changes:
- Introduces a hosting plan comparison matrix, pricing notes, and decision flow.
- Adds cold start impact guidance and mitigation strategies (including CLI/Bicep examples).
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
| plugin/skills/azure-prepare/references/services/functions/hosting-plans.md | New hosting plan comparison, cost model summary, and decision criteria. |
| plugin/skills/azure-prepare/references/services/functions/cold-start.md | New cold start mitigation playbook with plan-by-plan strategies and infra examples. |
Details# 🔍 Token Analysis Report
fatal: path 'plugin/skills/azure-prepare/references/services/functions/cold-start.md' exists on disk, but not in 'origin/main' 📊 Token Change ReportComparing Summary
Changed Files
📊 Token Limit Check ReportChecked: 727 files
|
| File | Tokens | Limit | Over By |
|---|---|---|---|
.github/skills/analyze-skill-issues/SKILL.md |
2109 | 500 | +1609 |
.github/skills/analyze-test-run/SKILL.md |
2471 | 500 | +1971 |
.github/skills/file-test-bug/SKILL.md |
628 | 500 | +128 |
.github/skills/sensei/SKILL.md |
856 | 500 | +356 |
.github/skills/skill-authoring/SKILL.md |
839 | 500 | +339 |
.github/skills/vally-eval/SKILL.md |
1757 | 500 | +1257 |
plugin/skills/airunway-aks-setup/SKILL.md |
1025 | 500 | +525 |
plugin/skills/appinsights-instrumentation/SKILL.md |
937 | 500 | +437 |
plugin/skills/azure-ai/SKILL.md |
820 | 500 | +320 |
plugin/skills/azure-aigateway/SKILL.md |
1261 | 500 | +761 |
plugin/skills/azure-aigateway/references/policies.md |
2342 | 2000 | +342 |
plugin/skills/azure-cloud-migrate/SKILL.md |
1085 | 500 | +585 |
plugin/skills/azure-cloud-migrate/references/services/container-apps/cloudrun-deployment-guide.md |
2029 | 2000 | +29 |
plugin/skills/azure-cloud-migrate/references/services/container-apps/deployment-guide.md |
2458 | 2000 | +458 |
plugin/skills/azure-cloud-migrate/references/services/container-apps/fargate-deployment-guide.md |
2587 | 2000 | +587 |
plugin/skills/azure-cloud-migrate/references/services/container-apps/spring-deployment-guide.md |
3871 | 2000 | +1871 |
plugin/skills/azure-cloud-migrate/references/services/functions/lambda-to-functions.md |
2600 | 2000 | +600 |
plugin/skills/azure-cloud-migrate/references/services/functions/runtimes/javascript.md |
2181 | 2000 | +181 |
plugin/skills/azure-compliance/SKILL.md |
1188 | 500 | +688 |
plugin/skills/azure-compute/SKILL.md |
762 | 500 | +262 |
plugin/skills/azure-compute/workflows/essential-machine-management/references/emm-enable-flow.md |
2344 | 2000 | +344 |
plugin/skills/azure-compute/workflows/vm-troubleshooter/vm-troubleshooter.md |
2509 | 2000 | +509 |
plugin/skills/azure-deploy/SKILL.md |
1645 | 500 | +1145 |
plugin/skills/azure-deploy/references/pre-deploy-checklist.md |
4692 | 2000 | +2692 |
plugin/skills/azure-deploy/references/recipes/azd/errors.md |
4004 | 2000 | +2004 |
plugin/skills/azure-deploy/references/troubleshooting.md |
2038 | 2000 | +38 |
plugin/skills/azure-diagnostics/SKILL.md |
1423 | 500 | +923 |
plugin/skills/azure-enterprise-infra-planner/SKILL.md |
911 | 500 | +411 |
plugin/skills/azure-enterprise-infra-planner/references/constraints/compute-apps.md |
2022 | 2000 | +22 |
plugin/skills/azure-kubernetes/SKILL.md |
2634 | 500 | +2134 |
plugin/skills/azure-kubernetes/azure-kubernetes-automatic-readiness/SKILL.md |
3690 | 500 | +3190 |
plugin/skills/azure-kusto/SKILL.md |
2152 | 500 | +1652 |
plugin/skills/azure-messaging/SKILL.md |
821 | 500 | +321 |
plugin/skills/azure-prepare/SKILL.md |
3165 | 500 | +2665 |
plugin/skills/azure-prepare/references/aspire.md |
4617 | 2000 | +2617 |
plugin/skills/azure-prepare/references/plan-template.md |
2560 | 2000 | +560 |
plugin/skills/azure-prepare/references/recipes/azd/aspire.md |
2275 | 2000 | +275 |
plugin/skills/azure-prepare/references/recipes/azd/terraform.md |
3555 | 2000 | +1555 |
plugin/skills/azure-prepare/references/research.md |
2196 | 2000 | +196 |
plugin/skills/azure-prepare/references/resources-limits-quotas.md |
3322 | 2000 | +1322 |
plugin/skills/azure-prepare/references/security.md |
2147 | 2000 | +147 |
plugin/skills/azure-prepare/references/services/functions/bicep.md |
3043 | 2000 | +1043 |
plugin/skills/azure-prepare/references/services/functions/templates/recipes/composition.md |
2813 | 2000 | +813 |
plugin/skills/azure-prepare/references/services/functions/terraform.md |
3404 | 2000 | +1404 |
plugin/skills/azure-quotas/SKILL.md |
3006 | 500 | +2506 |
plugin/skills/azure-quotas/references/commands.md |
2644 | 2000 | +644 |
plugin/skills/azure-reliability/SKILL.md |
5922 | 500 | +5422 |
plugin/skills/azure-reliability/references/configure-multi-region.md |
4729 | 2000 | +2729 |
plugin/skills/azure-reliability/references/services/app-service/reliability.md |
2591 | 2000 | +591 |
plugin/skills/azure-resource-lookup/SKILL.md |
1367 | 500 | +867 |
plugin/skills/azure-resource-visualizer/SKILL.md |
2122 | 500 | +1622 |
plugin/skills/azure-storage/SKILL.md |
1228 | 500 | +728 |
plugin/skills/azure-upgrade/SKILL.md |
1542 | 500 | +1042 |
plugin/skills/azure-upgrade/references/languages/java/INSTRUCTION.md |
2893 | 2000 | +893 |
plugin/skills/azure-upgrade/references/languages/java/package-specific/com.microsoft.azure.management.md |
2428 | 2000 | +428 |
plugin/skills/azure-upgrade/references/languages/java/templates/PLAN_TEMPLATE.md |
2411 | 2000 | +411 |
plugin/skills/azure-upgrade/references/languages/java/templates/PROGRESS_TEMPLATE.md |
2315 | 2000 | +315 |
plugin/skills/azure-upgrade/references/languages/java/templates/SUMMARY_TEMPLATE.md |
2190 | 2000 | +190 |
plugin/skills/azure-upgrade/references/services/functions/automation.md |
3463 | 2000 | +1463 |
plugin/skills/azure-upgrade/references/services/functions/consumption-to-flex.md |
2773 | 2000 | +773 |
plugin/skills/azure-validate/SKILL.md |
950 | 500 | +450 |
plugin/skills/entra-agent-id/SKILL.md |
3994 | 500 | +3494 |
plugin/skills/entra-app-registration/SKILL.md |
2058 | 500 | +1558 |
plugin/skills/entra-app-registration/references/api-permissions.md |
2545 | 2000 | +545 |
plugin/skills/entra-app-registration/references/cli-commands.md |
2211 | 2000 | +211 |
plugin/skills/entra-app-registration/references/console-app-example.md |
2752 | 2000 | +752 |
plugin/skills/entra-app-registration/references/oauth-flows.md |
2375 | 2000 | +375 |
plugin/skills/microsoft-foundry/SKILL.md |
6166 | 500 | +5666 |
plugin/skills/microsoft-foundry/finetuning/SKILL.md |
1375 | 500 | +875 |
plugin/skills/microsoft-foundry/foundry-agent/azd-guidance/references/azd-ai-cli.md |
2129 | 2000 | +129 |
plugin/skills/microsoft-foundry/foundry-agent/create/create-hosted.md |
7101 | 2000 | +5101 |
plugin/skills/microsoft-foundry/foundry-agent/create/quick-start-hosted.md |
5246 | 2000 | +3246 |
plugin/skills/microsoft-foundry/foundry-agent/create/references/foundry-tool-catalog.md |
10891 | 2000 | +8891 |
plugin/skills/microsoft-foundry/foundry-agent/create/references/local-run.md |
2252 | 2000 | +252 |
plugin/skills/microsoft-foundry/foundry-agent/create/references/toolbox-reference.md |
3137 | 2000 | +1137 |
plugin/skills/microsoft-foundry/foundry-agent/create/references/tools.md |
2359 | 2000 | +359 |
plugin/skills/microsoft-foundry/foundry-agent/create/references/use-toolbox-in-hosted-agent.md |
4288 | 2000 | +2288 |
plugin/skills/microsoft-foundry/foundry-agent/deploy/deploy.md |
4897 | 2000 | +2897 |
plugin/skills/microsoft-foundry/foundry-agent/eval-datasets/eval-datasets.md |
2863 | 2000 | +863 |
plugin/skills/microsoft-foundry/foundry-agent/eval-datasets/references/generate-seed-dataset.md |
2212 | 2000 | +212 |
plugin/skills/microsoft-foundry/foundry-agent/eval-datasets/references/trace-to-dataset.md |
4325 | 2000 | +2325 |
plugin/skills/microsoft-foundry/foundry-agent/invocations-ws/invocations-ws.md |
2652 | 2000 | +652 |
plugin/skills/microsoft-foundry/foundry-agent/observe/observe.md |
3856 | 2000 | +1856 |
plugin/skills/microsoft-foundry/foundry-agent/observe/references/continuous-eval.md |
3855 | 2000 | +1855 |
plugin/skills/microsoft-foundry/foundry-agent/observe/references/evaluate-step.md |
2175 | 2000 | +175 |
plugin/skills/microsoft-foundry/foundry-agent/observe/references/evaluation-suite-generation.md |
3134 | 2000 | +1134 |
plugin/skills/microsoft-foundry/foundry-agent/routine/routine.md |
2032 | 2000 | +32 |
plugin/skills/microsoft-foundry/foundry-agent/trace/references/kql-templates.md |
2701 | 2000 | +701 |
plugin/skills/microsoft-foundry/models/deploy-model/SKILL.md |
1805 | 500 | +1305 |
plugin/skills/microsoft-foundry/models/deploy-model/capacity/SKILL.md |
1739 | 500 | +1239 |
plugin/skills/microsoft-foundry/models/deploy-model/customize/SKILL.md |
2235 | 500 | +1735 |
plugin/skills/microsoft-foundry/models/deploy-model/customize/references/customize-workflow.md |
3335 | 2000 | +1335 |
plugin/skills/microsoft-foundry/models/deploy-model/preset/SKILL.md |
1226 | 500 | +726 |
plugin/skills/microsoft-foundry/models/deploy-model/preset/references/preset-workflow.md |
5534 | 2000 | +3534 |
plugin/skills/microsoft-foundry/project/create/create-foundry-project.md |
2283 | 2000 | +283 |
plugin/skills/microsoft-foundry/quota/quota.md |
2288 | 2000 | +288 |
plugin/skills/microsoft-foundry/quota/references/capacity-planning.md |
2080 | 2000 | +80 |
plugin/skills/microsoft-foundry/references/agent-metadata-contract.md |
2217 | 2000 | +217 |
plugin/skills/microsoft-foundry/references/sdk/foundry-sdk-py.md |
2162 | 2000 | +162 |
plugin/skills/python-appservice-deploy/SKILL.md |
688 | 500 | +188 |
Consider moving content to
references/subdirectories.
Automated token analysis. See skill authoring guidelines for best practices.
Jon Gallant (jongio)
left a comment
There was a problem hiding this comment.
Two CI checks are failing that block merge:
-
Skill Structure-azure-preparewas modified butmetadata.versionwasn't bumped (currently 1.1.8). Bump it inplugin/skills/azure-prepare/SKILL.md. -
Markdown References- Both new files aren't linked from the reference chain. Add links toplugin/skills/azure-prepare/references/services/functions/README.mdin the References section (similar to howtriggers.md,bicep.md, etc. are linked there).
Beyond the Copilot bot's 6 comments (all valid - especially the SnapStart/AWS catch and the decision tree 10-vs-30 min inconsistency), a couple more items:
-
The Container Apps cold-start Bicep snippet (~line 117 in cold-start.md) is just a
scale:block without resource context. Every other plan's example shows a full resource declaration. Wrap this in aMicrosoft.App/containerAppsresource, or at minimum note it goes insidetemplate.scale. -
The functions README.md already has a hosting plans table (lines 43-59) that overlaps with the new
hosting-plans.md. Once linked, consider slimming the README table to a brief pointer to avoid two sources of truth drifting apart.
Content-wise, the plan comparison matrix and cold start playbook cover the key decision factors well. Good separation into two focused files.
|
This PR has been automatically closed because it has unresolved review comments and no new commits in the last 28 days. If you would still like to merge these changes, please:
Thank you for your contribution! |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Reopened and pushed b4721e9 addressing all outstanding review comments on this PR. Every unresolved thread has been resolved. Validators run locally: frontmatter and references pass, targeted skill tests pass, and the changed files are within token budget (the repo-wide |
Jon Gallant (jongio)
left a comment
There was a problem hiding this comment.
Fix commit b4721e9 addresses the prior review feedback. The Container Apps Bicep now shows a full resource declaration, the decision tree threshold is consistent with the matrix, and Java guidance is Azure-specific.
One remaining observation on the decision tree logic (inline below). The unrelated eval CI failure is in azure-compute, not this PR.
…nux-only) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Note on the red |
The az functionapp update --set path used functionAppConfig.runtime.scale.alwaysReady, which does not exist in the Flex Consumption schema; always-ready lives under functionAppConfig.scaleAndConcurrency (as the Bicep block already shows). The wrong path silently fails to configure always-ready instances. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Jon Gallant (jongio)
left a comment
There was a problem hiding this comment.
Both incremental fixes verified:
- The
scaleAndConcurrency.alwaysReadyCLI path now matches the Bicep resource property structure (the previousruntime.scale.alwaysReadypath doesn't exist in the ARM schema for Flex Consumption apps). - The decision tree correctly gates the budget/bursty branch on OS. Windows workloads can't use Flex Consumption (Linux-only), so routing them to Premium EP1 is the right call for bursty + VNet on Windows.
The eval CI failure is a pre-existing main branch issue (azure-compute orphan-file detection), not from this PR.
My CHANGES_REQUESTED from April is stale. All blocking items have been addressed. A maintainer should dismiss that review or I need to re-review with APPROVE to unblock. Four requested reviewers (RickWinter, wbreza, tmeschter, kvenkatrajan) are still pending.
|
Hi Jon Gallant (@jongio), back after the July 4th weekend here on the first business day. This one is ready for a re-review. All of your prior comments have been addressed and the threads are resolved, so could you re-review and dismiss the stale changes-requested? The only red check is the pre-existing repo-wide eval failure, which #2744 fixes. Thanks! |
Jon Gallant (jongio)
left a comment
There was a problem hiding this comment.
Node.js 20 reached upstream EOL (April 2026). The Bicep example should use Node 22 (current LTS, supported on Flex Consumption) so the template doesn't teach a stale runtime from day one.
Everything else from my prior reviews remains addressed. The PR is ready from my perspective once the Node version is updated.
|
Hi Jon Gallant (@jongio), first business day back after the July 4th weekend. I've addressed all your earlier comments and resolved the threads, so this is ready for a re-review. Could you take another pass and dismiss the stale changes-requested if it looks good? The only red check is the pre-existing repo-wide eval failure, already fixed on main by the vally 0.7.0 update (#2759), so it just needs a re-run. I'll rebase to clear the merge conflict as well. Thanks! |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Wallace Breza (wbreza)
left a comment
There was a problem hiding this comment.
Solid, well-organized hosting guidance that incorporates prior review feedback; several plan limits and CLI/Bicep snippets need correcting against current Azure Functions docs before merge.
What stood out
- Prior feedback addressed — Node 22 runtime, the
jsoncfence, the OS-gated decision tree, Azure-specific Java guidance, and the wrapped Container Apps resource all landed in later rounds. - Accuracy gaps vs current docs — a handful of plan limits, instance sizings, and CLI/Bicep snippets diverge from current Microsoft Learn and would misdirect readers.
Top issues
- [F-001] Flex Consumption max execution shown as 30 min, but 30 is the default and not the ceiling —
plugin/skills/azure-prepare/references/services/functions/hosting-plans.md:14 - [F-002] Deployment-slot counts are wrong (Premium is 3, not 20) —
plugin/skills/azure-prepare/references/services/functions/hosting-plans.md:13 - [F-004] Container Apps Bicep uses
Microsoft.App/containerAppsinstead of the Functions-on-ACAMicrosoft.Web/sitesresource —plugin/skills/azure-prepare/references/services/functions/cold-start.md:92
Cross-cutting
- [C-001] Several documented facts diverge from current Microsoft Learn (docs) — slot counts, the Flex timeout, Flex instance sizing, and the Premium/always-ready CLI commands need reconciling against 2026 docs across both new files.
| | **VNet integration** | ❌ | ✅ | ✅ | ✅ (Standard+) | ✅ | | ||
| | **Private endpoints** | ❌ | ✅ | ✅ | ✅ (Standard+) | ✅ | | ||
| | **Deployment slots** | Win: 1 / Linux: ❌ | ❌ | ✅ 20 | ✅ 5-20 | Via revisions | | ||
| | **Max execution (min)** | 10 | 30 | Unlimited | Unlimited | Unlimited | |
There was a problem hiding this comment.
[F-001] [correctness] The Max execution row lists Flex Consumption as 30, but 30 minutes is the default timeout, not the ceiling. Flex Consumption supports long-running executions well beyond 30 min (into hours), unlike the legacy Consumption plan (hard cap 10 min). The decision tree at line 40 (Execution time > 30 min? -> Premium or Dedicated) inherits this error and steers long-running workloads away from Flex, which is frequently the better fit. Reflect the default-vs-max distinction here and fix the decision tree accordingly.
| | **Max execution (min)** | 10 | 30 | Unlimited | Unlimited | Unlimited | | |
| | **Max execution (min)** | 10 | 30 default / unbounded | Unlimited | Unlimited | Unlimited | |
| | **Scale to zero** | ✅ | ✅ | ❌ (≥1) | ❌ | ✅ | | ||
| | **VNet integration** | ❌ | ✅ | ✅ | ✅ (Standard+) | ✅ | | ||
| | **Private endpoints** | ❌ | ✅ | ✅ | ✅ (Standard+) | ✅ | | ||
| | **Deployment slots** | Win: 1 / Linux: ❌ | ❌ | ✅ 20 | ✅ 5-20 | Via revisions | |
There was a problem hiding this comment.
[F-002] [correctness] The deployment-slot counts are inaccurate: Premium supports 3 slots including production (not 20); Windows Consumption supports 2 (production + 1 staging), not 1; and Dedicated is 1-20 depending on the App Service tier (Basic = 1), not 5-20. The 20 value looks like the Dedicated maximum mistakenly applied to the Premium column.
| | **Deployment slots** | Win: 1 / Linux: ❌ | ❌ | ✅ 20 | ✅ 5-20 | Via revisions | | |
| | **Deployment slots** | 2 (Windows) / ❌ Linux | ❌ | 3 | 1-20 | Via revisions | |
Ref: https://learn.microsoft.com/en-us/azure/azure-functions/functions-deployment-slots
| Premium plans include pre-warmed instances by default. Set minimum always-on instances: | ||
|
|
||
| ```bash | ||
| az functionapp plan update -n $PLAN -g $RG --min-elastic-worker-count 2 |
There was a problem hiding this comment.
[F-003] [correctness] --min-elastic-worker-count is not a valid parameter for az functionapp plan update; the command fails with "unrecognized arguments". The correct flag for the Elastic Premium minimum instance count is --min-instances (alias --number-of-workers). --max-burst on the following line is correct.
| az functionapp plan update -n $PLAN -g $RG --min-elastic-worker-count 2 | |
| az functionapp plan update -n $PLAN -g $RG --min-instances 2 |
Ref: https://learn.microsoft.com/en-us/cli/azure/functionapp/plan#az-functionapp-plan-update
| resource containerApp 'Microsoft.App/containerApps@2024-03-01' = { | ||
| name: appName | ||
| location: location | ||
| properties: { | ||
| managedEnvironmentId: environment.id | ||
| template: { | ||
| scale: { | ||
| minReplicas: 1 | ||
| maxReplicas: 10 | ||
| } | ||
| } | ||
| } | ||
| } |
There was a problem hiding this comment.
[F-004] [correctness] This section documents Container Apps as an Azure Functions hosting option (hosting-plans.md: "Functions runs as a container with KEDA-based scaling"), but the Bicep declares a raw Microsoft.App/containerApps resource. Deploying it produces a plain Container App with no Functions host — it will not run a function app. Functions on Container Apps uses a Microsoft.Web/sites resource with kind functionapp,linux,container,azurecontainerapps and a managedEnvironmentId; set the minimum instance count via siteConfig.minimumElasticInstanceCount. Replace the resource type accordingly.
Ref: https://learn.microsoft.com/en-us/azure/azure-functions/functions-infrastructure-as-code?pivots=container-apps
| | Plan | SKU Name | vCPU | Memory | | ||
| |------|----------|------|--------| | ||
| | Consumption | Y1 | Shared | 1.5 GB | | ||
| | Flex Consumption | FC1 | 1-4 | 2-4 GB | |
There was a problem hiding this comment.
[F-005] [correctness] The Flex Consumption instance sizing is off. Flex offers instance memory sizes of 512 MB, 2 GB, and 4 GB, mapping to roughly 0.25, 1, and 2 vCPU — so the range is 0.25-2 vCPU / 512 MB-4 GB, not "1-4 vCPU / 2-4 GB". Note 4 GB corresponds to 2 cores (not 4), and the 512 MB tier is missing.
| | Flex Consumption | FC1 | 1-4 | 2-4 GB | | |
| | Flex Consumption | FC1 | 0.25-2 | 0.5-4 GB | |
Ref: https://learn.microsoft.com/en-us/azure/azure-functions/flex-consumption-plan#instance-memory
| | Dedicated | S1 | 1 | 1.75 GB | | ||
| | Dedicated | P1v3 | 2 | 8 GB | | ||
|
|
||
| > ⚠️ **Warning:** Switching between Consumption/Flex and Premium/Dedicated requires creating a new function app. There is no in-place plan change between serverless and non-serverless SKUs. See `azure-upgrade` for migration guidance. |
There was a problem hiding this comment.
[F-006] [correctness] This is overstated for Windows. Migrating between the Consumption and Premium plans on Windows is supported in place via Azure CLI — no new function app required. The "must create a new app" constraint applies to Linux and to Flex Consumption. Qualify the statement so Windows users are not told to recreate their app unnecessarily.
Ref: https://learn.microsoft.com/en-us/azure/azure-functions/functions-premium-plan#migrate-between-a-consumption-and-a-premium-plan
| az functionapp update -n $APP -g $RG \ | ||
| --set functionAppConfig.scaleAndConcurrency.alwaysReady[0].name=http \ | ||
| --set functionAppConfig.scaleAndConcurrency.alwaysReady[0].instanceCount=1 |
There was a problem hiding this comment.
[F-007] [maintainability] Setting always-ready instances by patching the ARM array with --set ...alwaysReady[0] is undocumented and fragile: indexing by [0] overwrites whatever occupies that slot, so on an app that already has always-ready groups this can silently drop existing entries. The supported, merge-safe command is az functionapp scale config always-ready set.
| az functionapp update -n $APP -g $RG \ | |
| --set functionAppConfig.scaleAndConcurrency.alwaysReady[0].name=http \ | |
| --set functionAppConfig.scaleAndConcurrency.alwaysReady[0].instanceCount=1 | |
| # Set always-ready instances | |
| az functionapp scale config always-ready set -g $RG -n $APP --settings http=1 |
|
|
||
| | Feature | Consumption (Y1) | Flex Consumption (FC1) | Premium (EP1-EP3) | Dedicated (B1-P3v3) | Container Apps | | ||
| |---------|:-:|:-:|:-:|:-:|:-:| | ||
| | **Max scale (instances)** | 200 | 1000 | 100 | 10-30 | 300 | |
There was a problem hiding this comment.
[F-008] [correctness] Container Apps max scale is understated. The Functions-on-Container-Apps maximum instance count is 300-1000 (300 is the portal default; up to 1000 is configurable subject to quota), so a flat 300 undercounts the ceiling for high-throughput workloads.
| | **Max scale (instances)** | 200 | 1000 | 100 | 10-30 | 300 | | |
| | **Max scale (instances)** | 200 | 1000 | 100 | 10-30 | 300-1000 | |
Ref: https://learn.microsoft.com/en-us/azure/azure-functions/functions-scale#scale
|
Hi Jon Gallant (@jongio), first business day back after the July 4th holiday. This one is ready for re-review. Everything you flagged has been addressed and all threads are resolved, so could you re-review and dismiss the stale changes-requested? The only red check is the pre-existing repo-wide eval failure, unrelated to this PR. Thanks! |
|
Hi Jon Gallant (@jongio), first business day back after the July 4th break. Everything you flagged here is addressed and all the threads are resolved, so this is ready for a re-review. When you have a moment, could you take another pass and dismiss the stale changes-requested? The only red check is the pre-existing repo-wide eval failure, which is unrelated to these changes. |
|
No description provided. |
|
Hi Jon Gallant (@jongio), this is ready for a re-review. Everything you flagged has been addressed and all the threads are resolved, so the changes-requested is now stale. Could you take another pass and dismiss it or re-approve? The only red check is the pre-existing repo-wide eval failure, which is unrelated to this PR. Today is the first business day after the July 4th holiday, so putting it back on your radar. Thanks! |
|
Jon Gallant (@jongio), this is ready for re-review. All prior comments are addressed and threads resolved. Could you re-review and dismiss the stale changes-requested review? The only red check is the pre-existing repo-wide |
|
Jon Gallant (@jongio) This is ready for re-review. All prior comments are addressed and threads are resolved. The only red check is the pre-existing repo-wide |
Closes #1612 | Parent: #1608
2 files: hosting-plans.md (Consumption vs Flex vs Premium vs Dedicated comparison matrix), cold-start.md (mitigation strategies per plan).