Just like its predecessor, the Sitecore Experience Platform supports a standalone, all-in-one configuration, retaining the ability to run on a single server. This enables easy deployment of a development environment or a small, low-traffic production instance. However, you can see the real benefits and flexibility of the xDB architecture when you start trying to improve the performance of your application.
To achieve better performance and scalability, you can configure dedicated servers for different purposes, such as for content delivery or data processing. You can choose from a list of server features that you can configure on a single server or on multiple dedicated servers.
In practical terms, to assign features to a dedicated server, you simply configure a reduced set of components on a server. You can do this by disabling or enabling configuration files in your Sitecore installation. This gives you flexibility and fine-tuned control over the tasks and activities that you assign to each of your Sitecore instances.
By dividing your Sitecore application up into multiple servers performing different activities, you increase your scaling options. For improved application performance, you can scale both vertically (by scaling up the hardware on each server) and horizontally (by adding more servers to perform each activity). For improved availability and reliability, you can create clusters, such as for content delivery or data processing.
For additional flexibility, you can also configure a single server to perform multiple server tasks. For example, you could enable content management, content delivery, and reporting on a single server but move the MongoDB collection database to another server.
You should configure dedicated servers for different purposes:
- Content delivery server
- Content management server
- Processing/aggregation server
- Reporting Service server
- Collection database server
- Reporting database server
- Session database server