Decided to play with the Windows Azure Pack and specifically offer a hybrid VM deployment which would deploy either via SCVMM to a cloud OR deploy to Azure depending on if the user desired high availability for the VM. I walk through this in video http://youtu.be/wLANreQyk3c and mini version can be seen below.
I uploaded my runbook to http://www.savilltech.com/downloads/hybridvm/CreateVM_Cleaned.ois_export and the sample RDP file to http://www.savilltech.com/downloads/hybridvm/TemplateRDP.rdp.
If you decide to play with this there are a number of things you need to do:
- The Orchestrator service account needs to be a SCVMM administrator (as it interfaces via PowerShell to update VM status)
- You will need configurations in Orchestrator for Service Manager and SCVMM
- You will need to have downloaded your Azure publish settings file which you can do with command Get-AzurePublishSettingsFile and should save this as c:dataMicrosoft Azure Subscription.publishsettings (if you follow my standard configuration)
- You need the Azure and SCVMM PowerShell cmdlets installed on the Runbook server or whatever server you configure the PowerShell to run on (I use localhost which means it runs on the runbook server but in larger environment you would likely have a specific PowerShell server(s) )
- There are lots of places in the PowerShell with < > that you need to replace with your values and ideally in Get Clouds for user you should use real logic to set values!
- In Create Azure VM you need to replace subscription name with your own name as in the Azure Publish Settings File
- Make sure the same RDP file is in c:data as used in Create RDP File activity
- Make sure the users in AD have the mail attribute populated
Also I really don’t have error handling in this runbook, it was more a demonstration of what can be done and integration with Windows Azure Pack. I also enabled ADFS for my Windows Azure Pack tenant site and I’ll write that up as a FAQ on http://www.ntfaq.com over the next 2 weeks. I already have FAQs on installing Windows Azure Pack.
This runbook was done as one long runbook. Normally you would not do that, you would have separate runbooks but to demonstrate the flow and how simple it really is I left it as one big runbook but wanted to be clear this is not best practice.