Azure Auto-Shutdown and Start/Stop VMs v2 vs ZopNight
Azure has two native answers to 'turn my VMs off at night': a per-VM setting and a deployable add-on. Here is what each really does, from Microsoft's own docs.
Option 1: VM auto-shutdown
Auto-shutdown is a setting on each virtual machine. In the portal you “select ‘Auto-shutdown’ under the Operations section” and “set the time you want the virtual machine to shut down”. You can add an email or webhook notice before it runs, and UTC is the default time zone (Microsoft Learn). Because it is set per VM, it suits a handful of machines rather than a fleet.
Option 2: Start/Stop VMs v2
For scheduled start and stop, Microsoft’s add-on is Start/Stop VMs v2. It “starts or stops Azure Virtual Machines instances across multiple subscriptions … on user-defined schedules”. It runs on Azure Functions and Logic Apps, and it is “charged based on the services that are deployed and consumed” (Start/Stop VMs v2 overview).
The same page lists what it can do:
- Three scenarios. Scheduled, Sequenced (driven by the tags
sequencestartandsequencestopwith values 1 to N) and AutoStop, which stops VMs based on a CPU alert. - Scope. A subscription, a resource group or a list of VMs. Subscription and resource-group scopes accept an
ExcludedVMListsentry to leave specific VMs out. - Deployment. Deploying needs Owner rights.
- Status. It is in maintenance mode: “No further development, enhancements, or updates will be available for Start/Stop v2 except when required to remain on supported versions”.
For clusters, AKS has its own stop and start. The control plane and nodes deallocate, state is kept for up to 12 months, and a start can fail under capacity constraints (AKS docs).
When the native options are enough
If you run Azure only and your schedule targets are VMs, Start/Stop VMs v2 gives you scheduled start, stop and even tag-based sequencing at the cost of the Functions and Logic Apps it deploys. For a few dev VMs that only need switching off, the per-VM auto-shutdown setting takes seconds.
Where ZopNight differs
- More than VMs, one model. ZopNight schedules Azure VMs, AKS clusters and node pools, MySQL and PostgreSQL flexible servers, Synapse SQL pools, Data Explorer clusters, SQL VMs, SSIS integration runtimes, ML compute and Databricks. It handles Azure’s deallocate rather than a plain stop. That matters because Microsoft bills a VM in the Stopped (Allocated) state for instance usage but not once it is Deallocated (VM states and billing). See Azure VM scheduling.
- Ordering without tag numbering. Groups start in tiers (storage, databases, compute, apps) with a per-resource delay, set in the UI rather than through
sequencestartvalues on each VM. - Kubernetes at namespace level. On AKS, ZopNight can stop a single namespace inside a shared cluster. See AKS scheduling.
- Azure cost as billed. Cost comes from Azure Cost Management using amortized cost, so reservation and savings plan purchases are spread across their term per resource.
- Multi-cloud. The same schedules, overrides and recommendations apply to AWS and GCP.
| ZopNight | Start/Stop VMs v2 | |
|---|---|---|
| Resource types | VMs, AKS, flexible servers, Synapse, Data Explorer, Databricks and more | Azure VMs |
| Sequencing | Tiered groups with delays | sequencestart / sequencestop tags |
| Idle-based stop | Idle and schedule recommendations | AutoStop on CPU alert |
| Excluding VMs | Attach only what you choose | ExcludedVMLists at subscription or resource-group scope |
| Product status | Current product | Maintenance mode |
Questions we get a lot.
If yours isn't here, email us and we'll answer directly.
Can Azure start VMs on a schedule natively?
Yes, with Start/Stop VMs v2, which schedules both start and stop across subscriptions using Azure Functions and Logic Apps. Microsoft has put it in maintenance mode, so it gets only the updates needed to stay supported.
Does ZopNight stop or deallocate Azure VMs?
ZopNight handles provider-specific operations, including Azure's deallocate rather than a plain stop. Microsoft documents that a Stopped (Allocated) VM is still billed for instance usage, while a Deallocated one is not.
Can ZopNight manage several Azure subscriptions?
Yes. Each Azure subscription connects as a cloud account, and resources from all of them appear in one inventory where you can attach schedules and groups.