Hibernate/pause a resource group or subscription
After talking to one of your Senior Support Engineers, they suggested I made a feature request for this.
I'd like to be able to pause, hibernate or otherwise stop a resource group or subscription so that it incurs minimal costs when not in use. I'm suggesting resource group or subscription as one may be easier to implement than the other. Ideally this would be done through ARM but I’d settle for doing it via PowerShell if needed.
I appreciate that VMs can be deallocated but we found that a customer's solution was still using approximately £200 a month due to the application gateway, virtual network gateway and storage of VHDs for a system that is not doing anything. As the solution is not currently contractually in use by the customer at the moment (it is used for about a month twice a year), we have to take on the cost.
I suspect that there are other services that would still be charged: For example it's only fair that storage still be billed and static Public IP addresses probably need to be as well to stay reserved but I'd like a way to put everything else into a state where it stops being accessible and therefore stops incurring charges. I would also assume that things like VMs would need to be shut down and deallocated first else problems may arise.
In the meantime I have deleted the offending services and am in the process of copying the VHDs to local storage in order to delete the VMs as well to clear the storage costs. I intend to look into PowerShell scripts to recreate these systems before the next time they are needed but obviously this method is not ideal.
Steve Meckstroth commented
I've voted for this as well. We create proof of concept projects, and then take them offline to negotiate with business users and decide whether or not to productionalize. If they decide to productionalize we would like to enable the whole resource group at one time.
Mahmoud Habiballah commented
Still, some resources cannot be disabled. Just think about "disabling" a static IP address. What would happen after enabling it again? Disabling it means it will still be reserved
very useful for managing test and dev environments, spinning them up only when needed
Thomas Mutton commented
I have voted for this because I can see a use case where a resource group only needs to be running at certain times of the day such as 9-5. This is true for the company I work for where we only need to be running our dev and staging environments during this time. The most important resource types for us to be able to pause are DocumentDB and VM's (which you can currently pause).