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.
Table of Contents
- How To Deploy Function App In Azure Portal
- Why Deploy via the Azure Portal?
- Step 1: Laying the Groundwork (Prerequisites)
- Step 2: Creating the Function App Resource
- Step 3: Selecting the Right Hosting Plan
- Step 4: Networking and Monitoring
- Hosting & Storage
- Monitoring with Application Insights
- Step 5: Review and Create
- Step 6: Creating Your First Function (The “Hello World”)
- Best Practices
- Troubleshooting Common Issues
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.
3. Dedicated (App Service) Plan
You run your functions on dedicated VMs.
- Best for: If you already have an App Service running other web apps and have spare capacity.
4. Flex Consumption (New)
The latest tier that combines the best of Consumption and Premium, offering fast scaling and more deterministic behavior.
Step 4: Networking and Monitoring
After picking your plan, you’ll see tabs for Hosting, Networking, and Monitoring.
Hosting & Storage
Azure will automatically suggest a storage account. If you are in a production environment, I recommend creating a dedicated storage account to avoid performance bottlenecks shared with other apps.

Monitoring with Application Insights
Enable this! I cannot stress this enough. Application Insights is your “black box” flight recorder. It logs every failure, every slow request, and every system exception. Without it, debugging a serverless function is like trying to find a needle in a dark room.

Step 5: Review and Create
Once you’ve filled out the details:
- Click Review + Create.
- Azure will run a validation check. If it passes, click Create.
- Wait about 2-3 minutes for the deployment to finish. You’ll see a “Your deployment is complete” message.

Step 6: Creating Your First Function (The “Hello World”)
Now that the “container” is ready, we need to put some code in it.
- Go to your new Function App resource.
- In the left-hand menu, click on Functions.
- Click + Create.
- Select a Template: I recommend starting with the HTTP Trigger. It’s the easiest to test.
- Authorization Level: Set this to “Function” or “Anonymous” for testing. “Function” requires a key to call the API, which is safer.
Understanding Triggers and Bindings
This is the “secret sauce” of Azure Functions.
- Triggers: What makes the code run? (HTTP, Timer, Blob Storage).
- Input Bindings: Data the function reads before starting.
- Output Bindings: Where the function sends data when finished (e.g., writing to a SQL Database or a Queue).
Best Practices
When I consult for firms in tech hubs like Austin or Seattle, I always emphasize these three pillars of Azure deployment:
1. Naming Conventions
Don’t just name things “test.” Use a structured format:
[Service]-[Environment]-[Region]-[Instance]
Example: func-billing-prod-westus-001
2. Use Tags
Tags are metadata that help you track costs. Tag your resources by:
- Department: Finance, Engineering, Marketing.
- Environment: Production, Staging, Dev.
- Owner: John Doe.
3. Security First
Never hardcode connection strings in your code. Use the Configuration section under “Settings” to store your secrets as Environment Variables, or better yet, link them to Azure Key Vault.
Troubleshooting Common Issues
Even the best of us run into walls. Here are the top three issues I see when deploying via the portal:
- Deployment Failures: Usually caused by a name conflict or reaching a quota limit in your subscription.
- 401 Unauthorized: You’re likely trying to call your function without the
x-functions-keyheader. - Storage Account Errors: Ensure your storage account and function app are in the same region. Cross-region communication adds latency and costs.
Conclusion
Deploying an Azure Function App via the portal is an empowering experience. It strips away the complexity of server management and lets you focus on what really matters: writing great code. By following this guide, you’ve not only deployed a function but also set the stage for a scalable, professional-grade cloud architecture.
You may also like the following articles:

I am Rajkishore, and I am a Microsoft Certified IT Consultant. I have over 14 years of experience in Microsoft Azure and AWS, with good experience in Azure Functions, Storage, Virtual Machines, Logic Apps, PowerShell Commands, CLI Commands, Machine Learning, AI, Azure Cognitive Services, DevOps, etc. Not only that, I do have good real-time experience in designing and developing cloud-native data integrations on Azure or AWS, etc. I hope you will learn from these practical Azure tutorials. Read more.
