Test Environments
This topic describes an approach to set up an Elastic Path Commerce test environment.
tip
CloudOps for Kubernetes includes tooling to provision an Amazon Elastic Kubernetes Service (EKS) cluster and prepare and manage Elastic Path Commerce environments that run in the EKS cluster. To learn more about CloudOps for Kubernetes, see Infrastructure Options.
The information in this topic is for users who are not using CloudOps for Kubernetes.
Environment Components
A typical Elastic Path Commerce environment, or stack, is composed of the following:
- A relational database.
- An ActiveMQ Java Message Service (JMS) broker.
- A set of Elastic Path Commerce web applications.
note
For information on supported and tested vendors and technologies, see Supported Technologies.
Setup Overview
A high-level description of the process to create an Elastic Path Commerce environment is:
- Provision the relational database service and database.
- Provision the ActiveMQ JMS service.
- Populate the Elastic Path Commerce database by running the Elastic Path
data-pop-tool
. Thedata-pop-tool
is built from theep-commerce
source code and contains the files necessary to populate the database schema with the correct tables, indices, data. - Start the Elastic Path Commerce services. These services are Java web applications that are built from the
ep-commerce
source code. They require configuration information to connect to and access the database and JMS broker.
Containerized Deployments
Elastic Path provides tooling for building Elastic Path Commerce Docker-style containers. The container images are built after the Elastic Path Commerce deployment package is built. For more information about the containerization tools, see Containerization.
Docker Compose Examples
There are many possible approaches to provision and run the components of an Elastic Path Commerce environment. Elastic Path provides Docker Compose files as examples of configuring and running a fully-containerized Elastic Path Commerce environment stack.
You must build Elastic Path Commerce container images before you can run the Elastic Path Commerce services.
The tools for building the container images and the Docker Compose examples for running the container images are found in the Elastic Path Commerce Docker repository. For information about accessing and hosting this Git repository, see Hosting the Elastic Path Commerce Source Code.
See the Elastic Path Commerce Docker Readme for more information on running an Elastic Path Commerce stack using the Docker Compose examples.
Compute Requirements
Below are the suggested minimum resources required to run the Elastic Path Commerce services for testing. This is a guideline only and your needs may vary depending on requirements and deployment approaches. As you begin testing, you will learn if these are appropriate for your needs.
- CPU: 4 cores
- Memory: 10 GB
- Disk: 40 GB
Accessing the Web Applications
The URLs to the user-facing web applications are below:
tip
The hostname and ports may vary depending on your deployment mechanism and configuration. The ports listed are those used in the Docker Compose examples.
- Cortex API Service:
http://<hostname>:8080/cortex/
- Cortex Studio:
http://<hostname>:8080/studio/
- Commerce Manager business user tooling:
http://<hostname>:8081/cm/
- Integration Server Import/Export APIs:
- Exports:
http://<hostname>:8083/integration/api/importexport/export
- Imports:
http://<hostname>:8083/integration/api/importexport/import
- Exports:
- Active MQ console:
http://<hostname>:8161/admin
Health Check Endpoints
The below endpoints can be used as health checks for the various services:
tip
The hostname and ports may vary depending on your deployment mechanism and configuration. The ports listed are those used in the Docker Compose examples.
- Cortex:
http://<hostname>:8080/cortex/{healthcheck path}
- Commerce Manager:
http://<hostname>:8081/cm/{healthcheck path}
- Search Primary:
http://<hostname>:8082/search/{healthcheck path}
- Search Replica:
http://<hostname>:8085/search/{healthcheck path}
- Batch Server:
http://<hostname>:8084/batch/{healthcheck path}
- Integration Server:
http://<hostname>:8083/integration/{healthcheck path}
- Data Sync:
http://<hostname>:8085/datasync/{healthcheck path}
For details about what to use for the {healthcheck path}
placeholder, see Health Monitoring Usage.