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. This image utilizes
WebSphere Application Server V8.5.5 Liberty as its application server. 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. This image utilizes WebSphere Application Server V8.5.5 Liberty as its
application server. 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
. B2B Next.js store Docker image
This image contains the Ruby store which offers customizable features for storefronts using the Next.js framework. For more information, see Next.js starter store. By default when you deploy the container, the container is called
nextjs-app
.- 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).
This image utilizes WebSphere Application Server V8.5.5 Liberty as its application server. 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. This image utilizes WebSphere Application Server V8.5.5 Liberty as its application server. 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. This image utilizes WebSphere Application Server V8.5.5 Liberty
as its application server. 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
. Cache Manager Docker image
This image contains REST interfaces to operate and monitor the Remote HCL Cache stored in Redis. This image utilizes WebSphere Application Server V8.5.5 Liberty as its application server. By default when you deploy the container, the container is called
cache-app
.Must-Gather Docker image
This 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. This image utilizes WebSphere Application Server V8.5.5 Liberty as its application server. By default, when you deploy the container, the container is called
mustgather-app
.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.
For more information, see:
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-based storefront
- Solr-based search with a remote Aurora-based storefront
- Elasticsearch-based search with a remote Aurora-based storefront
- Elasticsearch-based search with a remote React-based storefront
- Elasticsearch-based search with a mix of Aurora-based and React-based storefronts
- 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.
- 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.
- Elasticsearch-based Search with a remote Aurora-based storefront
- 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.