When it comes to provisioning serverless compute, the Azure CLI command az functionapp create is our most powerful tool. In this article, I’ll walk you through how to master this command, ensuring your infrastructure deployments are repeatable, secure, and production-ready.
az functionapp create
What is az functionapp create and Why Does It Matter?
At its core, az functionapp create is the command-line interface tool used to provision the environment required to host your serverless logic. Unlike traditional server-based deployments where you manage the OS, Azure Functions allows us to focus purely on the event-driven code.
When we run this command, we are essentially defining the backbone of our serverless application:
- The Hosting Plan: Defining where the compute lives (Consumption, Premium, or Dedicated).
- The Runtime: Configuring the language stack (C#, Python, Node.js, etc.).
- The Storage Binding: Connecting the function app to the required Azure Storage account for state and management.
Prerequisites:
Before we execute the creation command, we must ensure our Azure environment is prepared.
| Requirement | Description | Best Practice |
| Azure CLI | The core tool installed on your local machine. | Keep it updated to the latest version. |
| Resource Group | The container for all related resources. | Use a descriptive naming convention (e.g., rg-app-production-us-001). |
| Storage Account | Required for persistent storage of your code. | Use Standard_LRS for basic needs or Standard_GRS for redundancy. |
The Anatomy of the Creation Command
To write authoritative scripts, you must understand the parameters. I prefer using the standard syntax in my CI/CD pipelines to ensure consistency.
Basic Syntax
Bash
az functionapp create \
--name <App_Name> \
--storage-account <Storage_Account_Name> \
--resource-group <Resource_Group_Name> \
--consumption-plan-location <Location> \
--runtime <Runtime_Stack> \
--functions-version 4
Key Parameters Breakdown
--name: Must be globally unique within theazurewebsites.netdomain.--storage-account: The storage account provides the necessary metadata and logging capabilities.--consumption-plan-location: This defines the region, such aseastusorwestus2.--runtime: Defines your stack. Common options includedotnet,python,node, andjava.
Selecting the Right Hosting Plan
One of the most important decisions I make as an architect is selecting the hosting plan. This isn’t just about cost; it’s about performance requirements.
Comparison Table for Hosting Plans
| Plan Type | Best For | Scaling Behavior |
| Consumption | Variable/Unpredictable traffic. | Scales automatically to zero when idle. |
| Premium | Low latency and heavy workloads. | Always-ready instances; no cold starts. |
| App Service | High-density or complex network needs. | Dedicated compu |