Skip to main content
Azure App Service Plan Optimizer

Empty Restaurant KitchenCleanup

Professional Azure cost optimization tool that identifies and helps clean up unused App Service Plans (ghost kitchens). Save $500-$20,000+ monthly by eliminating waste across your Azure restaurant empire.

Blaze
Blaze says:Empty App Service Plans are the sneakiest cost drain in Azure — they look harmless sitting there, but Premium and Isolated plans rack up hundreds per month even with zero apps deployed. Run this before your next billing cycle.
$500-$20K+ Monthly Savings
PowerShell Automation
Beautiful HTML Reports
Quick Kitchen Inspection
# Install the restaurant management toolkit
Install-Module Az -Force -AllowClobber

# Connect to your Azure restaurant empire
Connect-AzAccount

# Start the ghost kitchen inspection
.\Azure-OrphanedAppServicePlans.ps1

# Custom inspection with report location
.\Azure-OrphanedAppServicePlans.ps1 -OutputPath"C:\Reports\GhostKitchens.html"

Standard inspection workflow

Structured quick-reference sections for prerequisites, installation, usage, and troubleshooting.

Prerequisites

  • PowerShell 5.1+ or PowerShell Core 6.0+
  • Azure PowerShell modules: Az.Accounts, Az.ResourceGraph, Az.Billing
  • Reader role on target subscriptions with Resource Graph read permissions
  • Authenticated Azure session (`Connect-AzAccount`) before running the script

Standard inspection workflow

  1. 1Run a baseline scan across your accessible subscriptions to identify empty App Service Plans.
  2. 2Review the generated HTML report and prioritize higher-cost Standard/Premium/Isolated tiers first.
  3. 3Use a custom `-OutputPath` for scheduled reporting or stakeholder sharing.
  4. 4Validate whether plans are intentionally reserved for future use before cleanup.
PowerShell
.\\Azure-OrphanedAppServicePlans.ps1
PowerShell
.\\Azure-OrphanedAppServicePlans.ps1 -OutputPath "C:\\Reports\\GhostKitchens.html" -OpenReport:$true
PowerShell
.\\Azure-OrphanedAppServicePlans.ps1 -OutputPath "\\shared\\reports\\Monthly_GhostKitchens.html" -OpenReport:$false

Common parameters

ParameterPurposeTypical scenario
-OutputPathWrites the HTML report to a specific locationScheduled monthly reporting / shared folders
-OpenReportControls whether the report opens automaticallySet `$false` for automation

The page examples emphasize reporting workflow automation and stakeholder sharing.

Kitchen tier cost signals

TierRestaurant labelMonthly cost signalCleanup risk
F1Community Kitchen$0Safe to close
D1Food Truck Space$9.67Check usage
B1-B3Basic Restaurant$13-$53Verify with team
S1-S3Standard Restaurant$70-$280High review priority
P1-P3Premium Restaurant$62-$584Critical review
I1-I3Luxury Private$188-$980Danger zone / confirm intent

What the report helps prioritize

The HTML report is designed to surface the highest-cost empty plans first so teams can focus on high-value cleanup.

Report areaUsed byDecision outcome
Tier/cost breakdownFinOps / engineeringWhich plans to review first
Subscription summariesPlatform ownersWhere ghost kitchens cluster
Risk labelsOps teamsWhether to validate usage before action

Troubleshooting

  • If required Azure modules are missing, install/update the Az module set before rerunning.
  • If KQL queries fail, confirm Resource Graph access and provider registration for the target subscriptions.
  • If no ghost kitchens are found but you expect results, validate permissions and verify the plans truly have no attached apps.

Automation mode

Use `-OpenReport:$false` in scheduled tasks to avoid interactive behavior and write reports to a predictable shared path.

Professional Kitchen Inspection Features

Everything you need to identify and eliminate ghost kitchens bleeding your Azure budget

Automated Ghost Detection

Scans all Azure subscriptions for unused App Service Plans using advanced KQL queries

