Azure App Service plan
In Azure App Service, an app runs in an App Service plan. An App Service plan explains a set of compute resources for a web app to run. These compute resources are being served as analogous to the server farm in conventional web hosting. One or more apps can be configured to run on the same computing resources (or in the same App Service plan) for the betterment.
When you create an App Service plan in a certain region (for example, West Europe), a set of compute resources is created for that plan in that specific region. Whatever apps you put into this specific App Service plan run on these compute resources as defined by your App Service plan. Each App Service plan defines as follows:
- Firstly, Region (West US, East US, etc.)
- Secondly, Number of VM instances
- Also, Size of VM instances (Small, Medium, Large)
- Finally, Pricing tier (Free, Shared, Basic, Standard, Premium, PremiumV2, Isolated)
- The pricing tier of an App Service plan helps to determine what App Service features you get and how much you are willing to pay for the plan. There are a few categories of pricing tiers:
- Firstly, Shared compute: Free and Shared, the two base tiers, runs an app on the same Azure VM as other App Service apps, including apps of another customers. These tiers allocate CPU quotas to each app that runs on the shared resources, and the resources cannot scale them out.
- Also, Dedicated compute: The Basic, Standard, Premium, and PremiumV2 tiers run apps that are on dedicated Azure VMs. Only apps in the same App Service plan are sharing the same compute resources. The higher the tier, the more VM instances are made available to you for scaling-out.
- Lastly, Isolated: This tier runs dedicated Azure VMs that are on dedicated Azure Virtual Networks. It provides network isolation on top of computation isolation to your apps. It provides the maximum of the scale-out capabilities.
App Service Free and Shared Preview
App Service Free and Shared (preview) hosting plans are base tiers that run on the same Azure virtual machines as other App Service apps. Some apps may belong to other customers. These tiers are intended to be used only for development and testing purposes.
Each tier also provides a specific subset of App Service features. These features include custom domains and TLS/SSL certificates, autoscaling, deployment slots, backups, Traffic Manager integration, and more. Also, The higher the tier, the more features are available. To find out which features are supported in each pricing tier, see App Service plan details.
Also, Note following – The new PremiumV2 pricing tier provides Dv2-series VMs with faster processors, SSD storage, and double memory-to-core ratio when comparing to Standard tier. PremiumV2 also supports higher scale via increased instance count while still providing all the advanced capabilities found in the Standard plan. However, All features available in the existing Premium tier are included in PremiumV2.
Similar to other dedicated tiers, three VM sizes are available for this tier:
- Firstly, Small (one CPU core, 3.5 GiB of memory)
- Secondly, Medium (two CPU cores, 7 GiB of memory)
- Thirdly, Large (four CPU cores, 14 GiB of memory)
How does my app run and scale?
In the Free and Shared tiers, an app receives CPU minutes on a shared VM example and cannot scale out. In other tiers, an app runs and scales as mentioned below.
When you are creating an app in App Service, it is put into an App Service plan. When the app is excecuted, it runs on all the VM instances configured in the App Service plan. If many apps are in the same App Service plan, they all share the same VM instances. Subsequently, If you have many deployment slots for an app, all deployment slots also run on the same VM instances. Also, If you make sure to enable diagnostic logs, perform backups, or run WebJobs, they also use CPU cycles and memory on these VM instances.
Subsequently, In this way, the App Service is the scale unit of the App Service apps. If the plan is allowed to configured to run five VM instances, then all apps in the plan run on all five instances. If the plan is allowed for configured for autoscaling, then all apps in the plan are scaled out together based on the autoscale settings.
Reference documentation –Azure App Service plan overview