Deploying Sitecore 9 to Azure App Service – with demo

Posted by on Nov 23, 2017 in Sitecore Blog | 0 comments

This blog provides an overview of deploying of Sitecore 9 to Azure App Service using  Sitecore Azure Toolkit 2, ARM templates and PowerShell script. The functionality to provision Sitecore to App services existed since Sitecore 8, this release added support for more configuration topologies along with out of the box support for data security for xConnect components. Sitecore in App Service no longer required Mongo, Azure SQL is used for xConnect, CMS and session data. Complete deployment to Azure of XPSigngle instance takes in average 40 minutes to complete, please consider the cost of running multiple Azure components, mainly search. The complete XPSingle configuration, in its original forms, will cost an owner more than $200 a month.  The cost can be reduced by tuning Databases configuration and size of Azure search.



  • Provision Azure Account and obtain Subscription Id.
  • Create Microsoft Storage account using this guide or just go to Azure Portal, click “+” -> Storage->Storage Account and select blob storage
  • Choose the desired topology using this table. For demonstration purposes, XPSingle configuration was selected.  Sitecore made available 6 topologies to choose from:
Resource Description
Packages for XP Single Packages for XP Single (XP0) Instance configuration.
Packages for XP Scaled Individual packages for each of the dedicated XP Scaled (XP1) roles.
Packages for XM Single Packages for XM Single (XM0) Instance configuration.
Packages for XM Scaled Individual packages for each of the dedicated XM Scaled (XM1) roles.
Packages for XDB Single Packages for XDB Single (XDB0) Instance configuration.
Packages for XDB Scaled Individual packages for each of the dedicated XDB Scaled (XDB1) roles
  • Upload selected configuration to Azure blob storage.


  • Download latest  Sitecore Azure Toolkit, at the time of this blog version 2.0 is available,  and unzip it to your workplace location.
  • Download latest ARM templates for selected topology, once downloaded, upload all to boob storage and place azuredeploy.parametrs.json to workplace location. 

  • Create and sign certificate file. The certificate will be used by installer script in a later step. Example script

  • Update azuredeploy.parametrs.json file with relevant information.
    • location – Azure datacenter location, for example, “East Us”
    • sitecoreAdminPassword – password for Sitecore SQL Database
    • singleMsDeployPackageUrl – location of a Sitecore Zip file, example:
    • xcSingleMsDeployPackageUrl – same as above, but for xConnect.
    • authCertificatePassword – secret used while creating certificate file
    • allowInvalidClientCertificates  – must be set true for self-signed certificates

  • Update installer script as required:
    • DeploymentId – the name of the resource group and prefix to types within the resource group. Also, a prefix for App Service website.
    • Certificate file – location of certificate created earlier
    • SubscriptionId – subscription ID, created in step #1.
    • Location – Location of Microsoft Datacenter
    • ParamFile  -location of parameter file, created in a previous step
    • azureDeployFile – location of Azure ARM topology, uploaded to blob storage

  • Run script, grub coffee and patiently wait while resources are created….



Update: 2/24/2018

While installing Sitecore 9.0.1 I start getting this error:

or from the installation log:

It seems as AzureApp Service  is not able to access



Upload to a Azure Blob and update disablePrefetchCachingMsDeployPackageUrl node with the URL for the file on the blob.





Post a Reply

Your email address will not be published. Required fields are marked *