How to review an Azure empty app service plan
An App Service plan has no currently associated apps or slots but still carries provisioned compute cost. Empty membership is strong evidence, yet deployment, IaC, networking, and planned reuse must be checked.
Check apps, slots and the next deploymentWho reviews this signal?
- Accountable owner
- Application platform owner
- Review cadence
- Weekly
Check observation dates and read-only scope. Your team approves and implements changes outside Costframe.
How this finding happens
- →Apps are deleted or moved while the underlying plan remains.
- →A deployment creates a temporary plan that is never cleaned up.
- →A shared plan is emptied during migration and retained without an expiry date.
Collected evidence and verification limits
Checked when available
- ✓Server farm resource, SKU, region, worker count, and current app/slot associations
- ✓Resource graph and deployment relationships
- ✓Recent configuration and activity history where available
- ✓Actual or catalog price basis for the plan
Not always verifiable
- —An empty plan can be intentionally reserved for an imminent deployment.
- —Private endpoints, integration, certificates, or IaC references may outlive apps.
- —A plan’s billing and capabilities depend on tier and configuration.
Missing or stale evidence is a limitation, not a passed check.
Why this finding might be wrong
These conditions lower confidence or require manual owner review before action.
- Blue/green capacity awaiting cutover
- Disaster-recovery plan
- IaC-managed shared plan awaiting redeployment
- Approved reserved capacity for an imminent launch
Plan the change and recovery path.
- Confirm zero apps and slots across the relevant scope.
- Search deployment history, IaC, networking integration, certificates, and owner plans.
- Record an expiry for legitimate standby capacity.
- Delete through the normal change process and monitor future deployment pipelines.
Rollback / recovery
Recreate the plan with the prior SKU, region, scaling, network integration, and deployment configuration, then redeploy apps if required.
How savings are calculated
Direct monthly saving equals the plan’s net recurring compute charge; application or networking charges are not double counted.
Do not quote a quantified saving when the billing scope, pricing basis or required workload evidence is incomplete or stale. Treat a modeled amount as estimated until suitable billed outcomes support it.
Check the billed outcome
Plan meter stops and no pipeline or app deployment fails.
Check apps, slots and the next deployment
Confirm that the plan has zero app and slot associations in the intended scope. Ask the platform owner to check IaC, network integrations and pending pipelines. Give legitimate standby capacity an expiry date instead of treating empty membership as permission to delete.
Check leftover network endpointsIf the owner cannot resolve a dependency or recovery requirement, keep the candidate in review rather than treating it as approved.