One of the benefits of public cloud services is the rich set of APIs they make available to developers and IT Pros alike.
Traditionally if you requested compute resources for development or testing purposes you placed a request, waited for your resources to be provisioned and then effectively left them running.
Periodic audits by your IT Ops team might have picked up development or test machines that were no longer required, but these audits might occur only once your businesses infrastructure started to run low on free resources.
As a demonstration of how easy it is to manage resources in Azure take a look at the PowerShell script below. In less than 30 lines of code I can enumerate all virtual machines in a subscription and then power them off. I could just as easily do this to power them on (granted there may be a required order to power-on).