Tag not monitored by Microsoft.
Yes, this scenario is possible and is consistent with a “stuck” or back-end billing issue rather than an App Service Plan that still exists in ARM.
From the details provided:
- The
Microsoft.Web/serverfarms/deleteoperation shows Succeeded (HTTP 200) in Activity Log. - The App Service Plan no longer appears in the portal (App Service Plans, All resources, global search).
-
az resource listandaz resource list --resource-type Microsoft.Web/serverfarmsdo not return the resource. - There are no subsequent
serverfarms/write(recreate) events.
When an App Service Plan is actually deleted, it should no longer accrue compute charges. Official guidance is explicit that:
- App Service plans do continue to accrue charges when they still exist but have no apps attached.
- To stop charges, the plan must be deleted or scaled to the Free tier.
“When you delete all apps in an App Service plan, the plan continues to accrue charges… To avoid unwanted charges, delete the plan or scale it down to Free tier.”
“App Service plans that have no apps associated with them still incur charges because they continue to reserve the configured VM instances.”
In the described case, the plan is already deleted and not present in ARM, so normal cost behavior (charging for an existing plan) should no longer apply. This aligns with the type of “phantom billing” issue described for other Azure resources:
“Sometimes even after deleting a resource the billing for it gets "stuck". In these cases you need to create billing support request and have billing engineer investigate… Once they investigate and get rid of the phantom billing they will issue refund/waiver of charges.”
There is also a documented pattern for Azure Container Instances where a resource continues to run and be billed after a stop/delete operation due to underlying platform issues:
“This issue might occur due to stuck deactivations or errors in the underlying platform during stop or delete operations.”
That article’s mitigation (recreating the same resource to force cleanup) is specific to container instances, not App Service Plans, but it confirms that:
- Platform-level stuck deletions can occur.
- Billing can continue even when a delete was requested.
Given that:
- The App Service Plan is not discoverable via ARM (portal/CLI/Activity Log beyond the delete event).
- Charges are still accruing at the previous App Service Plan rate.
This matches a back-end/billing synchronization issue rather than a still-existing App Service Plan.
Actionable steps:
- Use Cost analysis → Cost by resource at the subscription level to confirm which resource ID is being billed (similar to the Azure Firewall guidance). Capture:
- Resource ID
- Meter details
- Time range showing charges after the delete timestamp.
- Open an Azure Billing support request and provide:
- Activity Log evidence of the successful
serverfarms/deleteoperation. - Screenshots/exports from Cost analysis showing ongoing charges for that resource ID after deletion.
- Activity Log evidence of the successful
Resolution for this type of phantom billing requires intervention by Azure Support; there is no self-service ARM/CLI operation that can fix a resource that is already gone from ARM but still being billed.
References:
- Frequently asked questions about creating or deleting resources in Azure App Service
- Manage an App Service plan in Azure
- Plan and manage costs for Azure App Service
- What are Azure App Service plans?
- Azure container instance continues to run after the stop or delete command
- Plan to manage Azure costs
- Cancel and delete your Azure subscription
- How to locate a hidden firewall? - Microsoft Q&A