A few months back I was given access to a Widows Azure environment through PFE. The test was to see if I could build a viable virtual environment to fully power a SharePoint 2013/2010 instance. When I say fully I mean 1-domain controller w/AD, 1-SQL Server, 1-2013 App Server, 1-2010 App Server.
Now first things first, you yes you can go and sign up for a free 90 day preview of Windows Azure. That said, you will probably not be given the same resources I was given and then obviously it does expire. However, the good news is we have options and I’m going to tell you about them. Additionally, I’m going to tell you all about the learning curve I had to endure in order to understand exactly what the environment could and couldn’t do.
First the gotchas:
1) Technically (at least from when I wrote this) Windows Azure is in “Preview” state. Think of it as Azure Beta. Because of that, especially from the free side of it, the environments can go up, down, be unresponsive or even not function correctly. This is a growing pain that I fully expect to be worked through. The reason I say that is because through my ordeal I’ve been in touch with a lot of folks on the Azure team and lay privy to what is coming down the pipe. Don’t worry this is if not already is going to be a 100% reliable replacement for on-prem VM servers.
2) As of right now there is no way to technically “save state” or export your VMs in their entirety. There is a third party tool I was testing out. But because I was so sensitive on time and a flawless instance I didn’t want to mess with what I had going so I didn’t pursue it too far. Now that we’re finished I’m going to play with it more. Basically it claims to allow you to export the blob that the VM is stored in and save it down as a file on your computer. I’ll give it some testing and post up what I’ve found.
3) You can technically “back up” your VMs but really you are saving down an XML file that has all of your actual VM settings. None of the configurations you make after a VM is provisioned are saved. So configuring SharePoint or joining your DC won’t come down with that back up. Again I fully hope and expect to see this addressed.
4) I have had issues where for literally no reason I could not delete objects in my account. Example, I try to delete a virtual disk and I’m simply not allowed. The option for me will be grayed out, I come back later and I can delete it no problem. Additionally there were times when I was setting up my virtual machines and joining them to the domain I created and I couldn’t connect to the VMs both by domain join or simply pinging the machine. Even though all the settings checked out. I chalk this up to growing pains. So if that happens don’t bang your head against the wall, just come back in a few hours and try again.
I understand the reasoning for a lot of these shortcomings in preview as a lot of the pricing model is built around storage and uptime. Technically if you have a VM in your environment but not running you’re still paying for the space it takes up.
Now for the good stuff!
First up, Azure rhymes with badger. I just saved you some giggles from you saying “Asuuure” to someone. Send checks payable to me please.
Its Free! Well sorta, here’s the 90 day link. http://aka.ms/AzureCloudLab
Depending on what you’ve given access to or what you pay for you will see a TON of options in your Azure portal. Everything from domain and network services to affinity groups and virtual disks. In fact at first it can be very confusing but fret not, I’m here to walk you through it.
You can also use Windows Azure to work as a domain controller or setup virtual networks. HOWEVER for your SharePoint VM’s domain (i.e. contoso) you’ll want to provision all your domain as you normally would in your DC VM except for some key points. If you’re familiar with VMWare or HyperV you would create your virtual network with its subnets etc in the virtual network settings of those respective applications. This is one of the pieces of functionality you do use directly in the Azure portal. I’ll post a link below on how to setup that portion, just know all your networking is done here so your VMs can see and use those v-net setting.
Next up Azure can also allow you to create “SQL Servers” as well as standalone SQL databases. So do I need to create a VM server that has a full OS and SQL installed. Well technically no, but would you not want to? First up Windows Azure SQL databases aren’t supported for SharePoint. I’m assuming because it’s very hard to define permissions and roles for a SQL server or a SQL database that technically lives as a blob. So the answer to this question at least for me was yes. Yes you should probably create VM that houses your SQL environment. If you want to stretch your company dollar or want to have a different setup with your free account and decide to go SQL Azure for your SharePoint databases and are successful please write up your approach and drop me a note for a link back.
See a theme here?
Affinity Groups. Awe.Some. So check this out, you can create these groups that basically move the bandwidth that supports your network geographically at will. Example, if you are building a virtual SharePoint instance for your office in India you can create an affinity group in Western Asia to support that office. So the hop itself doesn’t need to go from India, back the US then back to India again. Then get this, you can then change it to support the same farm. Example, you’re giving a demo in … I dunno say Western Europe. You can create an affinity group for that region and use that affinity group while you’re in Western Europe to get the best connectivity to your farm. Then when you’re done and back home in the states, you can move it back to North America to allow you to have the best bandwidth back home. Sweet!
Kind of a no brainer but still really sweet, you can remote desktop into all of these machines you create. You are given a URL based off the DNS name you give the machine when you create the VM and literally RDP’ing into that machine is as easy as dropping that URL into RDP and hitting connect. That’s a good note actually, the DNS name you give a machine when creating it has nothing to do with the virtual networking and everything to do with connecting to the machine from the outside world.
When you create and crush Virtual Disks & VMs be careful because when deleting one or the other doesn’t mean both are deleted just because their bound together. You can use virtual disks to provision more than 1 VM so by default Azure keeps the disk unless you say so.
Now for the best news of all. Literally step by step creation of a SharePoint farm in Windows Azure has already been written up by my colleague Keith Mayer you can see his write up here. Keith’s write up literally goes through setting up a virtual network for your SharePoint install, creating affinity groups and provisioning servers. It was the guide I used to create my environment. Check out his blog, create your free account and start playing around. Not a sales pitch but just something great that makes spinning up dev/demo environments very quick. Also make sure you tell him thanks, when Evangelists like Keith do this sort of thing it only benefits the community as a whole. It took a lot of time to write his blog I’m sure and having an impact is always good to hear.
As I think of more things or find something new I’ll try to remember to update this post. Enjoy everyone.
Eric was a speaker at the ESPC 2013. Check out Eric’s blog for more insightfull content!