Scheduled start/stops of VMs
Add a feature to Azure that allows the user to schedule a VM to start and/or stop at a certain date and time. This feature should be similar to a scheduled task in Windows.
If it's possible to do this with a scheduled task and some PowerShell scripts/cmdlets, let me know. But I do not think that would be as optimal as having this feature built into Azure because Azure frequently takes 15 minutes to allocate hardware to a VM before starting it up.
Ideally, an Azure management portal interface would allow the user to pick a time to start and stop the VM. Azure, knowing what its load is at any given time, can queue up the VM for hardware allocation earlier enough so that it is guaranteed the VM has hardware before its start time. Then Azure simply starts up the VM at the start time.
Using a client-side script, in PowerShell or any other platform, would not be able to provide the guarantee that hardware is allocated soon enough or that the VM is started too early as the client would have no idea what the load on Azure is and the client cannot make separate calls to allocate resources and start the VM.
We will take a look at this ask as we improve the VM API for more granular controls on start/stop and autoscale.
Bart Surminski commented
Auto-start option would be great, our environment is heavily PAAS oriented, with a few VM's to support it (buildservers etc). Would be great if we could set the auto start on the VM settings themselves. Auto shutdown works great. Please add Auto start.
We need better support of this feature, including start and stop through powershell and to scale sets
Currently there's only the Auto-Shutdown option in VMs settings. I would like to have an Auto-Start option too.
You can also use Azure Automation. We use runbooks here to increase/decrease VMs on a schedule as well as take image backups on a schedule. Give it a look as they are looking to improve the scheduling functionality as well.
I agree that this would be nice to see as native feature. In the meantime the closest I've been able to get is by using the tags feature of the new Azure Resource Manager to set schedules per VM group. More details:
It's not built into the VM part of the platform, but you can use Azure Scheduler to do this today: http://azure.microsoft.com/en-us/services/scheduler/