Scale horizontally

Current version: 9.0

The Sitecore Experience Platform can be scaled horizontally by dedicating multiple instances to a particular role. For example, it is common practice to increase the number of Content Delivery (CD) servers as traffic numbers increase.

Multiple Content Delivery instances

In the following scenario, traffic is distributed across multiple CD servers that sit behind a load balancer:

Be aware of the following:

  • If multiple CD instances are used, you must use out-of-process session state, as shown, in order to support multiple concurrent devices.

  • It is up to you whether to use sticky sessions or not - it is not required as all CD within the cluster share a session state server.

  • There are multiple providers available for session state.

  • In this scenario, every CD server in this cluster is reading from the same web database (you can also set up Content Delivery clusters).

  • If you are using file-based media, you must synchronize media across all CD servers.

Multiple Content Management instances

In the following scenario, authoring traffic is distributed across multiple Content Management (CM) servers that sit behind a load balancer:

Be aware of the following:

  • CM servers use the same master database - there is currently no support for replicating the master database. See the following Knowledgebase article for an overview of SQL scaling support: https://kb.sitecore.net/articles/423602

  • If you are using file-based media, you must synchronize media across all CM servers.

  • If you have multiple CM servers, you must set up a dedicated Reporting Service instance.

Multiple Processing instances

In the following scenario, processing and aggregation is handled by multiple Processing servers:

Be aware of the following:

  • All Processing servers are reading from the same pools.

  • Processing servers do not strictly need to be load balanced. However, the Content Management role requires a connection to a Processing server in order to trigger the reporting rebuild process. You can either point the Content Management role to a specific Processing server, or introduce a load balancer.

Multiple XP service instances

You can run multiple instances of any XP service behind a load balancer. This includes:

  • xConnect Collection

  • xConnect Search

  • Marketing Automation Operations

  • Marketing Automation Reporting

  • Reference Data Service

Note

You can also load balance multiple XP Single environments, where all XP services are combined on a single machine.

Keep the following in mind when configuring a load balancer:

  • You do not need to use a persistent load-balancing method - there is no session state to maintain.

  • Use the root page (https://xconnect_example/) to check server availability (or “heartbeat”).

The xConnect Search Indexer only supports single instance

Although it is possible to scale out the xConnect Search service, there can only be one instance of the xConnect Search Indexer. In Microsoft Azure, the indexer web job is automatically configured to run on one instance with the ability to fail over to another instance.

The Automation Engine supports multiple instances

Unlike the xConnect Search Indexer, the Marketing Automation Engine supports multiple instances. In Azure, this means that the web job will run concurrently on all instances of the Marketing Automation services.

Do you have some feedback for us?

If you have suggestions for improving this article,