Before we begin!

What are ARM templates anyway ?

If you have not heard about them before, you are not the only one.

Simply put, they are JSON files where you can define the structure and configuration values (just like web.config file but in json format) of what you want to deploy. For more information about ARM templates, please visit Microsoft documentation.

Once you have installed the tools and downloaded pre-built Web Deploy packages, you can follow the step by step guide below and do a Sitecore Azure PaaS deployment for XP1 configuration:

Step 1: Upload Web Deploy packages

The first step will be to upload the Web Deploy packages at a location which can be accessed over the internet during our installation process. Microsoft Azure provides storage accounts to store any kind of data that can be accessed over internet. Create a new storage account within the Azure portal using this guide and then upload the individual server role scwdp.zip packages. I am using Sitecore 8.2 up-3 and for XP1 configurations so I have uploaded the following packages:

Sitecore 8.2 rev. 170407_cd.scwdp.zip

Sitecore 8.2 rev. 170407_cd.scwdp.zip

Sitecore 8.2 rev. 170407_prc.scwdp.zip

Sitecore 8.2 rev. 170407_rep.scwdp.zip

Once you have uploaded the packages, open ‘Microsoft Azure Storage Explorer’ and connect to your account. Generate a shared access signature URL for each of the packages and note it down for later use as shown below:

Step 2: Setup MongoDB collections for analytics

The next step will be to setup MongoDB for the deployment. You can either provision a new VM through Microsoft Azure and install MongoDB and then create your databases or you can use 500 MB of FREE MongoDB storage provided by mlab.com.

If you have never used mlab for Sitecore before, please follow this guide by Sitecore MVP David Peterson to create 4 individual MongoDB for your site.

Step 3: Update azure.parameters.json

Once you have noted down shared access URLs for web deploy packages and also got connection strings for MongoDBs, the next task is to update the azure.parameters.json file.

Assuming that you have downloaded the Sitecore Azure Quick Start ARM templates from GitHub , navigate to the ‘xp’ folder and update the azure.parameters.json file with the parameters that you have recorded earlier.

You can leave licenseXml value as blank as it will be passed through the command line.

Step 4: Setup Sitecore Azure Toolkit folder

I downloaded the Sitecore Azure Toolkit zip package and copied to a location C:\azure\sitecore-azure on my local machine. Then I copied the Sitecore license file and the ‘xp‘ folder that I modified in the previous step in the same folder location. This will make sure that I do not make any path related errors while I am running the PowerShell commands

Step 5: Run PowerShell Commands

Okay, the moment of truth has arrived.

Open PowerShell in administrative mode and navigate to the Sitecore Azure Toolkit folder. In my case it will be ‘C:\azure\sitecore-azure‘ and then run the following 2 commands to setup PowerShell:

Add-AzureRMAccount – this will show a pop-up to login to your Azure account

Import-Module .\tools\Sitecore.Cloud.Cmdlets.psm1 -verbose – this will load the Sitecore specific Azure commands into the session.

Now we are ready to provision our environment with just one command. If you have followed the steps as above and have entered values in your parameters.json, just entered the following command: