Unable to find and delete three App Service Plans in the Azure Portal for which I am getting unexpected billing costs

Fernando Molano 0 Reputation points
2025-05-29T16:21:54.37+00:00

The 3 additional service plans might have mistakenly created with a wrong price tier when I was publishing the App Services in Visual Studio 2022.

The information that appears below was collected via the Cost Analysis of my subscription that is a Pay-As-You-Go account.

azureflmblobtrack8web20250425130308plan (Microsoft.web/serverfarms)

$ 23.12

janeeyrenetcore8webplan (Microsoft.web/serverfarms)

$ 23.12

janeeyrenetcore8webplan20250415111238plan (Microsoft.web/serverfarms)

$ 23.12

Your help and expertise would be greatly appreciated.

Azure App Service
Azure App Service
Azure App Service is a service used to create and deploy scalable, mission-critical web apps.
8,960 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Laxman Reddy Revuri 5,405 Reputation points Microsoft External Staff Moderator
    2025-05-29T17:06:59.12+00:00

    Hi @Fernando Molano
    To delete the App Service Plans that are incurring unexpected costs, Sign in to the Azure Portal.

    1. Navigate to Resource Groups section.
    2. Look for the App Service Plans.
    3. Select the App Service Plans you want to delete.
    4. Click on the Delete option to remove them.
      Screenshot_29-5-2025_222645_portal.azure.com

    Keep in mind that even after deleting the apps within an App Service plan, the plan itself may continue to accrue charges based on its configured pricing tier and number of instances. To avoid ongoing charges, ensure that you delete the App Service plan itself or scale it down to the Free tier.

    To understand better the associated costs or if you keep getting charged, you might want to check your billing overview in the Cost Management + Billing section of the Azure Portal

    Please accept as "Yes" if the answer provided is useful, so that you can help others in the community looking for remediation for similar issues.


  2. Fernando Molano 0 Reputation points
    2025-05-30T17:43:13.7633333+00:00

    Before encountering the issue at hand on 2025.04.15, the deployment and publishing process from Visual Studio 2024 to Azure had been straight forward, without glitches, via the use of a unique Service App Plan.

    When the number of deployments being published was growing, guided by my own ignorance on the subject matter on how to properly configure Service App Plans, I accidentally created 3 new App Service Plans with the wrong price teer.

    I am not complaining, since all the research I have done using Copilot, Azure PowerShell, MSFT Azure Learning series, and guidance from subject-matter experts like you have been an excellent opportunity to explore a little bit deeper the treasure hiding under the covers of the amazing Microsoft AI Technology. I will take my mistake as a learning opportunity, as the old saying goes: “a slip can prevent a fall.”

    Before implementing your advice, I deleted the App Services associated with the 3 new App Service Plans.

    Sign in to the Azure Portal.

    1.         Navigate to Resource Groups section.

    2.         Look for the App Service Plans.

    3.         Select the App Service Plans you want to delete.

    4.         Click on the Delete option to remove them.

     

    Here is what I got – The 3 new App Service Plans disappeared in the Portal. It shows only the Unique Service Plan that I have used all along with the Free Price Teer.

    ![A screenshot of a chatAI-generated content may be incorrect.]

    I proceeded to investigate how the deployment of the 3 New Service Plan took place versus the one for the  Unique Service Plan with a free Price Teer.

    ![A screenshot of a computerAI-generated content may be incorrect.]

    Here is the template used by Azure to deploy the 3 New Service Plans:

    {

        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",

        "contentVersion": "1.0.0.0",

        "parameters": {

            "appService_AzureFLMxxxxTrack8_name": {"type": "String"

            },

            "appServicePlan_AzureFLMxxxxTrack8Web20250425130308Plan_location": {

                "type": "String"

            },

            "appServicePlan_AzureFLMxxxxxTrack8Web20250425130308Plan_name": {

                "type": "String"

            },

            "currentStack": {

                "type": "String"

            },

            "appServicePlan_AzureFLMxxxxTrack8Web20250425130308Plan_skuName": {

                "type": "String"

            },

            "appServicePlan_AzureFLMxxxxTrack8Web20250425130308Plan_skuTier": {

                "type": "String"

            },

            "appServicePlan_AzureFLMxxxxTrack8Web20250425130308Plan_skuFamily": {

                "type": "String"

            },

            "appServicePlan_AzureFLMxxxxTrack8Web20250425130308Plan_skuSize": {

                "type": "String"

            },

            "appServicePlan_AzureFLMxxxxTrack8Web20250425130308Plan_workerSizeId": {

                "type": "Int"

            }

        },

        "resources": [

            {

                "type": "Microsoft.Web/sites",

                "apiVersion": "2023-12-01",

                "name": "[parameters('appService_AzureFLMxxxxTrack8_name')]",

                "location": "[parameters('appServicePlan_AzureFLMxxxxTrack8Web20250425130308Plan_location')]",

                "dependsOn": [

                    "[resourceId('Microsoft.Web/serverFarms', parameters('appServicePlan_AzureFLMxxxxTrack8Web20250425130308Plan_name'))]"

                ],

                "tags": {

                    "[concat('hidden-related:', resourceId('Microsoft.Web/serverFarms', parameters('appServicePlan_AzureFLMxxxxTrack8Web20250425130308Plan_name')))]": "empty"

                },

                "kind": "app",

                "identity": {

                    "type": "SystemAssigned"

                },

                "properties": {

                    "name": "[parameters('appService_AzureFLMxxxxTrack8_name')]",

                    "httpsOnly": true,

                    "reserved": false,

                    "serverFarmId": "[resourceId('Microsoft.Web/serverFarms', parameters('appServicePlan_AzureFLMxxxxTrack8Web20250425130308Plan_name'))]",

                    "autoGeneratedDomainNameLabelScope": "TenantReuse",

                    "siteConfig": {

                        "netFrameworkVersion": "v8.0",

                        "ftpsState": "FtpsOnly",

                        "metadata": [

                            {

                                "name": "CURRENT_STACK",

                                "value": "[parameters('currentStack')]"

                            }

                        ]

                    }

                },

                "resources": [

                    {

                        "type": "Microsoft.Web/sites/basicPublishingCredentialsPolicies",

                        "apiVersion": "2022-09-01",

                        "name": "[concat(parameters('appService_AzureFLMxxxxTrack8_name'), '/scm')]",

                        "dependsOn": [

                            "[resourceId('Microsoft.Web/Sites', parameters__('appService_AzureFLMxxxxTrack8_name'))]"__

                        ],

                        "properties": {

                            "allow": false

                        }

                    },

                    {

                        "type": "Microsoft.Web/sites/basicPublishingCredentialsPolicies",

                        "apiVersion": "2022-09-01",

                        "name": "[concat(parameters('appService_AzureFLMxxxxTrack8_name'), '/ftp')]",

                        "dependsOn": [

                            "[resourceId('Microsoft.Web/Sites', parameters('appService_AzureFLMxxxxTrack8_name'))]"

                        ],

                        "properties": {

                            "allow": false

                        }

                    }

                ]

            },

            

    {

                "type": "Microsoft.Web/serverFarms",

                "apiVersion": "2018-02-01",

                "name": "[parameters('appServicePlan_AzureFLMxxxxTrack8Web20250425130308Plan_name')]",

                "location": "[parameters('appServicePlan_AzureFLMxxxxTrack8Web20250425130308Plan_location')]",

                "sku": {

                    "Name": "[parameters('appServicePlan_AzureFLMxxxxTrack8Web20250425130308Plan_skuName')]",

                    "Tier": "[parameters('appServicePlan_AzureFLMxxxxTrack8Web20250425130308Plan_skuTier')]"

                },

                "kind": "",

                "properties": {

                    "name": "[parameters('appServicePlan_AzureFLMxxxxTrack8Web20250425130308Plan_name')]",

                    "workerSize": "[parameters('appServicePlan_AzureFLMxxxxTrack8Web20250425130308Plan_workerSizeId')]",

                    "workerSizeId": "[parameters('appServicePlan_AzureFLMxxxxTrack8Web20250425130308Plan_workerSizeId')]",

                    "numberOfWorkers": "1",

                    "reserved": false

                }

            }

        ]

    }

      

    Here is the deployment template using the FREE Price Teer that have allowed me to experience a happy and speedy process to deploy and publish web apps into Azure.

     {

        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",

        "contentVersion": "1.0.0.0",

        "parameters": {

            "appService_xxxxNetCore8_name": {

                "type": "String"

            },

            "appServicePlan_RMGxxxxore6AzurePlan_location": {

                "type": "String"

            },

            "appServicePlan_RMGxxxore6AzurePlan_name": {

                "type": "String"

            },

            "appServicePlan_RMGxxxxore6AzurePlan_resourceGroup": {

                "type": "String"

            },

            "currentStack": {

                "type": "String"

            }

        },

        "resources": [

            {

                "type": "Microsoft.Web/sites",

                "apiVersion": "2018-02-01",

                "name": "[parameters('appService_xxxxtCore8_name')]",

                "location": "[parameters('appServicePlan_RMGxxxxore6AzurePlan_location')]",

                "tags": {

                    "[concat('hidden-related:', resourceId(parameters('appServicePlan_RMGxxxxore6AzurePlan_resourceGroup'),'Microsoft.Web/serverFarms', parameters('appServicePlan_RMGxxxxore6AzurePlan_name')))]": "empty"

                },

                "kind": "app",

                "identity": {

                    "type": "SystemAssigned"

                },

                "properties": {

                    "name": "[parameters('appService_xxxxNetCore8_name')]",

                    "httpsOnly": true,

                    "reserved": false,

                    "serverFarmId": "[resourceId(parameters('appServicePlan_RMGxxxxore6AzurePlan_resourceGroup'),'Microsoft.Web/serverFarms', parameters('appServicePlan_RMGxxxxore6AzurePlan_name'))]",

                    "siteConfig": {

                        "netFrameworkVersion": "v8.0",

                        "ftpsState": "FtpsOnly",

                        "metadata": [

                            {

                                "name": "CURRENT_STACK",

                                "value": "[parameters('currentStack')]"

                            }

                        ]

                    }

                }

            }

        ]

    }

     You were absolute right with your recommendation:

    Keep in mind that even after deleting the apps within an App Service plan, the plan itself may continue to accrue charges based on its configured pricing tier and number of instances. To avoid ongoing charges, ensure that you delete the App Service plan itself or scale it down to the Free tier.

    To understand better the associated costs or if you keep getting charged, you might want to check your billing overview in the Cost Management + Billing section of the Azure Portal

    This was the way to verify that the 3 New App Service Plans exist in the portal.

    ![A screenshot of a computerAI-generated content may be incorrect.]

     “Looking for a destination, in this case finding a solution to this cantankerous issue is like driving a car at night. You can see only as far as your headlights, but you can make the whole trip that way.” - E. L. Doctorow

    What I would like to learn from this experience is to know the steps required to scale it down to the Free tier. I tried on my own, but unfortunately, I failed with my attempt due to my lack of knowledge in this area.

    There were many other things I tried in Azure PowerShell that corroborated the findings I found in the Portal.

    By all means, thank you so much again for your commitment to help me finding the solution that might have been impacted to software developers at large around the world.

    FLM

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.