HCL Commerce production environment overview

HCL Commerce is separated into different applications that run within Docker containers. HCL provides the following Docker images that you can deploy to run your HCL Commerce application.
Transaction server Docker image
This image contains the Transaction server running on the WebSphere Application Server. The Transaction server contains the transactional business logic and APIs that serve the other servers of an HCL Commerce application. By default, when you deploy the container, the container is called ts-app.
Note: If you migrate your store from IBM Websphere Commerce Version 7 or IBM Websphere Commerce Version 8, your store is running in the Transaction server Docker, not the Store server Docker.
Transaction Web Server Docker image
This image contains Transaction Web Server, which is used as the web server to access the HCL Commerce tooling such as the Management Center and the Administration Console. By default when you deploy the container, the container is called ts-web.
Search server Docker image
This image contains the Search server to run the Solr search index. By default when you deploy the container, the container is called search-app.
The Search server Docker image can be set as different search node types:
search-master
Handles indexing from the staging or authoring node, and provides read/write capabilities. Multiple-node configurations are not supported for the search-master; there can be only one. To set the Docker image as the search-master, specify the following Docker parameters:
SOLR_MASTER=true
SOLR_SLAVE=false
search-repeater
Triggers by index replication and synchronizes the index from the search-master. Search-repeater does not provide write capabilities. To set the Docker image as a search-repeater, specify the following Docker parameters:
SOLR_MASTER=true
SOLR_SLAVE=true
search-subordinate
Synchronizes index from the search-repeater. To set the Docker image as the search-subordinate, specify the following Docker parameters:
SOLR_MASTER=false
SOLR_SLAVE=true
Store server Docker image
This image contains the Store server to serve store assets including JSP files, e-Marketing Spots, and images. By default when you deploy the container, the container is called crs-app.
Note: If you migrate your store from IBM Websphere Commerce Version 7 or IBM Websphere Commerce Version 8, your store is running in the Transaction server Docker, not the Store server Docker.
Tooling Web Docker image
This image contains an IBM HTTP Server which hosts and serves the Angular-based tooling single page application (SPA) and front-end assets that are displayed within Management Center for HCL Commerce. By default when you deploy the container, the container is called tooling-web.
Store Web Docker image
This image contains an IBM HTTP Server which hosts and serves the sample React-based headless stores (Emerald for B2C and Sapphire for B2B). By default when you deploy the container, the container is called store-web.
Elasticsearch Query server Docker image
This image contains the Query service application that provides the APIs for Product, Category, as well as configuration endpoints for Search Profiles, Matchmakers, and NLP NER (Name Entity Recognition). By default when you deploy the container, the container is called search-query-app.
Elasticsearch Ingest server Docker image
This image contains the Ingest service application that provides the APIs for accessing and managing Connectors deployed on the Apache NiFi application cluster. By default when you deploy the container, the container is called ingest-app.
Elasticsearch NiFi server Docker image
This image contains the third party application, Apache NiFi. Apache NiFi is designed to automate the flow of data between systems. HCL Commerce Search uses Apache NiFi as the data ingestion pipeline for all Stores and Product Catalog business data. By default when you deploy the container, the container is called nifi-app.
Elasticsearch NiFi registry server Docker image
This image contains third party application, Apache NiFi Registry. It is a complementary application that provides a central location for versioning components assembling the NiFi pipeline. NiFi Registry acts as an internal intermediary flow repository between NiFi and the permanent source control repository and is used for coordinating flow updates in NiFi. By default when you deploy the container, the container is called registry-app.
Customization server Docker image
This image contains the Customization server, which runs custom code that you can create to extend HCL provided xC extension points. By default when you deploy the container, the container is called xc-app.
Utility server Docker image
This image contains a utility project that holds scripts to service HCL Commerce operations such as loading access control policies, loading store data, and cleaning database of obsolete objects. By default when you deploy the container, the container is called ts-utils.
Support Container Docker image
This image contains deployment and operation python scripts for use in the deployment of HCL Commerce within a Kubernetes cluster. The Support Container is primarily used for service dependency checks, to ensure that the various Commerce applications are brought online properly, and in the expected order. In addition, it is also used by some utility jobs, such as for TLS certificate generation for secure ingress. By default when you deploy the container, the container is called commerce/supportcontainer.
HCL Commerce Version 9.1.4.0 or laterCache Manager Docker image
HCL Commerce Version 9.1.4.0 or laterThis image contains REST interfaces to operate and monitor the Remote HCL Cache stored in Redis. By default when you deploy the container, the container is called cache-app.
HCL Commerce Version 9.1.7.0 or laterMust-Gather Docker image
HCL Commerce Version 9.1.7.0 or laterThis image contains the Must-Gather application that aids in the collection and aggregation of HCL Commerce troubleshooting information. The application can only be used within a Kubernetes deployment.

For more information, see The Must-Gather application

In addition to the Docker images, you will need to use an IBM Db2, or Oracle database. For development and test environments you can use the preconfigured Db2 Docker container.

You can build on top of the HCL provided Docker images to include custom code, custom configurations, and additional third party certificates. With the HCL Commerce application running on containers, you can deploy new containers separately as needed.

HCL Commerce deployment scenarios

The following deployment scenario architecture diagrams are based on the search and store solutions that are used:
Solr-based search with a migrated (local) Aurora storefront
The legacy 9.0 Solr-based search environment uses a dedicated Search Master that runs in its own Docker container or containers. It has repeaters and subordinates to balance the load. You can deploy in this configuration in Version 9.1.

For more information about how to deploy Solr, see Deploying Apache Solr using DB2 in a runtime environment and Deploying Apache Solr with an Oracle database.

Solr-based search with a remote Aurora-based storefront
The legacy 9.0 Solr-based search environment uses a dedicated Search Master that runs in its own Docker container or containers. It has repeaters and subordinates to balance the load. You can deploy in this configuration in Version 9.1.

For more information about how to deploy Solr, see Deploying Apache Solr using DB2 in a runtime environment and Deploying Apache Solr with an Oracle database.

Elasticsearch-based Search with a remote Aurora-based storefront
The following deployment scenarios are described in more detail in Deploying Elasticsearch Docker containers.
If you want to use the Aurora storefront, you can do so with HCL Commerce Search Version 9.1. The network topology is as follows:

Elasticsearch-based Search with a remote React-based storefront
By default, HCL Commerce Search uses the React storefronts. For an introduction to these stores and their features, see Reference React stores.
Elasticsearch-based Search with mixed store types
You can also combine Aurora-based and React-based storefronts, using the following topology:

HCL Commerce in production

Ensure that you have a strategy for managing and maintaining the container lifecycle of your production environment. For more information, see Planning your production environment infrastructure.