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.

Your nodes are associated with a Groundplex through the Environment variable. When you configure the nodes for your Groundplex, you must set the environment value in the Snaplex dialog. After the Snaplex service is started on a node, the service connects to the SnapLogic Cloud service. The Monitor app displays the currently connected nodes for a Groundplex.
Important: The host name of the system used by a Groundplex cannot have an underscore (_) in its name as per DNS standards. Avoid special characters as well.

Distribution of data processing across Snaplex nodes

When a pipeline or task is executed, the work is assigned to one of the JCC nodes in the Snaplex. The scheduling of pipelines across nodes in a Snaplex is based on an algorithm that is least-loaded, with priority on memory usage. If there are similarly loaded nodes, the algorithm randomizes the pipeline execution across them.
Tip: To ensure that requests are being shared across JCC nodes, we recommend that you set up a Load balancer to distribute the work across JCC nodes in the Snaplex.

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

Important: We do not recommend sharing a node between two SnapLogic Environments. Multiple installations of the SnapLogic Platform on a machine might compromise stability.
  • 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.