Sitecore 9 Infrastructure Roles

Not to be confused with Server Roles that are required for Configuration, this post is about all the different elements (or infrastructure roles) required to run an instance of Sitecore 9 Experience Platform. Whether you are in the cloud, or on-premise, these roles are all neccessary (albeit they run differently on-premise vs on the cloud) for all the features of the Experience Platform to work.

Content Management and Content Delivery

These are obvious and unchanged – can be scaled up as necessary, and their functions continue to be the same.

Processing and Reporting

Processing servers are responsible for aggregating collected data into a format that is suitable for reporting. It is responsible for processing all the xDB data, and putting it into the reporting database and putting it into a format where it can be reported on. It is another Sitecore instance, configured to serve the processing role.

Reporting servers are primarily used as the instance to get all the data for displaying analytics. Whenever an author/content editor goes into the content management to see data such as Experience Analytics, or similar analytics, the CM server then uses the Reporting API to access the aggregated data that was processed by the Processing server.


Brand new for Sitecore 9, xConnect is a middle layer that sits between the xDB and CM/CD, effectively acting as the abstraction layer for the collection of all xDB data. In addition, it’ open to be used by any trusted client to be able to interact with xDB, so you’re not limited to having on Sitecore data in xDB. It has multiple APIs, and a different set of databases. In short, it is comprised of:

  1. The xConnect Collection service
  2. The xConnect Search service
  3. The xConnect Search Indexer
  4. The Collection databases

This is too short of a topic to cover in a blog post, but there is some fantastic documentation on it in the xConnect developer center documents.

Marketing Automation Service

The Marketing Automation Worker Service is a standalone service (windows server on-premise, web job in Azure) that is responsible for going through the marketing automation plans and enrolling contacts that meet the criteria for those plans. You can install this on any server that has connectivity to the processing pools.

xConnect Search Indexer

The xConnect Search Indexer is a standalone server (windows server on-premise, web job in Azure) that is responsible for adding xDB data into the search index for easy access. A lot of the data is automatically added, but this service primarily adds contact and interaction data, and runs on schedule to check for updates.


Sitecore 9 supports SQL Server 2016 SP1 for it’s the main content databases, xConnect and xDB databases, and MongoDB is not a requirement. In fact, currently, there is no support for MongoDB, but it is forthcoming.

That’s about all the infrastructure elements needed to run a full Sitecore 9 Experience Platform. There are scaled out and scaled down versions of these, which I will cover in the next post.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s