April 23, 2018

Sitecore 9 in Azure

Notes from a manual installation of Sitecore 9 XP in Azure. The goal of this was to fully understand all connections between the different entities in the solution.

This post will contain a list of notes made during a provisioning of Sitecore 9 with a number of modules.

Versions used:

  • Experience Platform 9.0.1 rev. 171219
  • Powershell Extensions 4.7.2
  • Experience Accelerator 1.6 rev. 180103

Later we will include Commerce 9.0 Update-1

Databases:

  • core-db
  • master-db
  • web-db
  • reporting-db
  • processing-pools-db
  • processing-tasks-db
  • marketing-automation-db
  • messaging-db (Rebus message bus)
  • xdb-collection-shardmapmanager-db (Microsoft Shard Map Manager)
  • reference-data-db
  • experience-forms-db
  • exm-master-db
  • xdb-collection-shard0-db
  • xdb-collection-shard1-db

Azure search indexes

  • sitecore-master-index
  • sitecore-core-index
  • sitecore-web-index
  • sitecore-marketingdefinitions-master
  • sitecore-marketingdefinitions-web
  • xdb (analytics index)

API keys

  • reporting.apikey (key needs to be 32 random characters)

XP "services"

The following list contains parts of the XP platform, that are not provisioned as Sitecore instances/websites

xconnect.collection

Type: asp.net 4.x site, provisioned as App Service
Connections:

  • xdb.processing.pools -> processing-pools-db
  • xdb.marketingautomation -> marketing-automation-db
  • messaging -> messaging-db
  • collection -> xdb-collection-shardmapmanager-db

xconnect.collection-search

Type: asp.net 4.x site, provisioned as App Service
Connections:

  • xdb.processing.pools -> processing-pools-db
  • xdb.marketingautomation -> marketing-automation-db
  • messaging -> messaging-db
  • collection -> xdb-collection-shardmapmanager-db
  • collection.search -> xdb

xconnect.collection-search IndexWorker

Type: Windows service or Azure WebJob
Is located inside the App_Data\jobs folder in the xconnect.collection-search package.

Don't forget the license.xml file
Connections: same as xconnect.collection-search, inherited from the App Service in Azure

reference-data

Type: asp.net 4.x site, provisioned as App Service
Connections:

  • xdb.referencedata -> reference-data-db

marketing-automation

Type: ASP.NET 4.x site, provisioned as App Service
Connections:

  • messaging -> messaging-db
  • xdb.marketingautomation -> marketing-automation-db
  • xdb.referencedata -> reference-data-db
  • xconnect.collection -> xconnect.collection service via https
  • xconnect.collection.certificate -> xconnect.collection service certificate ID

marketing-automation AutomationEngine

Type: Windows service or Azure WebJob
Is located inside the App_Data\jobs folder in the marketing-automation package.
Requires the license.xml file
Connections: same as marketing-automation, inherited from the App Service in Azure

marketing-automation-reporting

Type: ASP.NET 4.x site, provisioned as App Service
Connections:

  • xdb.marketingautomation -> marketing-automation-db

Sitecore roles

The following list of sites are all old-school Sitecore websites/instances.

CM

Connections:

  • core -> core-db
  • master -> master-db
  • web -> web-db
  • messaging -> messaging-db
  • xconnect.collection -> xconnect.collection-search !!! service url via https
  • xconnect.collection.certificate -> xconnect.collection-search certificate ID
  • xdb.referencedata -> reference-data-db
  • xdb.referencedata.client -> reference-data service url via https
  • xdb.referencedata.client.certificate -> reference-data service certificate ID
  • reporting.apikey -> reporting.apikey defined
  • xdb.marketingautomation.reporting.client -> marketing-automation-reporting service url via https
  • xdb.marketingautomation.reporting.client.certificate -> marketing-automation-reporting service certificate ID
  • xdb.marketingautomation.operations.client -> marketing-automation service url via https
  • xdb.marketingautomation.operations.client.certificate -> marketing-automation service certificate ID
  • experienceforms -> experience-forms-db
  • EXM.CryptographicKey - N/A
  • EXM.AuthenticationKey - N/A
  • cloud.search -> Azure search host url

Please note that the xconnect.collection connection string name has been reused on CM to point to the xconnect.collection-search service

CD

Connections:

  • core -> core-db
  • web -> web-db
  • messaging -> messaging-db
  • xconnect.collection -> xconnect.collection service url via https
  • xconnect.collection.certificate -> xconnect.collection certificate ID
  • xdb.referencedata.client -> reference-data service url via https
  • xdb.referencedata.client.certificate -> reference-data service certificate ID
  • reporting.apikey -> reporting.apikey defined
  • xdb.marketingautomation.operations.client -> marketing-automation service url via https
  • xdb.marketingautomation.operations.client.certificate -> marketing-automation service certificate ID
  • experienceforms -> experience-forms-db
  • EXM.CryptographicKey - N/A
  • EXM.AuthenticationKey - N/A
  • redis.sessions -> Redis cache host url
  • cloud.search -> Azure search host url

PRC

Connections:

  • core -> core-db
  • master -> master-db
  • web -> web-db
  • xconnect.collection -> xconnect.collection service url via https
  • xconnect.collection.certificate -> xconnect.collection certificate ID
  • xdb.referencedata -> reference-data-db
  • xdb.processing.pools -> processing-pools-db
  • reporting.apikey -> reporting.apikey defined
  • reporting -> reporting-db
  • xdb.processing.tasks -> processing-tasks-db
  • EXM.CryptographicKey - N/A
  • EXM.AuthenticationKey - N/A

REP

Connections:

  • core -> core-db
  • master -> master-db
  • web -> web-db
  • reporting.apikey -> reporting.apikey defined
  • reporting -> reporting-db
  • EXM.CryptographicKey - N/A
  • EXM.AuthenticationKey - N/A

DDS

Not installed in this deployment (yet)

Changes to the CM config:

   <sitecore>
        <reporting>
            <remote>
                <httpTransportFactory>
                    <param desc="serviceUrl">[URL TO REPORTING SERVER]</param>
                </httpTransportFactory>
            </remote>
        </reporting>
        <processing>
            <remote>
                <httpTransportFactory>
                    <param desc="serviceUrl">[URL TO PROCESSING SERVER]</param>
                </httpTransportFactory>
            </remote>
        </processing>
   </sitecore>