Auto-Clustering of Instances

Auto-Clustering of Instances via Topology Wizard

The platform provides on-demand automatic clusterization for supported managed templates. This automation simplifies and accelerates the creation of reliable, production-ready clusters without requiring users to configure every cluster component manually.

This article covers the supported software stacks, Auto-Clustering management through the topology wizard, and the use of Cloud Scripting for defining cluster configurations.

Templates with Supported Auto-Clustering

The following managed templates support automatic clusterization:

Application ServersTomcat/TomEE, GlassFish, Payara, Jenkins, and WildFly.
SQL DatabasesMySQL, MariaDB, Percona, and PostgreSQL.
NoSQL DatabasesCouchbase, Redis, and OpenSearch.
Storage ServerShared Storage Container.

Tip

A hosting service provider may configure Auto-Clustering for additional software stacks that are not included in the standard list.

Tomcat/TomEE

Auto-Clustering creates a highly available Tomcat or TomEE cluster that distributes application traffic across compute nodes to improve performance and resilience. The implementation supports session replication, context-attribute replication, and cluster-wide WAR-file deployment.

!

Supported versions

  • Tomcat: 10.0.5, 9.0.45, 8.5.64, 7.0.108 and later supported versions.
  • TomEE: 9.0.0-M3, 8.0.5 and later supported versions.
Tomcat and TomEE cluster scheme
Tomcat/TomEE Auto-Clustering topology.

GlassFish and Payara

GlassFish

GlassFish servers are interconnected with preconfigured session replication and load balancing.

Payara

Payara servers are interconnected with preconfigured session replication and load balancing to support highly available Java applications.

GlassFish and Payara cluster scheme
Application-server cluster with replicated sessions and load balancing.
GlassFish and Payara cluster scheme
Application-server cluster with replicated sessions and load balancing.

Jenkins and WildFly

Jenkins

The Jenkins solution deploys a primary Jenkins node with automatically scalable Java Engine workers. Required plugins are installed to support build automation, continuous integration, and continuous delivery workflows.

WildFly

WildFly nodes operate in Domain Mode with clustering enabled to improve availability and maintain uninterrupted performance for deployed Java EE applications.

SQL Databases

MySQL

MySQL Auto-Clustering is available for supported 5.7.x and 8.x versions. The platform automatically configures database replication and node discovery.

  • Primary-Primary with Extra Secondaries: two interconnected primary databases with additional secondary nodes added during horizontal scaling.
  • Primary-Secondary with Extra Secondaries: one primary and one secondary database, with new secondary nodes added during horizontal scaling.

MariaDB

MariaDB Auto-Clustering is available for supported 10.x versions and includes preconfigured replication and automatic node discovery.

  • Primary-Primary with Extra Secondaries
  • Primary-Secondary with Extra Secondaries
  • Galera Cluster: all servers can process updates, including concurrent update operations.

Percona

Percona database clusters include preconfigured replication and automatic node discovery.

  • Primary-Primary with Extra Secondaries
  • Primary-Secondary with Extra Secondaries
  • XtraDB Cluster: designed for high availability, reduced downtime and data-loss risk, and linear scalability.

PostgreSQL

The PostgreSQL solution creates a preconfigured database cluster with asynchronous primary-secondary replication. New nodes added to the cluster are automatically configured as secondary servers.

Database Auto-Clustering schemes
Available replication schemes depend on the selected database stack.

NoSQL Databases and Storage Servers

Couchbase

Couchbase servers are automatically interconnected and configured with auto-scaling and rebalancing to provide a single highly available data-storage system.

Redis

The Redis solution creates a distributed Redis Cluster with at least three primary servers. Each primary server has a secondary node to distribute read workloads and provide automatic recovery if a primary server becomes unavailable.

OpenSearch

The OpenSearch solution automates deployment of a distributed, multi-tenant full-text search cluster. Optional OpenSearch Dashboards and Logstash components can be added for visualization and log processing.

Shared Storage Container

The platform creates a replicated storage cluster based on Gluster technology. If one or more storage nodes fail, the AutoFS client automatically switches to available instances to preserve storage availability.

Auto-Clustering Management

1

Select a supported stack in the topology wizard. Enable the Auto-Clustering switch in the central configuration panel.

Auto-Clustering switcher in topology wizard
Enable Auto-Clustering for the selected node group.

Configuration behavior

Depending on the selected stack, Auto-Clustering may be mandatory, may include additional settings such as a replication scheme or ProxySQL load balancer, or may require a specific minimum and maximum node count or scaling mode.

2

Hover over the question-mark icon beside the Auto-Clustering option to view a short description, topology scheme, and a link to detailed documentation.

For database templates, additional information about each cluster scheme can be displayed by hovering over the relevant Scheme option.

3

Configure the remaining topology settings in the same way as for a regular environment, and then create the environment.

!

Important

After an Auto-Clustering environment has been created, Auto-Clustering cannot be disabled through the topology wizard.

4

To monitor cluster configuration tasks, open Import > JPS > View Logs in the dashboard. These logs are useful for troubleshooting and for developing packaged Cloud Scripting solutions.

Setting Up Auto-Clusterization with Cloud Scripting

The cluster property can be used in JPS solutions to define Auto-Clustering behavior.

1. Enable or Disable Auto-Clustering

“nodeGroup”: “couchbase”, “cluster”: true | false

2. Provide Additional Cluster Parameters

Additional settings can be supplied when the selected stack requires a particular cluster scheme.

“nodeGroup”: “mysql”, “cluster”: { “scheme”: “master” }

3. Use a Custom Cluster Manifest

The default JPS manifest containing the clusterization steps can be replaced with a custom manifest.

“nodeGroup”: “mysql”, “cluster”: { “jps”: “http://…/custom-manifest.jps”, “settings”: { “scheme”: “master” } }

4. Define Topology Validation

The validation property can define topology restrictions such as the minimum and maximum number of nodes or the required scaling mode.

type: install name: Validation nodes: image: alpine nodeGroup: cp count: 2 validation: minCount: 2 maxCount: 3 scalingMode: stateful

With these properties, JPS packages can enable supported Auto-Clustering solutions, define custom cluster settings, and enforce topology requirements during installation.