---
title: "Define the server role"
slug: "define-the-server-role"
abstract: "On each Sitecore instance you can specify which server role or roles the instance performs."
---
# Define the server role

In order to start [scaling and optimizing](http://doc.sitecore.net/developers/scaling-guide) your Sitecore installation, you must move the separate [server roles](https://doc.sitecore.com/xp/en/developers/100/platform-administration-and-architecture/rule-based-configuration.html "Rule-based configuration") to their own instances. You must then specify which server role each instance performs.

This topic describes how to:

- [Specify the server role](https://doc.sitecore.com/xp/en/developers/100/platform-administration-and-architecture/define-the-server-role.html#UUID-8d38fbff-6c28-97d3-101c-f1aa20afd3ed_id__Specify_the_server "Specify the server role")
- [Move a server role to a separate instance](https://doc.sitecore.com/xp/en/developers/100/platform-administration-and-architecture/define-the-server-role.html#UUID-8d38fbff-6c28-97d3-101c-f1aa20afd3ed_id__Move_a_server "Move a server role to a separate instance")

<details>
<summary><h2>Specify the server role</h2></summary>

To specify the server role:

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

    ```xml
    <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.

</details>

<details>
<summary><h2>Move a server role to a separate instance</h2></summary>

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 information about the options for combining server roles, refer to the scaling section of each role's configuration page. For example: [Content Delivery](https://doc.sitecore.com/xp/en/developers/100/platform-administration-and-architecture/scaling-and-configuring-content-delivery.html "Scaling and configuring Content Delivery"), [xConnect Collection](https://doc.sitecore.com/xp/en/developers/100/platform-administration-and-architecture/scaling-and-configuring-the-xconnect-collection-service-role.html "Scaling and configuring the xConnect Collection service role").

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](https://doc.sitecore.com/xp/en/developers/100/platform-administration-and-architecture/view-configuration-changes.html "View configuration changes") 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.

</details>