This series is to showcase how easy it is to create a new SharePoint 2013 Development platform on Azure.
Why built Development Platform on Azure?
Some of the issues that my colleagues (from the real dark side writing code and stuff J ) go through on a daily basis :
- Carrying heavy duty laptops back and forth with all their virtual machines. Single point of failure from Hardware / loss of equipment etc.
- If the platform is hosted on internal platform (Private Cloud) they go through issues of having to wait for servers to be deployed, VPN being down, server running slow.
- Downtime waiting for resources to be made available to them.
The advantages of having these Virtual Machines (VM’s) being deployed within Azure:
- Resources are available on Demand.
- Ability to scale in and scale out their SharePoint farm quickly.
- Scope of access to these virtual machines.
- Ability to connect their local Visual Studio instances to SharePoint servers on Azure with ease.
- Test Remote connectivity to their SharePoint site – ability to test External Authentication, look and feel, performance testing.
Before we go ahead and fire up the SharePoint servers, there is some ground work to be completed. We will go through each of the components.
- Azure Network – Subnets to be created to segregate your SharePoint farms
- Active Directory – This active directory will be used by all the individual Development SharePoint servers.
- Service Accounts
- Deploying VPN for Point to Site connectivity
This is a one-time setup. Once the Azure Network has been setup, the networking components can be recalled to implement new SharePoint servers. A sample network that is being created for this post is shown below
For this post, the following network has been created on Azure:
For the Developers who would want to connect to their individual VM’s a Point to Site VPN profile has also been provisioned
Which is currently offline as shown below
This is again a one-time setup. Based on the size and scale of your development team or platform that is required, the development platform can be supported by a single or multiple domain controllers. For this post there is a single Domain Controller called azdevdc which has an Azure IP address of 192.168.1.4. Within the Azure Network, we have configured this server to be the default DNS server for any new VM’s being provisioned within this Azure Network.
Basic Configuration for the domain Controller:
- Part of an independent cloud service associated with all Domain Controllers within this domain. Also recommend creating a Cloud Service for the SharePoint servers as well.
- Part of the Storage Account associated with this subscription
- Basic A1 or Standard A1 is sufficient.
For the post, a demo domain has been created called azdevsp.local.
Development SharePoint Server
These servers are created on demand when the requirement arises. There are two options that can be followed for the creation of these VM’s.
Creating the Server using Azure Portal
Log onto the Azure Portal and choose to create a new Virtual Machine through the gallery
Choose the MSDN option right at the bottom left hand corner of the screen
- Browse through the featured VM images and choose Visual Studio Ultimate 2013 Update 3 (Windows Server 2012) and click next.
Based on your Azure subscription and the payment option chosen, the Tier can be selected for the VM image to be deployed onto. A basic Tier can also be chosen so that the VM running cost is kept low. For this demo, a basic tier with A3 sizing can be easily used.
- Choose the SharePoint Cloud Service to be associated with this SharePoint server. If the server is going to host a site which requires to be tested externally, do not add another developers SharePoint server to the same cloud service as Azure would setup Load balancer in front of both the servers. Create a new cloud service and add the new SharePoint server to it.
- Choose the VM Agent. Really useful getting the BGInfo details deployed.
- This goes ahead and creates the new SharePoint server as per the above information.
But where’s the fun in filling out forms and pushing create? J
Creating SharePoint Server using Azure PowerShell
$ImageName = "03f55de797f546a1b29d1b8d66be687a__Visual-Studio-2013-Ultimate-Update3-AzureSDK-2.4-WS2012" # This is the Visual Studio Update 3 Windows 2012 Server Image
Set-AzureSubscription -SubscriptionName "MSDN Platform" -CurrentStorageAccount "azdevstore"
New-AzureVMConfig -Name "azdevsp2" -InstanceSize "Medium" -ImageName "03f55de797f546a1b29d1b8d66be687a__Visual-Studio-2013-Ultimate-Update3-AzureSDK-2.4-WS2012" |
Add-AzureProvisioningConfig -Windows -AdminUsername "godmode" -Password "godmodepass1" |
Set-AzureSubnet -SubnetNames "SharePointServers" |
New-AzureVM -ServiceName "azdevsp2cld" -VNetName "AzureSPDevNtwk"
By running the above code from through Azure PowerShell, the process becomes repeatable and with predicted outcomes without the “Oops I forgot to tick that and enter this”.
This basically completes the SharePoint 2013 Development Server deployment part of the series.