Optimization

Schedule Azure VMs to cut non-production cost

Use start and stop schedules for development and test workloads, and understand what continues to bill while a virtual machine is deallocated.

By Cloudledger · Updated

Scheduling suits predictable workloads

Development, test, training and demonstration environments often run continuously while being used only during working hours. Where a workload genuinely has idle windows, deallocating it during those hours reduces compute charges. Production systems, batch jobs and anything with an availability commitment need a different approach.

Know what stops and what continues

Deallocating a VM stops normal VM compute billing. Managed disks, static public IP addresses, snapshots, backups and many platform services continue to be charged. Scheduling therefore reduces part of the bill, not all of it. Estimate the saving from the compute meter rather than from the VM’s total cost.

Plan the schedule with the people who use it

A schedule that shuts down an environment during someone’s working hours creates lost time, not savings. Agree operating windows, time zones, public holidays and exceptions with the teams who use the environment, and give them an easy manual override for the days they need to work late. Write down who owns the schedule and how to request a change, so the first unexpected shutdown does not end with the automation being disabled entirely.

  1. List candidate environments and confirm their owners.
  2. Agree operating hours, including time zones and exceptions.
  3. Check dependencies: databases, agents, licences and startup order.
  4. Implement the schedule with a documented manual override.
  5. Review after a full billing period.

Choose an implementation you can support

Azure offers several ways to automate start and stop, including built-in VM auto-shutdown, Azure Automation and other scheduling approaches. Whichever you choose, treat it as production automation: it needs permissions, logging, failure handling and someone responsible when a machine does not come back up.

Verify the saving against reality

Illustrative example: a VM billed for 730 hours a month, scheduled to run only 12 hours a day on weekdays, runs roughly 260 hours. The compute portion falls in proportion, while disks and other retained resources continue. Confirm both the actual running hours and the billed amount afterwards rather than reporting the projection.

Microsoft documentation

Related guides

Browse all 23 guides →