You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
Azure App Service is a fully managed platform-as-a-service (PaaS) for building, deploying, and scaling web applications and APIs. Unlike VMs, you don't manage the underlying infrastructure — Azure handles patching, load balancing, and scaling for you.
App Service lets you host web apps, REST APIs, and mobile backends in the language and framework of your choice without managing virtual machines. You deploy your code (or container) and Azure runs it.
| Feature | Description |
|---|---|
| Multi-language | .NET, Java, Node.js, Python, PHP, Ruby, Go, and custom containers |
| Auto-scaling | Scale out (add instances) and scale up (increase instance size) |
| Built-in CI/CD | Deploy from GitHub, Azure DevOps, Bitbucket, or local Git |
| Custom domains & SSL | Bring your own domain and manage TLS certificates |
| Authentication | Built-in auth with Entra ID, Google, Facebook, and other identity providers |
| VNet integration | Connect to resources in your virtual network |
| Deployment slots | Zero-downtime deployments with staging environments |
| Managed certificates | Free TLS certificates for custom domains |
Every App Service runs inside an App Service Plan, which defines the compute resources:
| Tier | Features | Use Case |
|---|---|---|
| Free (F1) | 1 GiB storage, shared compute, 60 min/day CPU | Testing and experimentation |
| Basic (B1–B3) | Dedicated compute, custom domains, manual scale (up to 3 instances) | Dev/test workloads |
| Standard (S1–S3) | Auto-scale (up to 10 instances), deployment slots, VNet integration | Production workloads |
| Premium v3 (P0v3–P3v3) | Zone redundancy, up to 30 instances, enhanced performance | High-traffic production |
| Isolated v2 (I1v2–I6v2) | Runs in an App Service Environment (ASE) on your dedicated network | Compliance, isolation |
# Create an App Service Plan
az appservice plan create \
--name myAppPlan \
--resource-group rg-app-demo \
--sku S1 \
--is-linux
# Create a web app
az webapp create \
--resource-group rg-app-demo \
--plan myAppPlan \
--name mywebapp2024 \
--runtime "NODE:20-lts"
| Method | Description |
|---|---|
| GitHub Actions | CI/CD pipeline triggered on push to a branch |
| Azure DevOps | Pipelines integrated with the Azure ecosystem |
| Local Git | Push from a local Git repository directly to App Service |
| ZIP deploy | Upload a ZIP file of your application |
| FTP/FTPS | Upload files directly (not recommended for production) |
App Service can run custom Docker containers:
az webapp create \
--resource-group rg-app-demo \
--plan myAppPlan \
--name mycontainerapp \
--deployment-container-image-name myregistry.azurecr.io/myapp:latest
You can also deploy multi-container applications using Docker Compose.
Deployment slots are live instances of your app with their own hostname. They enable zero-downtime deployments:
Production slot: mywebapp.azurewebsites.net (live traffic)
Staging slot: mywebapp-staging.azurewebsites.net (testing)
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.