Sitecore 9 Installation – Distributed

If you have experience on Sitecore 9 installation with standalone instance, the prerequisite of a distributed environment is pretty much similar. You can refer Sitecore 9 Installtion – Standalone for the instruction of Solr, SQL Server and other prerequisites installation.

The main difference of distributed environment installation is using topology XP1.

  • Download Sitecore 9.0.2 rev. 180604 (WDP XP1 packages).zip from https://dev.sitecore.net/
  • Extract Sitecore 9.0.2 rev. 180604 (WDP XP1 packages).zip to an install folder.
  • Extract XP1 Configuration Files 9.0.2 rev. 180604.zip from previous step. Here are the files extracted.

XP1_Files

Here is the full scaled Sitecore 9 architecture. Above each install packages and associated configuration files match each instances below.  fully-scaled

Here is a list of instances all installed.

  • xConnect Colletion
  • xConnect Colletion Search
  • xConnect Marketing Automation
  • xConnect Marketing Automation Reporting
  • xConnect Reference Data
  • Sitecore Content Management
  • Sitecore Content Delivery
  • Sitecore Processing
  • Sitecore Reporting

Real installation is very flexible, you can install one instance per server or combine several instances in one server depending on the infrastructure architecture. The most important thing in distributed installation is the configuration of service connection. Here is a relationship between instances and services.

Instance_relationship

When editing Powershell Script and configuring instances, you can refer above table to make sure all parameters been setup.

  • xConnect service instances
#deploy xconnect instance -collection
$xconnectParams = 
@{
Path = "$PSScriptRoot\xconnect-xp1-collection.json" 
Package = "$PSScriptRoot\Sitecore 9.0.2 rev. 180604 (OnPrem)_xp1collection.scwdp.zip"
LicenseFile = "$PSScriptRoot\license.xml"
Sitename = $XConnectCollectionService 
XConnectCert = $certParams.CertificateName 
SqlDbPrefix = $prefix 
SqlServer = $SqlServer 
SqlAdminUser = $SqlAdminUser
SqlAdminPassword = $SqlAdminPassword 
} 
Install-SitecoreConfiguration @xconnectParams -Verbose

#deploy xconnect instance -collectionsearch
$xconnectParams = 
@{
Path = "$PSScriptRoot\xconnect-xp1-collectionsearch.json" 
Package = "$PSScriptRoot\Sitecore 9.0.2 rev. 180604 (OnPrem)_xp1collectionsearch.scwdp.zip"
LicenseFile = "$PSScriptRoot\license.xml"
Sitename = $XConnectCollectionSearchService 
XConnectCert = $certParams.CertificateName 
SqlDbPrefix = $prefix 
SqlServer = $SqlServer 
SolrCorePrefix = $prefix
SolrURL = $SolrUrl 
} 
Install-SitecoreConfiguration @xconnectParams -Verbose

#deploy xconnect instance -MarketingAutomation
$xconnectParams = 
@{
Path = "$PSScriptRoot\xconnect-xp1-MarketingAutomation.json" 
Package = "$PSScriptRoot\Sitecore 9.0.2 rev. 180604 (OnPrem)_xp1marketingautomation.scwdp.zip"
LicenseFile = "$PSScriptRoot\license.xml"
Sitename = $XConnectMarketingAutomation 
XConnectCert = $certParams.CertificateName 
SqlDbPrefix = $prefix 
SqlServer = $SqlServer 
SqlAdminUser = $SqlAdminUser
SqlAdminPassword = $SqlAdminPassword 
} 
Install-SitecoreConfiguration @xconnectParams -Verbose

#deploy xconnect instance -MarketingAutomationReporting
$xconnectParams = 
@{
Path = "$PSScriptRoot\xconnect-xp1-MarketingAutomationReporting.json" 
Package = "$PSScriptRoot\Sitecore 9.0.2 rev. 180604 (OnPrem)_xp1marketingautomationreporting.scwdp.zip"
LicenseFile = "$PSScriptRoot\license.xml"
Sitename = $XConnectMarketingAutomationReporting 
XConnectCert = $certParams.CertificateName 
SqlDbPrefix = $prefix 
SqlServer = $SqlServer 
} 
Install-SitecoreConfiguration @xconnectParams -Verbose

