What Does Azure App Service Plans Mean?
Also known as: Azure App Service Plans, App Service Plan, Azure App Service pricing tiers, AZ-204 App Service Plans, Azure scaling plan
On This Page
Quick Definition
An Azure App Service Plan is like the engine that powers your web or mobile app in the cloud. It decides how much CPU (processing power), memory, and storage your app can use. The plan also controls whether your app runs on a shared machine with other apps or on its own dedicated machine, and whether it can automatically adjust capacity when traffic changes.
Must Know for Exams
Azure App Service Plans are heavily tested in the Microsoft Azure Developer Associate (AZ-204) exam, specifically in the 'Develop Azure Compute Solutions' section. The exam objectives explicitly require you to 'create and configure App Service Plans' and 'implement scaling and high availability.' Expect at least 3 to 5 questions related to plans.
The exam may ask you to choose the correct plan tier for a given scenario, such as a workload that needs custom domain names, SSL support, or auto-scaling. It may also ask you to identify the impact of moving an app between plans. Other certifications like the Azure Administrator (AZ-104) and the Azure Solutions Architect (AZ-305) also cover App Service Plans.
In AZ-104, the focus is on managing and configuring plans, setting scaling rules, and monitoring resource usage. In AZ-305, the exam tests your ability to design a plan architecture that meets performance, cost, and compliance requirements. In all exams, you must know the difference between Free, Shared, Basic, Standard, Premium, and Isolated tiers.
You must also understand that scaling an App Service Plan scales all apps within it, not just one. Exam questions often present a scenario where an application requires more resources during a specific time of day. The correct answer will involve configuring autoscale rules on the plan.
They may also ask about the maximum number of apps in a plan (no hard limit, but resources are shared). Another common topic is slot swapping and how it relates to plans: when you swap deployment slots, both slots must be in the same plan. You must also understand that you can change the plan of an app without downtime, but the app will restart.
Knowing how to move an app to a different plan or tier is a common exam task.
Simple Meaning
Think of an Azure App Service Plan as the engine room of a ship. The ship itself is your web app, API, or mobile backend. The engine room contains the engines, fuel tanks, and control systems that determine how fast the ship can go, how far it can travel, and how many passengers it can carry.
Similarly, an App Service Plan holds the virtual machines (servers) that actually run your application code. The plan specifies the size of those virtual machines — how many CPU cores, how much RAM, and how much disk space. It also selects the tier or service level.
The Free tier is like a small rowboat: you can go a short distance, but you share the water with many other rowboats, and there’s little power. The Shared tier is like a ferry that shares the dock. The Basic tier gives you your own dedicated engine room; no one else uses it.
The Standard tier adds the ability to scale out — that is, add more engines when you need to go faster. The Premium tier is like having a powerful ocean liner with backup engines, advanced features, and the ability to handle huge numbers of passengers. Every app you deploy in Azure App Service must be inside a plan.
You can have multiple apps in one plan, and they share the plan’s resources. If you change the plan’s tier or size, all apps inside it are affected. That is why selecting the right plan is one of the first and most important decisions when building a cloud application.
Full Technical Definition
Azure App Service Plans are a logical container that defines the set of compute resources required to run one or more Azure App Service applications. The plan maps directly to a collection of virtual machine (VM) instances in the Azure fabric. These VMs are provisioned by Azure behind the scenes, and they are dedicated to hosting your applications.
The plan determines the region (data center location), the size (SKU) of the VM instances — ranging from B1 (1 core, 1.75 GB RAM) to P3V3 (8 cores, 56 GB RAM) in Premium v3 tier — and the number of instances. The pricing tier (Free, Shared, Basic, Standard, Premium, PremiumV2, PremiumV3, Isolated) dictates the feature set, the maximum number of apps you can host, the amount of disk space, the scaling capabilities, and the network isolation.
For example, Free and Shared tiers run on shared infrastructure where applications from multiple Azure customers may coexist on the same underlying VM. Basic and higher tiers provide dedicated compute, meaning your app has its own VM no other customer uses. The Standard and Premium tiers support auto-scaling based on metrics like CPU usage, memory pressure, or HTTP request queue length.
The Autoscale feature can increase or decrease the number of VM instances based on scheduled times or real-time performance metrics. Each plan also has a scaling limit: the maximum number of instances you can set. For Standard tier, the maximum is typically 10 to 30 depending on the region and configuration.
For Premium tiers, the maximum can go higher. The plan also defines the operating system (Windows or Linux) for the VMs, though some tiers only support Windows. Inside the plan, the App Service runtime environment provides a sandboxed process space for each application.
Each application runs in its own process (w3wp.exe for ASP.NET, node.js or python processes for others). The plan allocates CPU time and memory across apps using the VM’s resources.
The Azure load balancer distributes incoming HTTP or HTTPS requests across all VM instances in the plan. This means if you have a plan with three instances, each request could go to any of the three VMs. For stateful applications, you may need to use external session state providers like Azure Redis Cache or Azure SQL Database, because the instance handling a request could change at any time.
App Service Plans also implement network isolation features: VNet integration (Regional and Gateway-required), hybrid connections, and access restrictions via IP whitelisting. In Isolated tier, the plan runs inside a dedicated App Service Environment (ASE), which is fully isolated within your own virtual network, and is used for compliance-heavy workloads. In real IT environments, administrators often configure multiple plans for different environments (development, staging, production) to separate resource usage and cost.
They may also use separate plans for applications with different performance requirements, because one plan’s scaling and resource allocation affects all apps inside it.
Real-Life Example
Imagine a large office building with multiple departments. Each department has its own office space, but they all share the building’s central infrastructure: elevators, air conditioning, electricity, and internet connectivity. The building itself is the Azure region.
The floors are the different virtual machines in the plan. Each floor has a certain amount of space (CPU), number of desks (memory), and meeting rooms (storage). The office manager decides how many floors the building has and how they are allocated.
That office manager is the App Service Plan. Now, inside this building, different teams (web apps, APIs, functions) occupy different rooms on those floors. If the building has only one floor (one VM instance) and the marketing team (app A) runs a big campaign causing high traffic, they might use all the air conditioning and electricity, making the accounting team (app B) on the same floor slow.
That is what happens when multiple apps share the same plan. If the office manager upgrades the building to three floors (three VM instances), traffic can be spread across floors. But all teams still share each floor’s resources.
If the manager chooses the Standard tier, the building has dedicated floors only for that company (no other company allowed). In the Free or Shared tier, the building is like a coworking space where multiple companies share the same floor. If the manager picks the Isolated tier, the entire building is for one company only, inside a gated community (App Service Environment).
When the marketing team needs more space during a busy season, the manager can automatically add extra desks on each floor (scale out) until the season ends. This is autoscaling. But if the accounting team does not need that extra capacity, they also get the extra desks, because scaling affects the whole plan.
That is why it is wise to put applications with different load patterns into separate plans.
Why This Term Matters
Azure App Service Plans matter because they directly control the performance, cost, scalability, and availability of your web applications in Azure. In real IT work, choosing the wrong plan is one of the most common sources of performance problems and unexpected bills. For example, if an IT team deploys a production e-commerce site on the Free tier, the app will become unresponsive during peak shopping hours because the shared infrastructure throttles CPU and memory.
The site will exhibit slow response times or even time out. The team would then have to redeploy the app into a higher-tier plan, which can cause downtime if not done carefully. Similarly, if developers put multiple low-traffic internal tools into one Basic plan, they save money.
But if one tool suddenly gets heavy usage (say an internal reporting tool at month-end), it can starve the other apps of resources. Understanding plans helps sysadmins and DevOps engineers design cost-effective, reliable architectures. On the cost side, App Service Plans are what you pay for.
You are billed per hour for the VM instances in the plan regardless of how many apps run inside them. Therefore, consolidating apps into fewer plans reduces cost. But consolidation introduces resource contention, so balancing is key.
In terms of scaling, the plan is the unit of scaling. You cannot scale a single app independently unless you put it in its own plan. This impacts high-availability strategies. For mission-critical apps, you might create a plan with multiple instances behind a load balancer to ensure redundancy if one instance fails.
The plan also determines your service level agreement (SLA). Only plans with two or more instances qualify for the 99.95% SLA. Single-instance plans have no SLA. This is vital when signing contracts with clients.
From a security perspective, the Isolated tier with an App Service Environment is the only way to achieve full network isolation inside a virtual network. If an organization needs to comply with standards like PCI-DSS or HIPAA, they must understand the plan differences to meet compliance requirements.
How It Appears in Exam Questions
In certification exams, Azure App Service Plans appear in multiple question formats. Scenario-based questions are the most common. For example: 'You are deploying an ASP.NET Core web app that processes credit card payments.
The app must be PCI-DSS compliant and must scale out automatically during peak hours. You need the highest level of network isolation. Which App Service Plan tier should you select?'
Here, you must recognize that the Isolated tier (App Service Environment) provides network isolation, and also supports autoscaling. Another format is configuration questions: 'You need to configure autoscale for an App Service Plan that hosts three web apps. The plan is currently set to one instance.
CPU usage frequently exceeds 80% between 9 AM and 5 PM. You want to scale out to a maximum of four instances during that period. What should you do?' The answer involves creating an autoscale rule on the plan, not on individual apps.
Troubleshooting questions also appear: 'Users report slow performance on a web app. The app uses the Standard tier with one instance. CPU usage averages 85%. You need to improve performance with minimal cost increase.
What should you do?' The correct answer is to scale out (add more instances), not scale up (change to a larger VM size) unless cost is the same. Architecture questions ask you to design a solution: 'You are designing a solution for five REST APIs.
Each API has different traffic patterns. Two APIs handle background jobs with low traffic, while three APIs serve user requests with variable traffic. You need to minimize cost while ensuring performance isolation.
How many App Service Plans should you create?' The correct approach is at least two plans — one for the background APIs and one for the user-facing APIs — so that autoscaling one plan does not affect the others. Another pattern is scenario with cost constraints: 'You need to host 10 low-traffic web apps in a single Azure region.
Cost must be minimized. Which plan tier and configuration should you choose?' The answer is the Shared tier (if all apps do not need custom domains) or the Basic tier (if custom domains are needed) with a single instance, placing all 10 apps in one plan.
Some questions test the differences between scaling up (changing the VM size) and scaling out (adding more instances). They may ask in which scenario scaling up is better than scaling out — typically when the workload is CPU-bound on a single thread that cannot be parallelized.
Practise Azure App Service Plans Questions
Test your understanding with exam-style practice questions.
Example Scenario
Contoso Ltd. is a retail company with an online store that runs on Azure App Service. They also have a separate admin portal for managing inventory and orders. The online store experiences high traffic on Black Friday and during flash sales, but the admin portal is only used by staff during business hours.
The development team initially deploys both applications into a single Standard tier App Service Plan with two instances to save costs. During a flash sale, the online store’s traffic spikes. The autoscale rule increases the plan from two to six instances.
Because both apps share the plan, the admin portal also runs on six instances, even though its traffic remains low. This wastes resources and increases cost. After analyzing the situation, the team decides to create two separate App Service Plans.
The online store gets its own Standard plan with autoscaling from 2 to 10 instances. The admin portal gets a Basic plan with a single instance, because scaling is not needed. This change reduces the monthly cost by 30% while ensuring that the flash sale traffic does not cause performance issues for the admin portal.
Now, when the online store scales out, only the store’s instances increase, leaving the admin portal’s resources unchanged.
Common Mistakes
Thinking that each web app needs its own App Service Plan.
A single plan can host multiple apps, and they all share the plan's allocated resources. Having a separate plan for each app increases cost unnecessarily because you pay for the plan's VMs, not per app.
Place multiple apps that have similar resource requirements and traffic patterns into the same plan. Only use separate plans when you need performance isolation or different scaling rules.
Believing that scaling an App Service Plan scales only the app that is under load.
Scaling (either up or out) applies to every app in the plan. You cannot scale only one app within a shared plan. The plan's VM instances are the compute units, and all apps share them.
If you need to scale only one application independently, move it to its own App Service Plan.
Assuming the Free or Shared tier can handle production workloads with custom domains and SSL.
Free and Shared tiers do not support custom domain names with SSL bindings. They also have severe CPU, memory, and bandwidth limits. They are intended for development and testing only.
For any production workload that requires a custom domain and HTTPS, choose at least the Basic tier.
Choosing the Basic tier for an app that needs autoscaling.
Autoscaling (the ability to automatically add or remove VM instances based on metrics) is only available in the Standard tier and above. The Basic tier supports manual scaling only.
If you require automatic scaling based on load, select the Standard, Premium, or Isolated tier.
Exam Trap — Don't Get Fooled
A question that asks: 'You have three web apps in the same App Service Plan. CPU usage is high on one app. You need to increase resources only for that app. What should you do?' The trap answer is to increase the VM size or scale out the plan for the specific app.
Remember that an App Service Plan is a single pool of compute resources shared by all apps in that plan. You cannot allocate more CPU or memory to one app inside a plan. The only solution is to either move the high-CPU app to its own plan, or to scale the entire plan (which affects all apps).
In an exam, the correct answer will be to move the app to a separate plan.
Commonly Confused With
Azure App Service is the entire platform that lets you build and host web apps, APIs, and mobile backends. The App Service Plan is the container of compute resources within that platform. Think of App Service as the restaurant, and the App Service Plan as the kitchen inside it.
When you create a web app, you first select or create an App Service Plan. The plan is part of App Service, but they are not the same thing.
Azure Functions can run on an App Service Plan (dedicated plan) or on a consumption plan. In a consumption plan, you pay only when your code runs, and scaling is fully automatic. In an App Service Plan, you pay for the VM instances regardless of usage. The App Service Plan gives you more predictable performance and features like always-on.
A background job that runs only once a day is cheaper on a consumption plan. A customer-facing API that needs fast response times 24/7 is better on an App Service Plan.
Azure Virtual Machine Scale Sets let you manage a group of identical VMs with autoscaling. They give you full control over the OS and configuration. App Service Plans manage the VMs for you, so you do not have to install the OS or configure the web server. Scale Sets are Infrastructure as a Service (IaaS), while App Service Plans are Platform as a Service (PaaS).
If you need to run a custom Docker container that requires a specific Linux kernel module, you might use a Scale Set. If you just want to deploy a Node.js app without managing servers, use an App Service Plan.
Step-by-Step Breakdown
Define the application requirements
Determine the expected traffic level, peak usage times, required SLA, and compliance needs. Also decide whether you need custom domains, SSL, and autoscaling. This step informs the tier selection.
Create the App Service Plan in the Azure Portal, CLI, or ARM template
Specify the subscription, resource group, plan name, region, operating system (Windows or Linux), and pricing tier. For example, choosing 'S1' means Standard tier, 1 instance size. You can also set the number of initial instances. The plan is created as an ARM resource of type Microsoft.Web/serverfarms.
Assign applications to the plan
When you create or configure an App Service (web app, API app, or function), you select the App Service Plan. You can assign multiple apps to the same plan. Each app runs in its own sandbox but shares the plan's VM resources.
Configure scaling settings for the plan
For Standard and higher tiers, set autoscale rules. Define metrics (e.g., CPU > 80%), thresholds, scale-out and scale-in instance counts, and cool-down periods. Alternatively, manually scale by adjusting the instance count. Scaling out adds more VMs; scaling up changes the VM SKU size.
Monitor the plan's resource usage
Use Azure Monitor to track CPU percentage, memory percentage, HTTP response times, and request count for the plan. If one app consumes disproportionate resources, consider moving it to a separate plan. Alerts can notify when metrics cross thresholds.
Adjust the plan as needed over time
You can change the plan tier (e.g., from Standard to Premium) or switch to a different plan (move the app to another plan) without redeploying the app. However, the app will restart during the change. For production, plan the migration during maintenance windows.
Practical Mini-Lesson
In practice, Azure App Service Plans are the unit of both cost and performance management. Every Azure developer, DevOps engineer, or architect must understand how to size and configure them correctly. The first practical step is to analyze your application's resource profile.
A simple web API that serves a few thousand requests per day and requires a 99.9% uptime might work on a single instance of the Standard S1 plan. An e-commerce site with seasonal traffic might need an S3 plan with autoscaling from 2 to 20 instances.
For cost optimization, always check if you can consolidate low-traffic apps into a single plan. However, never mix apps with very different CPU or memory demands. If one app is compute-intensive (e.
g., image processing) and another is I/O-bound (e.g., file uploads), they can interfere with each other. In such cases, separate plans are better. Professionals also need to know how to configure autoscale rules.
The safest approach is to set a scale-out rule based on CPU usage breaching 70% for 5 minutes, and a scale-in rule when CPU drops below 30% for 10 minutes. The cool-down period (default 5 minutes) prevents rapid oscillation. Another important practice is to set instance limits to avoid runaway costs.
Always configure a maximum instance count (e.g., 10) even if autoscaling logic asks for more. Regarding deployment slots, remember that swapping slots (e.g., from staging to production) works only if both slots are in the same plan.
If you later move the production slot to a different plan, the swap operation will fail. Also, when using VNet integration with a plan, the integration applies to all apps in that plan. So if you only need VNet access for one app, you may want to isolate it in its own plan.
A common real-world mistake is leaving the plan on the Free tier after testing. Developers often deploy a test app on Free and then get busy, forgetting to upgrade. Later, the app becomes unavailable due to throttling, causing confusion.
The solution is to set up cost alerts and automate tagging, so that any plan on Free or Shared tier is flagged for review. In team environments, use Infrastructure as Code (ARM templates, Bicep, Terraform) to define plans with consistent naming and tier selection. For example, use a naming convention like plan-{environment}-{purpose} (e.
g., plan-prod-web-s1). This makes it clear which plan is for which workload. Finally, always test autoscaling rules in a non-production environment first. Simulate load using tools like Azure Load Testing or Apache JMeter to verify that the scaling behavior meets expectations without overshooting costs.
Memory Tip
Think 'SNAP' - Shared apps Never Afford Performance isolation. If you need isolation, separate plans. The plan is the 'power plant' that runs all apps inside it; you cannot power only one room.
Covered in These Exams
Current Exam Context
Current exam versions that test this topic — use these objectives when studying.
AZ-204AZ-204 →Related Glossary Terms
A 2-in-1 laptop is a portable computer that can switch between a traditional laptop form and a tablet form, usually by detaching or rotating the keyboard.
The 24-pin motherboard connector is the main power cable that connects the computer's power supply unit (PSU) to the motherboard, supplying electricity to the motherboard and its components.
Two-factor authentication (2FA) is a security method that requires two different types of proof before granting access to an account or system.
32-bit File Allocation Table (FAT32) is a file system that organizes data on storage devices like hard drives and USB flash drives using a 32-bit addressing scheme to track where files are stored.
A 3D printer is a device that creates physical objects by depositing layers of material based on a digital model.
5G is the fifth generation of cellular network technology, designed to deliver faster speeds, lower latency, and support for many more connected devices than previous generations.
The 8-pin CPU connector is a power cable from the power supply that delivers dedicated electricity to the processor on a computer's motherboard.
802.1Q is the networking standard that allows multiple virtual LANs (VLANs) to share a single physical network link by tagging Ethernet frames with VLAN identification information.
Frequently Asked Questions
Can I change the tier of my App Service Plan after creation?
Yes, you can change the pricing tier of an App Service Plan at any time. This is known as scaling up. The apps in the plan will restart during the change, so do it during a maintenance window for production apps.
How many apps can I run in one App Service Plan?
There is no hard limit on the number of apps, but all apps share the plan's compute resources. The practical limit depends on the tier and the resource consumption of each app. For example, a Standard S1 plan with one instance might handle 10 low-traffic apps, but a heavy app could fill it alone.
Do I pay for each app or for the plan?
You pay for the App Service Plan based on the VM instances it uses. You do not pay per app. So running multiple apps in one plan is more cost-effective, but you must ensure the apps fit within the plan's resources.
What is the difference between scaling up and scaling out?
Scaling up means changing to a larger VM size (e.g., from S1 to S3), which gives more CPU and memory per instance. Scaling out means adding more VM instances to the plan (e.g., from 1 to 3 instances) to distribute load. They are both valid strategies depending on the workload.
Can I use a custom domain with the Free tier?
No, custom domains are not supported in the Free or Shared tiers. Custom domain support is available from the Basic tier and above. You also need at least Basic tier for SSL bindings.
Does autoscaling work in the Basic tier?
No, autoscaling is only available in the Standard, Premium, and Isolated tiers. In Basic tier, you can manually change the instance count, but you cannot set rules for automatic scale adjustments.
Summary
Azure App Service Plans are the foundation of any web app hosted on Azure App Service. They control the compute power, pricing, scaling behavior, and network features of your applications. The plan is a set of virtual machine instances that host one or more apps.
Choosing the right plan tier — from Free through Isolated — depends on your need for custom domains, SSL, autoscaling, network isolation, and performance. A common mistake is assuming that scaling affects only one app or that each app needs its own plan. In reality, apps share the plan's resources, so consolidation saves money, but isolation prevents interference.
Exam questions from AZ-204, AZ-104, and AZ-305 frequently test your ability to select the correct tier for a scenario, configure autoscale rules, and understand the implications of moving apps between plans. Remember that the plan is the unit of scaling, cost, and SLA. Always match the plan tier to the workload's performance and compliance requirements, and use separate plans when you need independent scaling or performance guarantees.
Mastering App Service Plans is essential for any Azure developer or administrator, as they are the key to building cost-effective, scalable, and reliable cloud applications.