Deploy an Azure Function App — Step-by-Step Guide

This tutorial shows you how to deploy your first Azure Function App using Azure CLI, VS Code, and Azure Portal — beginner friendly.

Azure Functions allow you to run small pieces of code in the cloud without managing servers.
In this guide, you'll deploy a fully working Function App using the Azure CLI.

Azure Functions Logo


Prerequisites

Before starting, make sure you have the following installed:

  • Azure CLI
  • Node.js or Python runtime
  • VS Code with Azure Functions extension
  • An Azure subscription
  • Git (optional)

You can download the Azure CLI here:
👉 https://learn.microsoft.com/cli/azure

Optional tools:

  • Docker
  • Azurite (local storage emulator)

📌 Feature Overview Table (Markdown Table Example)

Feature Supported Notes
Serverless compute ✅ Yes Pay per execution
Multiple runtimes ✅ Yes Node, Python, C#, Java
Local debugging ✔️ Yes Via VS Code
Containers ⚠️ Limited Use Premium plan

Step 1 — Create a Function App

Start by creating a Resource Group and a Storage Account:

Bash
az group create --location westus --name serverless-demo

az storage account create   --name myfuncstorage   --location westus   --resource-group serverless-demo   --sku Standard_LRS

Task Checklist (Task List Example)

  • Install Azure CLI
  • Create resource group
  • Create storage account
  • Deploy Function App
  • Test endpoint

Step 2 — Initialize a New Function

Create a new project locally:

Bash
func init myfunction --worker-runtime node
cd myfunction
func new

💡 Tip: If you're using Python, replace --worker-runtime node with --worker-runtime python.

Nested List Example

  1. Initialize project
  2. Choose runtime
    • Node.js
    • Python
    • C#
  3. Create your first function

Step 3 — Deploy to Azure

Deploy your function with:

Bash
func azure functionapp publish my-function-app

Inline Code Example

Use func start to run your Function locally.


Step 4 — Test the Function

After deployment, go to the Azure Portal → Function App → copy the Invoke URL.

You can test the endpoint using curl:

Bash
curl https://my-function-app.azurewebsites.net/api/HttpTrigger1?name=ChatGPT

📺 Embedded Video (HTML Block in Markdown)

HTML
<video controls width="600" poster="https://yourblob.blob.core.windows.net/posts/img/video-preview.png">
  <source src="https://yourblob.blob.core.windows.net/posts/videos/azure-function-demo.mp4" type="video/mp4" />
  Your browser does not support the video tag.
</video>

📦 Tip: Environment Variables

Make sure to configure:

Text
AzureWebJobsStorage=<connection-string>
FUNCTIONS_WORKER_RUNTIME=node

📌 Footnotes Example

Azure Functions are highly scalable.[^1]

[^1]: Scalability depends on your hosting tier (Consumption, Premium, Dedicated).


✨ Quote Example

"Serverless is not about running without servers;
it's about not having to manage them."
— Cloud Architect


Final Thoughts

You’ve now deployed your first Azure Function using the Azure CLI and Function Core Tools.
Feel free to extend this by:

  • Adding CI/CD
  • Binding to Storage Queues
  • Consuming Event Grid events
  • Deploying with Bicep or Terraform

🎉 Congratulations—You're serverless!