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.