Azure App Service provides HTTP-based hosting for web apps, Rest APIs and Mobile Backends. This is the ideal service for hosting applications written in C#, NodeJS or Python.
The App Service Plan
To start using an App Service you must first create an App Service plan. This plan will define the various configurations on which your App Service runs. Plan configurations are primarily:
- Operating system — Windows or Linux
- Region — Europe, East US, etc.
- Number VM instances — Can even reach 100 instances (depending upon the pricing tier chosen)
- Size VM instances — small, medium, or large
- Pricing Tier — Free, Shared Basic, Standard Premium PremiumV2, PremiumV3 Isolated or IsolatedV2
You can create App Services after creating the App Service plan. These App Services will run on your VM instances. You can test the App Service capabilities in Azure using the free plan. This plan offers up to 60 minutes per day of computing time.
Azure App Service offers direct integration to services like Azure DevOps (Azure DevOps), GitHub, BitBucket or Docker Hub.
If you use Azure DevOps you can create a new release pipeline and add a task that will deploy a build to an Azure App service.
Azure App Service allows for multiple deployment slots to be configured, which can be used as different environments (such as Development and UAT) for your application.
On every deployment slot, you can configure environment-dependent variables, such as connection strings, passwords, or API keys. These configurations are automatically injected into the code of your application depending on the environment it’s running in.
App Service, for example, automatically replaces variables in your appssettings.json files with the same names if you are running a C#-based backend. This is usually the best place to replace database connections that vary based on their environments.
By creating Azure App Insights and connecting it with the desired App Service, you can monitor each request made to an Azure App Service.
You can see how the App Service is performing, including how many requests it processes per day, how many failed, and a detailed track. This is a great tool to use when debugging an error in production or any other remote environment.
Azure App Service opens up many opportunities for developers, allowing them to share their ideas with the world. This service has many interesting features, including its ability to autoscale to meet demand and integrate CDNs, as well as Docker.