- SharePoint on Windows Azure â€“ Part 1: Introduction
- SharePoint on Windows Azure – Part 2: Storage
- SharePoint on Windows Azure – Part 3: Networking
- SharePoint on Windows Azure – Part 4: SharePoint Farm
For the past few months, I have been testing running SharePoint on Windows Azure. It’s a very intriguing proposition â€“ enabling the full power and benefits of the cloud with SharePoint. By using Windows Azure, you get the ability to scale quickly and get up and running fast at a low cost. Plus, you don’t need to worry about the underlying infrastructure (as much), how reliable it is and if your information is redundant. I won’t go into a lot of detail on the benefits of the cloud or specifically Windows Azure but I’ll say this: You get to use a world-class datacenter where your data is copied 6 times in different geographic regions, where your compute and storage resources are constantly being optimized and load balanced, and where you can trust your data is secure.
There are some great resources that can help you get started deploying SharePoint on Windows Azure and I’ll list links at the end. However, I found myself referencing several different sources: blogs (mostly), MSDN articles, TechNet articles and internal communities for information. As a cloud newbie, the concepts were sometimes difficult to understand, the instructions sometimes conflicting or not applicable and the audience often seemed unclear (is this for developers? Do I really need to install Visual Studio?).
I’m writing this series to try and consolidate the information and present it from an ITPro’s perspective. My intention is to skip the theoretical discussions around using cloud, skip the developer-focused content and show you how to set up your cloud environment end to end the right way! Along the way, I’ll also show you some tools I use and highlight some things that tripped me up (lessons learned).
So let’s get started right away, we’ll review the architecture and concepts along the way. You’ll need a Windows Azure account to follow. Unfortunately, the 90-day free trial is limited in compute hours and storage, so is the MSDN Subscription benefits. However, I’ll show you scripts later on that will help you conserve your usage.
Once you’ve signed up, download the Windows Azure SDK. We’ll need this to interact with Windows Azure:
- Browse to http://www.windowsazure.com and click on “Develop” in the top bar.
- Under Development Centers, click the “other” link.
- Click the Windows Azure SDK Windows Installer.
- Install the SDK. When it’s finished, you should have a few new apps. Specifically, Windows Azure PowerShell and Windows Azure Command Prompt.
Now, if your Windows Azure account is ready to go, continue on. Otherwise, you’ll have to wait until your account is “activated.” You may have read articles on how to create a management certificate and import it. It sounded quite complicated to me, instead just follow these steps:
Note: In programs such as Microsoft Word, Adobe Reader and even Windows Notepad, the “-” symbol doesn’t transcribe properly to the command prompt. If you copy and paste commands from this file and get strange errors, re-type everything manually rather than using copy/paste.
- Open Windows Azure PowerShell and type in: Get-AzurePublishSettingsFile
- A browser window will open, you may be asked to login and then the browser will prompt you to open or save the *.publishsettings file. SAVE it, somewhere safe and secure. The cmdlets also downloads the management certificate for you.
- Back in Windows Azure PowerShell type in: Import-AzurePublishSettingsFile â€“PublishSettingsFile <full path to your .publishsettingsfile>
Done. You’re now fully setup and ready to go. To test this, simply type in Get-AzureSubscription. As a final step, delete the *.publishsettingsfile file as it contains sensitive information.
Note: You can also use the normal Windows PowerShell and import the Windows Azure cmdlets using “Import-Module Azure”
Next, we’ll need to also setup the Windows Azure Command Prompt in a similar fashion. We need the information from the certificate we just downloaded. The certificate you downloaded is real, you can find it in two places. First, login to the Windows Azure Portal and click on “Settings” on the left bar. You’ll find your management certificate here.
While you’re here, copy and paste the “Subscription Identifier” and the “Thumbprint,” we’ll use these next.
Second, open the Certificate Manager on your local machine (Win + R: certmgr.msc). You’ll see the same certificate under Personal\Certificates.
And you can verify it’s the same certificate by opening the certificate (double-click on it) and looking at the thumbprint in the details tab.
We can see that “FEC51664” is the first part of the thumbprint here as well on in the Windows Azure Settings page (your thumbprint will differ from mine, of course but it should match what’s on Windows Azure).
OK, so let’s setup our connection in the Windows Azure Command Prompt. Open the Windows Azure Command Prompt and type in the following:
csupload.exe set-connection “SubscriptionID=e3a…..95; CertificateThumbprint=cb……..94; ServiceManagementEndpoint=https://management.core.windows.net”
Replace the ID and Thumbprint with the ones you copied from the Windows Azure management portal earlier. You can close the command prompt if you want, the connection persists until you clear it using “csupload clear-connection.”
Note: If you copy and paste, you may get special characters. For example, in front of your SubscriptionID and an extra space or missing words for the ServiceManagementEndpoint. Check it carefully.
The last thing I want to you show is for times when you have more than one subscription in your account (as I do). We already looked at Get-AzureSubscription, this will list all your subscriptions but one of them will be default. To change which one is the default, simply execute the following:
Set-AzureSubscription â€“DefaultSubscription <“SubscriptionName”>
Next time we’ll start building some VM’s. If you’d like a head start and have the capability, go ahead and stand up a domain controller and SQL server in Hyper-V using the old .vhd (not .vhdx) format and fixed disks.
As promised, here are a few resources for further reading/viewing:
- Paul Stubbs Blog: http://blogs.msdn.com/pstubbs
- What is Infrastructure as a Service: http://social.technet.microsoft.com/wiki/contents/articles/4633.what-is-infrastructure-as-a-service.aspx
- Windows Azure Portal: https://www.windowsazure.com/ (review all the tabs)
- Windows Azure IaaS & How It Works (Video): http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/AZR201
- Windows Azure Internals (Video): http://channel9.msdn.com/Events/TechEd/Europe/2012/AZR302