What is Azure App Service Plan?
By: Ishmeet Kaur
Tags: Deployment, Azure Administrator, App Service, Azure App Service

Azure App service(in short): Azure PaaS service is the platform that handles infrastructure so developers can focus on the core web apps and services. It provides enterprise grade security and compliance.

The apps including Web Apps, API Apps, Mobile Apps or Function Apps(optional) runs in an App Service plan. It defines a set of compute resources for a web app to run. More than one app can be configured to run on the same computing resources in the same App Service plan.

When you create an App Service plan in a certain region (for eg: central US), a set of compute resources is created for that plan in that region. Each App Service plan defines:

Region (West US, East US, etc.)

Number of VM instances

Size of VM instances (Small, Medium, Large)

Pricing tier (Free, Shared, Basic, Standard, Premium, PremiumV2, PremiumV3, Isolated)

The App Service features\services can differ with the pricing tier of an App Service plan. There are a few categories of pricing tiers:

Shared compute (Free and Shared, the two base tiers): The tiers allocate CPU quotas to each app that runs on the shared resources. The resources cannot scale out. It run an app on the same Azure VM where apps from other customers is also running. This tier is used for development and testing purpose.

The tiers allocate CPU quotas to each app that runs on the shared resources. The resources cannot scale out. It run an app on the same Azure VM where apps from other customers is also running. This tier is used for development and testing purpose. Dedicated compute(Basic, Standard, Premium, PremiumV2, and PremiumV3 tiers): More VM instances are available for scale-out with higher tier number. It run apps on dedicated Azure VMs. Only apps in the same App Service plan share the same compute resources.

More VM instances are available for scale-out with higher tier number. It run apps on dedicated Azure VMs. Only apps in the same App Service plan share the same compute resources. Isolated compute: This tier runs dedicated Azure VMs on dedicated Azure Virtual Networks. It provides network isolation on top of compute isolation to your apps. It provides the maximum scale-out capabilities.

Each tier also provides a specific subset of App Service features. For each tier feature detail refer the below link: https://azure.microsoft.com/en-us/pricing/details/app-service/windows/

Features of App Services

Custom Domains in Settings

2.TLS/SSL Certificates for making secure connections

3. Autoscaling:

For scale up, change app service plan. For scale out, increase number of VM instances.

3. In auto scale for scale out, various rules can be implemented according to schedules and metrices

4. Deployment Slots

For deploying a new production build, deployment slots can be used. On using a Standard App Service Plan tier or better , the new app can be deployed to a staging environment. On validating the changes and performing smoke tests, whenever its ready it can swap your staging and production slots. The swap operation also warms up the necessary worker instances to match your production scale, thus eliminating downtime. For setting deployment slot refer :https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots

If the project has designated branches for testing, QA, and staging, then each of those branches should be continuously deployed to a staging slot (known as the Gitflow Design).Refer the link:https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

Continuous deployment enables swapping into production instead of deploying to production. It prevents downtime and allows to rollback the changes by swapping again. The production branch (often master) should be deployed onto a non-production slot. When you are ready to release the base branch, swap it into the production slot.

Azure DevOps can also be used for Continuous deployment to Azure app service.

5. Backups:

Required the standard or Premium App service Plan

2. Backups can be up to 10 GB of app and database content.

https://docs.microsoft.com/en-us/azure/app-service/manage-backup

6. Traffic Manager integration

App service can be integrated with Traffic manger if Azure Traffic Manager is used for load balancing traffic to azure app service. The App Service app can be accessed using <traffic-manager-endpoint>.trafficmanager.net. The custom domain name, such as www.contoso.com can be assigned to App Service app in order to provide a more recognizable domain name for your users.

7.Application Insights

Application insights can be used to monitor app services to provide the alerts ,display details on power BI, perform further steps by calling REST API

Diagnostic settings can also be enables to track the logs of app services and display it in Azure Monitor.