Real-time Cost Calculation

Provides precise monthly and annual cost analysis with current Azure pricing

Beautiful HTML Reports

Professional restaurant-themed reports perfect for executive presentations

Multi-tier Analysis

Covers all App Service Plan tiers from Free (F1) to Isolated (I1-I3)

Risk Assessment

Color-coded risk levels from safe community kitchens to critical luxury spaces

Subscription Breakdown

Restaurant chain analysis showing waste per Azure subscription

Savings Projections

Monthly and annual savings potential with staged closure recommendations

Flexible Configuration

Customizable output paths, silent mode, and automated scheduling support

Kitchen Types & Waste Potential

Our restaurant classification system with monthly cost impact

Kitchen TierTypeMonthly CostBest ForRisk Level
F1Community Kitchen$0Testing/DevelopmentSafe to close
D1Food Truck Space$9.67Simple shared sitesCheck usage
B1-B3Basic Restaurant$13-$53Small business sitesVerify with team
S1-S3Standard Restaurant$70-$280Production workloadsHigh risk
P1-P3Premium Restaurant$62-$584Enterprise applicationsCritical review
I1-I3Luxury Private$188-$980Isolated/complianceDanger zone

Kitchen Inspection Recipes

Professional usage examples for different restaurant management scenarios

Basic Restaurant Audit

Simple inspection across all your restaurant chains

# Quick kitchen inspection
.\Azure-OrphanedAppServicePlans.ps1

# Results auto-open in browser
# Report saved as OrphanedAppServicePlans_Report.html

Custom Kitchen Report

Professional inspection with custom report location

# Custom report location
.\Azure-OrphanedAppServicePlans.ps1 \
 -OutputPath"C:\Reports\Q4_GhostKitchens.html" \
 -OpenReport:$true

Silent Monthly Inspection

Automated inspection for scheduled tasks

# Silent mode for automation
.\Azure-OrphanedAppServicePlans.ps1 \
 -OutputPath"\\shared\reports\Monthly_$(Get-Date -Format 'yyyy-MM').html" \
 -OpenReport:$false

Enterprise Restaurant Management

Advanced inspection with comprehensive reporting

# Enterprise-grade inspection
$ReportPath ="C:\Enterprise\GhostKitchen_Audit_$(Get-Date -Format 'yyyy-MM-dd').html"
.\Azure-OrphanedAppServicePlans.ps1 -OutputPath $ReportPath

# Email report to stakeholders
Send-MailMessage -To"cfo@company.com" -Subject"Monthly Ghost Kitchen Report" -Attachments $ReportPath

Success Stories from Fellow Restaurant Managers

Real savings achieved by kitchen inspectors using our tool

"Found 12 ghost kitchens costing us $3,200/month! The premium P3 kitchens were the worst offenders. Closed them all and bought the team lunch with the first month's savings!"
DevOps Chef
TechFoodCorp
$3,200/month
Savings
"The beautiful reports made it easy to show our CFO exactly where our Azure budget was hemorrhaging. Saved our department $18,000 annually!"
Cloud Architect
StartupBistro
$18,000/year
Savings
"Finally, a cost optimization tool that doesn't put people to sleep! The restaurant theme got our whole team engaged in proper Azure resource management."
FinOps Manager
Enterprise Restaurant Group
Team Engagement
Savings
"We were paying for 5 I3 isolated kitchens ($4,900/month) that hadn't served a single customer in 8 months. This tool saved our bacon!"
Platform Engineer
Global Food Services
$4,900/month
Savings

Shopping List (Requirements)

Everything you need to start your kitchen inspection

Required Kitchen Inspector Tools

  • PowerShell 5.1+ or PowerShell Core 6.0+
  • Azure PowerShell Modules (Az.Accounts, Az.ResourceGraph, Az.Billing)
  • Azure Account with restaurant inspection rights
  • Reader role on target subscriptions
  • Resource Graph Reader permissions

Quick Installation Recipe

