Production deployments
This topic describes a typical Sitecore Commerce production deployment, deployed either on premise or hosted on virtual machines as part of an Infrastructure as a Service (IaaS) deployment.
The following diagram presents a logical view of the distributed deployment reference architecture. It identifies the main services and some of the main connections between them.
Figure: Logical production deployment - reference architecture
The following diagram presents a physical resources view of the distributed deployment architecture for a typical large scale production environment. This presents a starting point from which you can scale down or up as needed to meet traffic demands.
Figure: On premise or IaaS production deployment – physical resources
Solution components
The Sitecore Commerce deployment builds on Sitecore Experience Platform (Sitecore XP) deployments.
-
Sitecore XP
Sitecore XP is deployed across separate Authoring and Delivery networks that are separated by firewall(s).
-
Sitecore XP’s Content Management System (CMS) is used to author and serve web content to customers. Content is authored, edited, and reviewed in the Authoring network, then published to the Delivery network.
-
Sitecore XP’s Experience Database solution provides the real-time collection and processing of customer interactions, and makes the data available internally to marketers for managing the customer experience.
-
-
Commerce Server (legacy)
The Commerce 8.2.1 release requires the legacy Commerce Server product for its Catalog, Inventory, and Profiles services. Similar to Sitecore XP, Commerce Server is deployed in both the Authoring and Delivery networks; data is created and reviewed internally before being moved to the Delivery network via the Commerce Server Staging service.
-
Commerce Services (CS)
Commerce Services pertain to the new Commerce 8.2.1 platform, including the engine and its plugins. The Commerce Services roles are instances of the same Commerce engine, each performing different services. The Shops role performs real-time processing of requests from shoppers, the Authoring role serves internal business users, and the Minions role performs background processing.
System resources
This section identifies the services, software and recommended hardware for each server/VM in the production deployment reference architecture. The recommended hardware provides an approximate guide for the relative sizing of each server/VM. The actual hardware power and memory required depend on your specific business requirements.
Resource |
Software |
Hardware |
---|---|---|
Content Management (CM) The internal-facing web server(s) that hosts the Sitecore client applications used by marketers for authoring, editing, and previewing content before publishing to the Content Delivery server(s). Hosts the Commerce business tools for business users and customer service representatives, giving them access to both external shopper data, and other internal-only information. Commerce Server is deployed on the CM, for the editing of Catalog and Profile data internally before publishing them to Content Delivery via Commerce Server Staging. The Connect components are also deployed on the CM, collocated to provide Commerce integration with internal Sitecore CMS services. |
Sitecore XP - CMS Commerce Server Connect Commerce Server Connect Commerce Engine Connect Merchandising Manager Customer and Order Manager Pricing and Promotion Manager Business Tools Shared |
8 cores 14 GB RAM |
Content Delivery (CD) The external-facing Sitecore web server(s), serving content to web site visitors and shoppers. Commerce Server software must be deployed on the CD, although Commerce Server is not running. The Connect components are deployed on the CD, collocated to provide Commerce integration with externally facing Sitecore CMS services. |
Sitecore XP - CMS Commerce Engine Commerce Server Connect Commerce Server Connect Commerce Engine Connect Reference Storefront Reference Storefront Common |
8 cores 14 GB RAM |
Commerce Services (CS) Includes three resources: the Shops role for processing external shopper requests, Authoring role for internal users, and Minions role for background processing. Roles may include:
|
Commerce Engine - Shops, Authoring, Minions roles Commerce Server Web Services - Catalog, Profile |
4 cores 7 GB RAM |
Content databases – Authoring network Master and Core SQL databases:
|
Sitecore XP - Sitecore database installers |
8 cores 14 GB RAM Sixteen 25 GB virtual hard disks |
Content databases – Delivery network Web databases store the latest version of published Sitecore content; it serves up data to the CD. |
Sitecore XP - Sitecore database installers |
8 cores 14 GB RAM Sixteen 25 GB virtual hard disks |
Commerce Server Databases Includes two resources, one in the Authoring network and one in the Delivery network storing published data serving the CD. |
Commerce Server – Administration, Profile, Catalog, Inventory |
4 cores 7 GB RAM |
Commerce Services Databases Databases on a single server serving several Commerce Services roles. |
Commerce Services - Pricing, Promotions, Cart, Orders |
4 cores 7 GB RAM |
Collection Databases A MongoDB database that stores visitor/shopper contact and interaction data, for example: contacts, devices, locations, actions, engagement automation states. MongoDB (no-SQL) is deployed for its quick read and write access, which is needed to support Sitecore’s real-time personalization operations. |
MongoDb Sitecore XP - xDB |
4 cores 7 GB RAM |
Sitecore Processing Processes the real-time customer interaction data from Collection Databases; aggregates and stores them into the SQL-based Analytics Databases for internal reporting. |
Sitecore XP - xDB |
4 cores 7 GB RAM |
Analytics Databases Stores analytics data from the Sitecore Processing server. |
Sitecore XP - xDB |
8 cores 14 GB RAM |
Reporting Service Fetches aggregated engagement data from Analytics Databases, and also reporting data from Content Databases or other custom data sources; serves up the data to internal users via the CM. |
Sitecore XP - xDB |
4 cores 7 GB RAM |
Search Indexing Performs data indexing and search functions for both internal and external users. |
Solr Sitecore XPO - xDB |
4 cores 7 GB RAM |
Scaling system resources
The on premise/IaaS hardware sizing described above defines the minimum recommended specifications in a full scale production deployment that comprises all major offered services (i.e., content management, commerce, and personalization). These specifications also provide a general guideline for the relative sizing across each resource. For example, those resources with 8 cores versus those at one half the processing power.
Actual hardware sizing depends on the services deployed, and in which relative proportions.
Smaller scale deployments
In smaller scale production deployments, you can scale physical resources down vertically, for example by reducing hardware processing power. And, you can combine services as follows:
-
on the CM: Sitecore Processing, Commerce Services Processing, and Reporting
-
on the CD: Search Indexing
At a minimum, it is recommended that the CM, CD, and CS each be deployed on separate hardware in a production environment.
Larger scale deployments
Scaling up production deployments starts with vertically scaling hardware power where needed, for example increasing a server/VM from 4 to 8 cores or adding memory.
The reference architecture identifies the CD and CS web servers whose hardware is typically scaled horizontally as needed to add processing power. The simplest deployment starts with one server of each. Where required, add a second or more of these servers connected behind a load balancing function.
-
Add Commerce Services server/VM instances to meet the demands of serving shoppers (e.g., browse home, browse category, browse product, check-out).
-
Add a second CD server/VM if required to meet the demands of visitors accessing Sitecore content, or processing specifically Commerce Server catalog and profile data.
The reference architecture equates to a minimum Sitecore XP production deployment of size xP3. Sitecore XP is deployed across a minimum of three installations: Content Management, Content Delivery, and Sitecore Processing.