4.1.5.1. Create and Configure App Service Plans
š” First Principle: An App Service Plan defines the underlying compute resources (region, VM size, instance count) that power your web applications, fundamentally determining their performance, scalability, and available features.
Scenario: You need to host a new production web application that requires automatic scaling, daily backups, and the ability to use deployment slots for zero-downtime updates. You also have a small development web app that can share the same compute resources.
What It Is: An App Service plan is a set of compute resources that your App Service apps run on.
Relationship: The App Service is your application code; the App Service plan is the underlying infrastructure. Multiple apps can share a single plan.
Pricing Tiers Overview (Azure App Service Pricing):
Tier | Use Case | Key Features |
---|---|---|
Free/Shared | Dev/test | Limited features, no custom domains, no SLA |
Basic | Dev/test | Custom domains, manual scaling, no auto-scale, dedicated VM instances |
Standard | Production | Auto-scaling, staging slots, daily backups, Traffic Manager integration |
Premium | High performance | Enhanced scaling, VNet integration, faster CPUs, private endpoints |
Isolated | Max security | Dedicated VNet, full isolation, enterprise-grade, highest cost |
Configuration Steps:
- Create: Use Azure Portal, Azure CLI, or ARM templates to create a plan.
- Scale: Adjust instance count manually or enable auto-scaling (Standard and above).
- Assign Apps: Deploy one or more App Service apps to the plan.
Visual: App Service Plan and Applications
Loading diagram...
ā ļø Common Pitfall: Choosing a pricing tier that doesn't support required features. For example, selecting the Basic tier when you need deployment slots, which are only available in Standard and above.
Key Trade-Offs:
- Cost vs. Features/Scalability: Higher pricing tiers unlock more features (like slots, VNet integration) and better performance/scaling options, but at a higher cost.
Reflection Question: How does creating and configuring an Azure App Service plan (choosing an appropriate pricing tier like Standard or Premium) fundamentally provide a scalable, managed, and cost-effective compute environment, balancing cost, performance, and required features for your web application?