Readers Digest of Sitecore 9 Architecture and Roles
We have all been very excited about a major transition from Sitecore 8x architecture to Sitecore 9 - xConnect, Dynamic Placeholders, back to the roots movement from Mongo to SQL and various other features. I was particularly interested to dissect and understand the new architecture of Sitecore 9. Sitecore community is abuzz with conversations around microservices, numerous logical system roles or entities. And there s about 50 of them! And they can be scaled and configured in a wide variety of topologies to form a tailored Sitecore solution for specific business requirements. What about which topology/product uses which combination of roles? Do they overlap?
Now I gotta sit down, take notes and highlight some things. I am hoping this condensed summary will help someone navigate the complex yet elegant architecture of Sitecore 9.
Let s set aside the roles and return to the basics for a moment entire Sitecore product and the parts it consists of. There are three products that form the Sitecore suite. They are:
- Sitecore Experience Manager (XM) everything content related: creation, management, personalization and publishing. This is the central/core CMS part.
- Sitecore Experience Platform (XP) this is a combo, a bundle which combines Experience Manager with marketing and customer intelligence features that come with xConnect and the xDB
- Sitecore Experience Commerce (XC) all the features and functionality related to commerce
Apart from distinct product types what about scaling? As a potential buyer what do I go for depending on the size of my business and how my development process is set up?
Sitecore comes with two pre-built topologies (either XM or XP):
- Single is a good option for local dev and testing environments. Or small implementations where everything can be installed on a single machine.
- Scaled is best for large implementations and it can be scaled both vertically and horizontally, depending on your business needs.
Let s look at all the roles by type.
- Storage roles either a database or a data store for temporary storage
- Application roles performs some business logic. These are subdivided into Web Roles (websites or web services with API endpoints; deliver output) and Worker Roles (data transporters; they await changes to data and transform/transfer the data to other roles)
- Indexes quick retrieval of data
- Cloud services hosted services
Now that we have the four types I would like to list all roles applicable to XM (Experience Manager), our CMS by type:
- Storage: master, web, core, forms DB s. Plus Private Session State and Shared Sessions State stores.
- Application: Content Delivery, Content Management, Content Publishing, Data Exchange Framework Remote Client.
- Indexes: master, web, and core.
- Cloud services: GeoIP lookup and Device Detection.
Let s move onto Experience Platform or XP roles. This is the biggest list of all three.
-
Storage: DB s: xDB Collection, xDB Reference, xDB Processing Tasks, xDB Processing Pools, xDB Reporting. Then there s Marketing Automation, FXM and Message Bus
-
Application: xConnect Collection, xConnect Collection Search, xConnect Search Indexer. xDB Processing, xDB Reporting, Reference Data, Marketing Automation Operations, Marketing Automation Reporting, Marketing Automation Engine. FXM Dedicated Dispatch
-
Indexes: xDB, Testing, Suggested Test, Web Marketing Definitions, Web Marketing Assets, FXM Web, Master Marketing Definitions, Master Marketing Assets, FXM Master
-
Cloud services: Email Dispatch
Last but not least Experience Commerce (XC) roles.
- Storage: Shared Environments, Global
- Application: Shops, Authoring, BizFX, Identity Server, Minions, DevOps
- Indexes: Catalog Items Scope, Orders Items Scope and Customers Scope.
- No cloud services.
For detailed information please refer to the wealth of information available in Sitecore s Platform Administration and Architecture documentation at https://doc.sitecore.com/developers/90/platform-administration-and-architecture/en/index-en.html