Platform Administration and Architecture

Scale horizontally

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 servers as traffic numbers increase.

Multiple Content Delivery instances

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

horizontal-cd1.png

Be aware of the following:

  • If multiple content Delivery 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 to whether to use sticky sessions or not - it is not required as all Content Delivery within the cluster share a session state server.

  • There are multiple providers available for session state.

  • In this scenario, every Content Delivery 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 servers that sit behind a load balancer:

horizontal-cm1.png

Be aware of the following:

Multiple Processing instances

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

horizontal-processing1.png

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.