Difference between Azure App Service plans & Webapp for containers

rewanth 1 Reputation point
2021-09-30T09:31:08.177+00:00

Please help me with the difference between the Azure app service plan & Webapp for containers.

we have deployed the webapps,functions on webapp for containers plan and lately realized that its not an azure app service plan. One of my devops engineer made a slight mistake in the following arm template with the kind "Windows".

We noticed that when i change the kind parameter value to "windows". It will deploy the Webapp for containers and if i change the kind parameter value to "app".It will deploy the actual app service plan.

{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "Appserviceplanname": {
            "type": "string",
            "defaultValue": "asp-webapplan",
        },
        "sku": {
            "type": "string",
            "defaultValue": "Standard",
            "allowedValues": [
                "Standard",
                "Basic"
            ]
        },
        "skucode": {
            "type": "string",
            "defaultValue": "S1",
            "allowedValues": [
                "S1",
                "B1"
            ]
        }
    },
    "resources": [
        {
            "apiVersion": "2018-11-01",
            "name": "[parameters('Appserviceplanname')]",
            "type": "Microsoft.Web/serverfarms",
            "location": "[resourceGroup().location]",
            "kind": "windows",            
            "properties": {
                "name": "[parameters('Appserviceplanname')]",            
                "numberOfWorkers": 1                
            },
            "sku": {
                "Tier": "[parameters('sku')]",
                "Name": "[parameters('skuCode')]"
            }
        }
    ]
}

There are lot of functions and webapps are hosted on that plan. i have tried to do test on my development environmnet to change the kind from windows to app on existing app service plan and it changed. i'm afraid that if make any changes to the app service plan will break the configuration of functions and webapps hosted on the webapp for containers plan

can anyone help me with this situation please?

Azure App Configuration
Azure App Configuration
An Azure service that provides hosted, universal storage for Azure app configurations.
215 questions
Azure App Service
Azure App Service
Azure App Service is a service used to create and deploy scalable, mission-critical web apps.
7,356 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Grmacjon-MSFT 17,366 Reputation points
    2021-10-01T22:08:40.7+00:00

    Hi @rewanth ,

    Thanks for bringing this to our attnetion.

    I am not sure I understood your scenario fully. Is the app you're referring to in two different app service plan ? and are you trying to change the kind property to web instead of windows? Is that all you're trying to achieve?

    Web App for Containers is catered towards developers who want to have more control over what is installed in their containers. A key difference is when you deploy your app it will be inside a Docker container instead of being deployed directly in a Web App. You will be able to deploy web applications, along with any dependencies, in a Windows Container on Azure App Service, enabling a broader sets of applications to take advantage of a fully managed hosting environment:
    You can learn more here on this blog post.

    Here is a bit of about the Kind property in App Service

    " The kind property of an app is set during the create flow and can’t be modified thereafter. The portal does this based on the create flow of your choice and/or the configuration you enter. This is also true of the App Service CLI and other clients like Visual Studio Code. You will need to manually set the kind property if you are creating resources through ARM templates, or using the ARM API directly.

    Note that the kind property also shows up in App Service Plans (ASP). At this time, the value of this property for the ASP is meaningless and has no impact on your resource. For example, you can set kind to “Linux” for the ASP, but that won’t make your ASP a Linux ASP; the reserved property is what makes this distinction (if reserved = true, it’s a Linux ASP, otherwise it’s a Windows ASP)."

    Hope that helps.

    Thanks,
    Grace

    0 comments No comments