Hosting Options¶
Choosing the right hosting plan is the highest-impact early decision for an Azure Functions workload.
This page compares the four plans covered in this guide: Consumption (Y1), Flex Consumption (FC1), Premium (EP), and Dedicated (App Service Plan).
All comparisons are based on Microsoft Learn documentation.
flowchart TD
A[Start] --> B{New serverless app?}
B -->|Yes| C[Flex Consumption]
B -->|No| D{Need warm capacity controls?}
D -->|Yes| E[Premium]
D -->|No| F{Already on App Service capacity?}
F -->|Yes| G[Dedicated]
F -->|No| H[Consumption\nlegacy only] Quick guidance¶
- Start with Flex Consumption for most new serverless apps.
- Use Premium when you need stronger cold-start control and advanced enterprise patterns.
- Use Dedicated when you already operate App Service capacity or need fixed, predictable capacity behavior.
- Use Consumption (Y1) only when legacy constraints require it (especially Windows-only dependencies).
Reference:
Decision matrix¶
| Dimension | Consumption (Y1) | Flex Consumption (FC1) | Premium (EP) | Dedicated (App Service Plan) |
|---|---|---|---|---|
| Positioning | Legacy serverless plan | Recommended serverless plan for new apps | Elastic premium serverless | Fixed-capacity App Service hosting |
| Scaling model | Event-driven scale | Fast event-driven scale with per-function scaling behavior | Event-driven elastic scale with warm capacity controls | Manual or autoscale via App Service autoscale |
| Cold-start profile | Can scale to zero; startup latency possible | Improved cold-start behavior; optional always-ready instances | Always-ready + prewarmed instance options for minimal cold-start impact | Host can run continuously; cold start less relevant with Always On |
| VNet integration | Not supported in the same way as FC1/EP for serverless patterns | Supported | Supported | Supported |
| Pricing model | Execution-based billing | Execution-based + memory + optional always-ready baseline billing | Core and memory allocation billing with minimum active capacity | App Service plan billing regardless of function executions |
| Timeout defaults and limits | Default 5 minutes, max 10 minutes | Default 30 minutes, max unbounded (with platform caveats) | Default 30 minutes, max unbounded (with platform caveats) | Default 30 minutes, max unbounded when Always On is configured |
| Deployment model highlights | Standard Functions deployment flows | Package-based deployment flow; no traditional Kudu/SCM path | Standard App Service/Functions deployment ecosystem | Full App Service deployment ecosystem |
| Key features | Pay-per-execution simplicity, Windows support | Serverless + VNet + per-function scaling + memory size choice | Warm instances, long-running workloads, VNet, higher control | Consolidate with existing App Service apps and capacity |
| Notable constraints | Legacy status; Linux retirement milestones published | Linux-only, one app per FC1 plan, no deployment slots | Minimum billed warm capacity | Requires capacity planning and Always On considerations |
Detailed plan notes¶
Consumption (Y1)¶
Use when you have a legacy dependency that still requires this plan, especially Windows-specific scenarios.
Important Microsoft Learn notes:
- Classified as a legacy hosting option
- New serverless apps should generally use Flex Consumption
- Linux Consumption has retirement milestones and reduced future language/version evolution
Reference:
Flex Consumption (FC1)¶
Use for most new serverless workloads.
Strengths:
- Event-driven serverless economics
- VNet integration support
- Configurable instance memory sizes
- Per-function scaling behavior and concurrency tuning
- Optional always-ready instances for lower startup latency
Reference:
Premium (EP)¶
Use when you need serverless elasticity with stronger warm-capacity control and broader enterprise knobs.
Strengths:
- Always-ready and prewarmed instances
- VNet integration
- Longer execution support with unbounded timeout configuration path
- Multiple apps per plan and richer App Service integration model
Reference:
Dedicated (App Service Plan)¶
Use when you already run App Service capacity and want to colocate functions with predictable resource allocation.
Strengths:
- Fixed capacity model with standard App Service economics
- Works well for always-on style workloads
- Useful when consolidation with existing web apps is intentional
Reference:
Decision flow¶
Use this sequence to pick a plan with minimal rework:
- Need new serverless app? Start with FC1.
- Need strict warm capacity behavior or multi-app premium hosting? Evaluate EP.
- Already paying for underutilized App Service capacity? Evaluate Dedicated.
- Blocked by legacy Windows-only requirements? Use Y1 with migration plan toward FC1 where feasible.
Operational implications to confirm early¶
Before finalizing a plan, confirm:
- Expected idle/burst traffic pattern
- Required private networking model
- HTTP latency expectations during scale events
- Long-running execution requirements and timeout policy
- Deployment strategy (including rollback behavior)
Platform Guide
For architecture rationale behind plan behavior, see Hosting Plans and Scaling.
Operations Guide
For deployment and monitoring runbooks after plan selection, see Deployment and Monitoring.
CLI examples (long flags only)¶
Use these examples as pattern references only. Validate exact command combinations with current Microsoft Learn CLI pages before production use.
az functionapp create \
--resource-group "$RG" \
--name "$APP_NAME" \
--storage-account "$STORAGE_NAME" \
--consumption-plan-location "$LOCATION" \
--runtime python \
--functions-version 4
az functionapp plan create \
--resource-group "$RG" \
--name "$PLAN_NAME" \
--location "$LOCATION" \
--sku EP1 \
--is-linux
If sharing output snippets in runbooks, mask identifiers:
{
"id": "/subscriptions/<subscription-id>/resourceGroups/rg-example/providers/Microsoft.Web/sites/func-example",
"principalId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tenantId": "<tenant-id>"
}
Cost guidance¶
Do not hardcode plan pricing into internal docs because regional and meter-specific pricing changes.
Use official pricing tools:
See Also¶
- Overview
- Learning Paths
- Repository Map
- Platform Hosting
- Deployment Scenarios — Cross-plan comparison of VNet, PE, identity, and deployment patterns