Skip to content
Azure finding library
CF-AZ-PS-07/Azure PaaSPotential impact: High

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 deployment

Who 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.

  1. Confirm zero apps and slots across the relevant scope.
  2. Search deployment history, IaC, networking integration, certificates, and owner plans.
  3. Record an expiry for legitimate standby capacity.
  4. 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.

Your next task

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 endpoints

If the owner cannot resolve a dependency or recovery requirement, keep the candidate in review rather than treating it as approved.

Related Azure findings