Sitecore PaaS deployment topologies for Multi-regional scaling

As we all know, there are two main deployment topologies for Sitecore XP:
  1. Single - mostly for developer and integration environments
  2. Scaled - for all other environments
This post is intended to cover regional deployment and scaling options for a fully scaled production PaaS deployment.

There are three ways in which you can regionally scale Sitecore:
  1. Regionally scaled content delivery with shared xDB
  2. Regionally scaled content delivery with isolated xDB
  3. Regionally isolated Sitecore deployment
Option #1 is the most common scaling option and works in the the following scenario:
  1. Content & experience management is regionally centralized
  2. Marketing operations, marketing automation and digital marketing activities in general are regionally centralized
  3. Web analytics collection is regionally centralized
This basically means that operationally speaking, the organization is fairly centralized in their management and governance for the following:
  • Content creation, publishing, permissions, versioning, archiving etc. (Content management)
  • Segmentation, persona definition, personalization, customer journey mapping etc. (Experience management)
  • Definition of marketing taxonomy, classification of digital marketing assets, goals, outcomes, execution of omni-channel marketing campaigns, campaign attribution etc. (Digital marketing)
  • Collection and processing of of web analytics data
In this case, we simply need to scale content delivery instances, indexing roles, xConnect roles and session state management.

Option #2 this is rare but may still apply in cases where only content management is centralized but experience management and digital marketing efforts are regionally isolated which also means analytics collection is also regionally isolated.

This is a very real scenario in cases where organizations have brands or business units that operate independently per country or region.

Another important use case is regional data protection and privacy regulation. For e.g. China, Russia, India and other nations have increasingly stringent compliance regulation. Especially China, with it's Cyber Security Law (CSL) and China Data Protection Regulation (CDPR) requires that privacy data collected and processing of such data must remain within the country's boarders, which means:

  • xConnect roles must be isolated regionally
  • Experience management may also need to be isolated since segmentation may be based on analytics data
  • Processing & Reporting roles must be isolated
  • Content Management role must be isolated but not for content authoring but for experience management, digital marketing and reporting
Option #3 is fairly straight forward, as in, regionally deploying fully isolated and scaled Sitecore instance per region.


Here is a matrix of which roles need to be scaled for Option 1 and 2:

Fully Scaled Sitecore Regionally Scaled Content Delivery with shared xDB Regionally Scaled Content Delivery with Isolated xDB
Identity Server
Content Management Content Management
Content Delivery Content Delivery Content Delivery
Processing Processing
Reporting Reporting
xConnect (marketing ops, marketing automation, search) xConnect (marketing ops, marketing automation, search)
xConnect (collection, reference data) xConnect (collection, reference data)
Azure SQL (Core, Master, Web, Reporting, Pools, Tasks, Marketing Automation, Reference Data, Shard Map, Shards 0/1, Forms, Messaging) Azure SQL Web
Azure SQL (Master, Web, Reporting, Pools, Tasks, Marketing Automation, Reference Data, Shard Map, Shards 0/1, Messaging)
Azure Search Azure Search Azure Search
Redis Cache Redis Cache Redis Cache


Please do leave comments and suggestions for improvements.

Comments

Post a Comment

Popular posts from this blog

Is Rendered Item Valid XHtml Document Could not find schema information warnings during publish item Sitecore 7.2

Sitecore Tabbed Select Rendering dialog

RESOLVED: Solr Exceptions - Document contains at least one immense term in field