Platform Administration and Architecture

Define the server role

Abstract

On each Sitecore instance you can specify which server role or roles the instance performs.

In order to start scaling and optimizing your Sitecore installation, you must move the separate server roles to their own instances. You must then specify which server role each instance performs.

This topic describes how to:

To specify the server role:

  • In the web.config file, in the <AppSettings> section, specify the server role value:

    <AppSettings>
    <add key="role:define" value="[server role]"/>
    </AppSettings>
    

    The supported values for the server role are:

    • ContentDelivery

    • ContentManagement

    • Processing

    • Reporting

    • Standalone

    The values are not case sensitive.

The default value is Standalone, which means that the Sitecore instance performs all Sitecore server roles.

You can start scaling Sitecore by moving one of the server roles to a separate instance. When you move server roles to new instances, it is best practice to dedicate each instance to one server role. However, it is possible to combine some of the server roles on a single instance. For more information on combining server roles, see the Scaling guide.

To move a server role to a separate instance:

  1. Install Sitecore on two separate instances.

  2. Configure the first instance to fulfill all server roles except the server role that you want to move (for example, the ContentDelivery role) by changing the line <add key="role:define" value="Standalone"/> to specify the remaining server roles (for example, <add key="role:define" value="ContentManagement, Processing, Reporting"/>).

    Note

    When Sitecore reads the role definition, it ignores any blank spaces between the individual server roles. For example, "ContentManagement, Processing" and "ContentManagement,Processing" are both valid values.

  3. Configure the second instance to fulfill only the server role you want to move (for example, the ContentDelivery role) by changing the line <add key="role:define" value="Standalone"/> to specify only the selected server role (for example, <add key="role:define" value="ContentDelivery"/>).

    Note

    The web.config file must only have one line using role:define. If there is more than one role:define line, Sitecore only uses the value in the last line.

  4. Connect both instances to the relevant databases by configuring the connection strings.

You can move any of the server roles to its own instance. When a server role is running on its own instance, you can further optimize its performance by scaling it.

Note

You can use the Show Config tool to see the resulting configuration as it looks when Sitecore compiles it at runtime. You can also use the Show Config tool to simulate changing the configuration rules or disabling configuration layers without actually changing the configuration.