# Install Azure PowerShell toolkit
Install-Module Az -Force -AllowClobber

# Connect to your Azure restaurant empire
Connect-AzAccount

# Download the kitchen inspector
git clone https://github.com/cloudcostchefs/CloudCostChefs-Empty-Restaurant-Kitchen-Cleanup.git

# Navigate to the kitchen
cd CloudCostChefs-Empty-Restaurant-Kitchen-Cleanup

# Start your first inspection
.\Azure-OrphanedAppServicePlans.ps1

Kitchen Inspection Troubles

Common issues and their solutions

Required Azure PowerShell modules not found

Install the restaurant management toolkit

Install-Module Az -Force -AllowClobber

Access Denied to Kitchen Inspection

Ensure proper Azure permissions

# Required permissions:
# - Reader role on subscriptions
# - Resource Graph Reader
# - Microsoft.ResourceGraph/resources/read

No Ghost Kitchens Found (When Expected)

Check permissions and App Service Plan usage

# Possible reasons:
# 1. Excellent restaurant management!
# 2. Permission issues
# 3. All plans have attached apps

KQL Query Failed

Verify Resource Graph access

# Ensure:
# - Microsoft.ResourceGraph provider registered
# - Subscription-level Reader permissions
# - Resource Graph service available

Ready to Clean Up Your Restaurant Empire?

Start identifying ghost kitchens and reclaiming your Azure budget today. Join thousands of restaurant managers saving money with CloudCostChefs tools.

Average Savings: $500-$20,000+ monthly

Setup Time: 5 minutes

Success Rate: 100% ghost kitchen detection

What to do next

Pick the path that fits where you are right now.

Trust & run-safety metadata

Key execution details for Azure Empty Restaurant Kitchen Cleanup so users know what they are downloading or running before they act.

Need verification guidance? See Security & Trust and Responsible Disclosure.

Read-only / reportingGitHub sourceExplicit + inferred metadata

Maintainer

CloudCostChefs

Last Updated

August 15, 2025

Last Tested

February 23, 2026

Minimum Access

Azure Reader + Resource Graph Reader permissions across target subscriptions

Execution Type

GitHub-hosted PowerShell reporting script (unused App Service Plan / “ghost kitchen” analysis)

Version

2025-08-15

SHA256 Checksum

Not published yet (recommend adding checksum for downloadable files)

Verification Notes

Current documented workflow focuses on identifying unused App Service Plans and generating reports. Review script behavior and output before using it to drive cleanup actions.

Safe Usage Checklist

  • Validate candidate “empty” App Service Plans with app owners and deployment history before deletion or resizing.
  • Run in a limited scope first and archive reports for change-review evidence.
  • Run in a non-production subscription/account/tenancy first and capture sample output before broader rollout.
  • Use least-privilege access. Current best hint from docs: Azure Reader + Resource Graph Reader permissions across target subscriptions.

Quick start (fast path)

Minimal steps to safely get value from this tool without reading the entire page first.

Estimated time: 10 minutes setup + automated monthly inspectionsDifficulty: IntermediateAccess: Review / read-only
  1. 1. Confirm scope and permissions

    Use least privilege and test in a non-production scope first. Minimum access hint: Azure Reader + Resource Graph Reader permissions across target subscriptions.

  2. 2. Get the tool package / source

    View on GitHub and review the files before running.

    GitHub
  3. 3. Check prerequisites

    • ✅ PowerShell 5.1+ or PowerShell Core 6.0+ for running the restaurant management inspection tools
    • ✅ Azure PowerShell modules: Az.Accounts, Az.ResourceGraph, Az.Billing for cloud restaurant connectivity
    • ✅ Azure Reader role on target subscriptions for comprehensive restaurant empire inspection
  4. 4. Run safely and review output

    Current documented workflow focuses on identifying unused App Service Plans and generating reports. Review script behavior and output before using it to drive cleanup actions. Start with a small sample scope, then expand once results look correct.