#deploy xconnect instance -ReferenceData
$xconnectParams = 
@{
Path = "$PSScriptRoot\xconnect-xp1-ReferenceData.json" 
Package = "$PSScriptRoot\Sitecore 9.0.2 rev. 180604 (OnPrem)_xp1referencedata.scwdp.zip"
LicenseFile = "$PSScriptRoot\license.xml"
Sitename = $XConnectReferenceData 
XConnectCert = $certParams.CertificateName 
SqlDbPrefix = $prefix 
SqlServer = $SqlServer 
SqlAdminUser = $SqlAdminUser
SqlAdminPassword = $SqlAdminPassword 
} 
Install-SitecoreConfiguration @xconnectParams -Verbose
  • Sitecore instance – reporting
$sitecoreParams = 
@{ 
Path = "$PSScriptRoot\sitecore-XP1-rep.json"
Package = "$PSScriptRoot\Sitecore 9.0.2 rev. 180604 (OnPrem)_rep.scwdp.zip" 
LicenseFile = "$PSScriptRoot\license.xml"
SqlDbPrefix = $prefix 
SqlServer = $SqlServer 
Sitename = $sitecoreRepSiteName 
} 
Install-SitecoreConfiguration @sitecoreParams -Verbose
  • Sitecore instance – processing
$sitecoreParams = 
@{ 
Path = "$PSScriptRoot\sitecore-XP1-prc.json"
Package = "$PSScriptRoot\Sitecore 9.0.2 rev. 180604 (OnPrem)_prc.scwdp.zip" 
LicenseFile = "$PSScriptRoot\license.xml"
SqlDbPrefix = $prefix 
SqlServer = $SqlServer 
SqlAdminUser = $SqlAdminUser 
SqlAdminPassword = $SqlAdminPassword 
SolrCorePrefix = $prefix 
XConnectCert = $certParams.CertificateName 
Sitename = $sitecorePrcSiteName 
XConnectCollectionService = "https://$XConnectCollectionService" 
} 
Install-SitecoreConfiguration @sitecoreParams -Verbose
  • Sitecore instance – content management
$sitecoreParams = 
@{ 
Path = "$PSScriptRoot\sitecore-XP1-cm.json"
Package = "$PSScriptRoot\Sitecore 9.0.2 rev. 180604 (OnPrem)_cm.scwdp.zip" 
LicenseFile = "$PSScriptRoot\license.xml"
SqlDbPrefix = $prefix 
SqlServer = $SqlServer 
SqlAdminUser = $SqlAdminUser 
SqlAdminPassword = $SqlAdminPassword 
SolrCorePrefix = $prefix 
SolrUrl = $SolrUrl 
XConnectCert = $certParams.CertificateName 
Sitename = $sitecoreCmSiteName 
XConnectCollectionSearchService="https://$XConnectCollectionSearchService"
XConnectReferenceDataService= "https://$XConnectReferenceDataService"
MarketingAutomationOperationsService="https://$MarketingAutomationOperationsService"
MarketingAutomationReportingService= "https://$MarketingAutomationReportingService" 
} 
Install-SitecoreConfiguration @sitecoreParams -Verbose
  • Sitecore instance – content delivery
$sitecoreParams = 
@{ 
Path = "$PSScriptRoot\sitecore-XP1-cd.json"
Package = "$PSScriptRoot\Sitecore 9.0.2 rev. 180604 (OnPrem)_cd.scwdp.zip" 
LicenseFile = "$PSScriptRoot\license.xml"
SqlDbPrefix = $prefix 
SqlServer = $SqlServer 
SolrCorePrefix = $prefix 
SolrUrl = $SolrUrl 
XConnectCert = $certParams.CertificateName 
Sitename = $sitecoreSiteName 
XConnectCollectionService = "https://$XConnectCollectionService" 
XConnectReferenceDataService= "https://$XConnectReferenceDataService"
MarketingAutomationOperationsService="https://$MarketingAutomationOperationsService"
MarketingAutomationReportingService= "https://$MarketingAutomationReportingService" 
} 
Install-SitecoreConfiguration @sitecoreParams -Verbose

 

The installation has sequence. Install xConnect service instances first, then Sitecore instances.

From license perspective, XP Services (xConnect Collection, xConnect Collection Search, xConnect Reference Data, Marketing Automation, Marketing Automation Reporting) are not licensed Sitecore installs. Same goes for the worker roles (Search Index worker and Marketing Automation Engine worker). CD, CM, PRC, RPT are all ‘licensed’ instances. They count against a Sitecore license. Processing(PRC) and Reporting(RPT) are sometime treated differently than CD/CM in a standard on-premise perpetual instance-based licensing model.

Advertisements
This entry was posted in Information Technology, Sitecore and tagged , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s