Azure App Service Plans Overview
An App Service plan in Azure defines the compute resources a web app uses. Think of it as the “server farm” where your app runs. Multiple apps can share the same App Service plan, which means they share the same VMs, CPU, memory, and storage.
Key Attributes of an App Service Plan
-
Region: Geographic location of the compute resources (e.g., West US, East US).
-
VM Instances: Number of virtual machines allocated for the apps.
-
VM Size: Small, Medium, or Large, affecting CPU, memory, and storage.
How Apps Run and Scale
-
Free and Shared tiers: Apps share VM instances with other apps and cannot scale out.
-
Basic, Standard, Premium, Isolated tiers: Apps run on all VM instances in the plan and can scale based on demand. Autoscaling and deployment slots are supported in higher tiers.
Important: All apps in a plan share the same resources. Overloading a plan can affect all apps.
When to Use a Separate App Service Plan
Create a new plan when:
-
The app is resource-intensive.
-
You want to scale the app independently.
-
The app needs resources in a different region.
App Service Plan Pricing Tiers
| Tier | Usage | Apps | Disk Space | Max Instances | Auto Scale | Deployment Slots |
|---|---|---|---|---|---|---|
| Free | Dev/Test | 10 | 1 GB | – | No | – |
| Shared | Dev/Test | 100 | 1 GB | – | No | – |
| Basic | Dedicated Dev/Test | Unlimited | 10 GB | 3 | No | – |
| Standard | Production workloads | Unlimited | 50 GB | 10 | Yes | 5 |
| Premium | Enhanced performance | Unlimited | 250 GB | 30 | Yes | 20 |
| Isolated | Mission-critical | Unlimited | 1 TB | 100 | Yes | 20 |
Notes:
-
Free & Shared: Shared VMs, no SLA, for testing/dev only.
-
Basic: Low-traffic apps; supports Web App for Containers.
-
Standard: Production-ready, auto-scaling supported.
-
Premium: Faster VMs, SSD storage, more memory per core.
-
Isolated: Private environment, high security, up to 100+ instances.
Scaling App Service Plans
1. Scale Up (Vertical Scaling)
-
Increases VM size (CPU, memory, disk space) and adds features like:
-
Staging slots
-
Custom domains
-
Autoscaling
-
-
Achieved by changing the pricing tier.
2. Scale Out (Horizontal Scaling)
-
Increases the number of VM instances running your app.
-
Can be manual or automatic (autoscale):
-
Metric-based rules: Trigger scaling based on CPU, requests, or response time.
-
Time-based rules: Trigger scaling based on schedules (e.g., peak traffic times).
-
Considerations:
-
Set minimum instances to ensure availability.
-
Set maximum instances to control cost.
-
Use scale-out and scale-in rules together.
-
Configure notifications for autoscale events (email/webhooks).
Key Takeaways
-
App Service plans determine your app’s performance, scaling, and cost.
-
Choose the right tier based on traffic, workload, and features required.
-
Scaling can be vertical (scale up) or horizontal (scale out).
-
Autoscaling ensures resources match demand while optimizing cost.
-
Multiple apps can share a plan, but heavy apps may need separate plans to avoid resource contention.