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. Documentation describing Sitecore XP deployments is available on doc.sitecore.net. You can search the site using key terms such as "architecture", "scaling", and "publishing".
  • 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 Services: Pricing, Promotion, Carts, Orders
  • Commerce Server: Catalog, Profile

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:

  • The Master databases store unpublished Sitecore content managed via the CM.
  • The Core databases store configuration information about the Sitecore user interfaces and user accounts; as such it serves both the CM and CD.
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.
Note: 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.