Today, I’m going to walk you through the process of deploying an Azure Function App directly within the Azure Portal. We will cover everything from initial setup to choosing the right hosting plan, ensuring your deployment is seamless and cost-effective.
How To Deploy Function App In Azure Portal
An Azure Function App is the container that hosts your individual functions. Think of it as the “logic home.” It provides the execution context, environment variables, and scaling rules for your code.
In the world of serverless, you only pay for what you use. This “event-driven” model means your code stays dormant until a specific trigger—like an HTTP request or a message in a queue—wakes it up.
Why Deploy via the Azure Portal?
While many enterprise environments use CI/CD pipelines (like GitHub Actions or Azure DevOps), the Azure Portal remains the gold standard for:
- Prototyping: Quickly testing a concept without setting up a repository.
- Learning: Seeing the underlying infrastructure and how services connect.
- Small-Scale Projects: Simple automation tasks that don’t require complex overhead.
Step 1: Laying the Groundwork (Prerequisites)
To follow along with this tutorial, you’ll need a few basics in place:
- An Active Azure Subscription: If you don’t have one, Microsoft offers a free tier for 12 months with a $200 credit.
- A Resource Group: This is a logical folder where all your Azure assets live. I usually name mine something like
rg-product-dev-eastus. - A Storage Account: Azure Functions require a storage account for internal operations like managing triggers and logging function executions.
Step 2: Creating the Function App Resource
Let’s dive into the portal. Head over to portal.azure.com and sign in.
- Search and Select: In the top search bar, type “Function App” and select it from the services list.
- Start the Wizard: Click the + Create button.
- The Basics Tab: This is where we define all the details of our app. Check out the screenshot below for your reference.
Key Configuration Settings
| Setting | Recommendation | Description |
| Subscription | Select your primary | The account billed for resources. |
| Resource Group | rg-serverless-usa | Use an existing one or create a new one. |
| Function App Name | func-orderprocessor-01 | Must be globally unique (e.g., ends in .azurewebsites.net). |
| Publish | Code | Choose “Code” for most scenarios (Docker is for containers). |
| Runtime Stack | .NET / Python / Node.js | Pick the language you are most comfortable with. |
| Version | Latest (e.g., .NET 8 LTS) | Always aim for Long Term Support (LTS) versions. |
| Region | East US or West US | Choose the region closest to your end users. |
Pro Tip: In the USA, East US and West US 2 are often the most feature-rich regions with the lowest latency for domestic traffic.

Step 3: Selecting the Right Hosting Plan
This is the step where most beginners get stuck. Azure offers different hosting models, and choosing the wrong one can lead to “cold starts” or unexpected bills.
1. Consumption Plan (Serverless)
This is the “true” serverless experience. You are billed based on the number of executions and memory usage.
- Best for: Variable workloads, low-cost projects, and apps that can tolerate a slight delay (cold start) after being idle.
2. Premium Plan (Elastic Premium)
This plan keeps your functions “warm” to eliminate cold starts and allows for VNet integration.
- Best for: Enterprise apps requiring high performance and enhanced security.