Windows Azure Hosted Services VM Manager is a Windows Service that can manage the number of hosted services (VM's) running in Azure on either a time based schedule or by CPU load. This allows the application to scale either dynamically or on a
The Windows Service can manage multiple services. This example is set up to manage only one hosted service. If it is configured to manage many services, there will
be blocking while the service sleeps, waiting for the newly created VM instance to boot and become responsive. For it to run efficiently in that manner, it would be best to mutli-thread the workflow.
This project makes several assumptions.
1. A hosted service deployed in Azure
2. An X509 certificate is uploaded to your hosted service
3. The app.config and service.xml files are edited to reflect the environment
The service also uses the Azure REST API samples found at
http://code.msdn.microsoft.com/windowsazuresamples. Some of the code has been modified to run outside of the Azure environment and helper methods were added to simplify the tasks of getting a certificate from the host machine, creating an authorization
header token and building the web request.
The GenerateSignatureForAuthorization method in the ServiceManagementHelpers.cs file came from a blog post, sorry I don’t remember where, but thank you. That helped in creating
the correct hashed value for Azure security.