Groundplex Deployment Planning
Several factors have to be considered when deploying a Groundplex (self-managed Snaplex). Most of them are IT requirements in your computing environment however some also depend on the types of pipelines you plan to run in production.
To install a Groundplex in any environment check the following requirements:
In addition to the listed requirements, ensure that the following requirements are also considered.
Groundplex name and association with nodes
Every Groundplex requires a name, for example, ground-dev or
ground-prod. This name is displayed in the Snaplex picker, which appears
in numerous dialogs throughout the UI.
Distribution of data processing across Snaplex nodes
Node cluster
Starting multiple nodes with the JCC service pointing to the same Snaplex configuration automatically forms a cluster of nodes if you follow these requirements for nodes in a Snaplex:
- The nodes need to communicate with each other on the following ports: 8081, 8084, and 8090.
- The nodes should have a reliable, low-latency network connection between them.
- The nodes should be homogeneous in that they should have the same CPU and memory configurations, as well as access to the same network endpoints.
- All JCC nodes should be the same size. All FeedMaster nodes should be the same size for load balancing. Worker and FeedMaster nodes can be of different sizes.
JCC node communication requirements
Each JCC node publishes its IP addresses to the control plane. DNS is not required for communication between nodes. We recommend setting up all the nodes inside a Snaplex in the same network and data center. Communication between JCC nodes in the same Snaplex is required for the following reasons:
- The Pipeline Execute Snap communicates directly with neighboring JCC nodes in a Snaplex to start child pipeline executions and send documents between parent and child pipelines.
- The data displayed in Data Preview is written to and read from neighboring JCC nodes in the Snaplex.
- A FeedMaster node distributes Ultra Task requests among all JCC nodes in a Snaplex.
- A Ground Triggered Task (invoked from a Groundplex) can be executed on a neighboring JCC node because of load-balancing, in which case, the Pipeline prepare request, and the bodies of the request and response, are transferred between nodes.
Any extra latency or network hops between neighboring JCC nodes can introduce performance and reliability problems.
Best practices
- For critical workloads in the production environment, we recommend using at least two data processing nodes and, for Ultra Tasks, two FeedMaster nodes. This setup helps avoid service disruptions during Snaplex upgrades.