Skip to content
Cloud Efficiency Hub

Missing Scheduled Shutdown for Non-Production Azure Virtual Machines

The short version

Non-production Azure VMs are frequently left running during off-hours despite being used only during business hours.

Yulia Perlis

Category
Compute
Reference
CER-0144
Type
Inefficient Configuration

Explanation

Why the waste happens and who it affects.

When these instances remain active overnight or on weekends, they generate unnecessary compute spend. Azure offers built-in auto-shutdown features that allow teams to define daily stop times, retaining disk data and configurations without paying for VM runtime. Implementing scheduled shutdowns in dev/test environments is a simple, low-risk optimization that can reduce compute costs by 30-60%.

Billing model

The pricing dimensions that drive this cost.

Azure VMs are billed per minute of runtime (full minutes only, extra seconds are not billed), based on:

  • VM size and type
  • Operating system and licensing
  • Runtime duration

Note: Storage (managed disks) continues to incur charges even when the VM is stopped.

How to detect

4 checks to find it in your estate.

  • Identify VMs labeled or tagged as dev/test/staging
  • Use Azure Monitor or Cost Management to assess usage and uptime patterns
  • Detect VMs with consistent business-hours usage but 24/7 runtime
  • Review VM configuration to check whether auto-shutdown is enabled

How to fix

4 ways to remove the waste.

  • Enable Azure's built-in auto-shutdown setting for applicable non-prod VMs
  • Alternatively, configure shutdown/start schedules using Azure Automation or Logic Apps
  • Preserve state using managed disks, snapshots, or generalized images
  • Review schedules periodically to align with changing team usage

Documentation

Vendor references for pricing and configuration.