March 2, 2024

Azure App Service

This is a managed HTTP-based service for hosting web applications, REST APIs, and mobile back-ends. Apps can be developed using popular languages and frameworks such as .NET, .NET Core, Node.js, PHP, Python, Ruby or Java.

Apps can run in Windows or Linux environments. You can even containerise your app and deploy it onto Azure App Service.

You can deploy your app in a number of ways:

You can even down load the ‘Publish Profile’ for the App Service and deploy your app using Visual Studio (https://docs.microsoft.com/en-us/visualstudio/deployment/tutorial-import-publish-settings-azure?view=vs-2019)

Deployment slots

A cool feature on Azure App Service is ‘Deployment Slots’. You can create a development deployment slot where you can push your code to test on Azure. Once you are happy with your code, you can easily swap the development deployment slot with the staging slot. When the staging environment has been satisfactorily tested by the QA team, you can then swap the staging slot with the production slot. Once deployed, if there are any issues in the new release to production then you can swap it back with the old version. You do all this with a few simple mouse clicks in the Azure portal.

Creating a new Web App on Azure App Services

On the Azure Portal, you can create a new Web App by either:

  • clicking on the ‘App Services’ resource on the Portal menu
  • or search for ‘app services’ in the search bar
  • or click on ‘create a resource’ on the portal menu and then search for ‘web app’

Either method will take you to the ‘Create web App’ blade:

Here, you will need to specify the Resource Group, the target operating system, publishing code or a container, the runtime stack for the app (.Net, Java, node.js, Ruby, and etc, the app service plan to host this app (or you can create a new one here).

There are several pricing tiers for the hardware configuration (https://azure.microsoft.com/en-gb/pricing/details/app-service/windows/).

All ‘Production’ pricing tiers include:

  • the possibility to configure customs domains and SSL
  • auto scaling of instances based on rules you can specify
  • the possibility to create multiple ‘Staging Slots’
  • Daily frequent backups
  • Azure Compute Units (ACU), RAM, and Storage

What’s the difference between App Service, App Service Plan, and Web App?

App Service: Is the Azure PaaS offering that integrates Azure Websites, Mobile Services, and other services into a single service. These are classed as Web Apps.

App Service Plan: Is a collection of physical resources (i.e. Virtual Machine) for the App service. An App Service Plan can host multiple Web Apps. In terms of billing, if you create more than one web app in a single app service plan, then you will only be charged once. i.e. you pay for the app service plan.