Auto-Clustering of Instances via Topology Wizard

Jelastic PaaS provides an on-demand automatic clusterization for some of the managed templates. Such automation significantly simplifies and speeds up the creation of a reliable production-ready cluster for your project.

Below, we’ll consider the following points:

Templates with Supported Auto-Clustering

Currently, the following templates support the newly added clustering feature (with even more stacks to be added in the future):

Tip: Your particular service hosting provider can configure and implement auto-clustering for some additional stacks, which are not defined in the list.

GlassFish

Interconnection of the GlassFish servers with pre-configured session replication and load balancing.

GlassFish cluster scheme

Learn More »

Payara

Interconnection of the Payara servers with pre-configured session replication and load balancing.

Payara cluster scheme

Learn More »

Jenkins

A master Jenkins node in the master-slave mode with auto-scalable Java Engine workers and pre-installed plugins to support building and deployment automation for organizing continuous integration (CI) and continuous delivery (CD) pipelines.

Jenkins cluster scheme

Learn More »

WildFly

WildFly nodes in Domain Mode with enabled clustering to get high availability and guarantee the continuous performance of a deployed Java EE application.

WildFly cluster scheme

Learn More »

MySQL

Auto-Clustering is provided for the 5.7.x and 8.x MySQL versions only.

Automatic clusterization of the databases with pre-configured replication and auto-discovery of the nodes.

Based on your requirements, you can select Scheme of the following types:

  • Master-Master with Extra Slaves
    Pre-configured replication with two interconnected master databases. During the horizontal scaling, the cluster is extended with additional slave nodes. MySQL cluster master-master scheme

  • Master-Slave with Extra Slaves
    Pre-configured replication with one master and one slave database. During the horizontal scaling, the cluster is extended with additional slave nodes. MySQL cluster master-slave scheme

Learn More »

MariaDB

Auto-Clustering is provided for the 10.x MariaDB versions only.

Automatic clusterization of the databases with pre-configured replication and auto-discovery of the nodes.

Based on your requirements, you can select Scheme of the following types:

  • Master-Master with Extra Slaves
    Pre-configured replication with two interconnected master databases. During the horizontal scaling, the cluster is extended with additional slave nodes. MariaDB cluster master-master scheme

  • Master-Slave with Extra Slaves
    Pre-configured replication with one master and one slave database. During the horizontal scaling, the cluster is extended with additional slave nodes. MariaDB cluster master-slave scheme

  • Galera Cluster
    All servers can accept updates even if being issued concurrently. MariaDB cluster Galera scheme

Learn More »

PostgreSQL

Pre-configured PostgreSQL database cluster with asynchronous master-slave replication and automatic addition of the new nodes into the cluster (as slaves).

PostgreSQL cluster scheme

Learn More »

Couchbase

Automatically interconnected Couchbase servers with the pre-configured auto-scaling and rebalancing to provide a single highly available data storing system.

Couchbase cluster scheme

Learn More »

MongoDB

Automatic configuration of a highly-available and reliable MongoDB replica set with auto-discovery of the new nodes.

MongoDB cluster scheme

Learn More »

Shared Storage Container

Automatically configured, reliable storage cluster (replicated volume) based on the Gluster solution, which ensures data safety. In case of failure of one or several nodes, the AutoFS client automatically switches to the working instances, providing storage high-availability.

Shared Storage cluster scheme

Learn More »

Auto-Clustering Management

1. The Auto-Clustering feature can be enabled for the node group through the same-named switcher in the central part of the topology wizard (if available for the selected stack).

wizard auto-clustering switcher

Tip: Based on the specific implementation, the Auto-Clustering option can be:

  • mandatory enabled (e.g. for the Couchbase database) mandatory enabled auto-clustering

  • provided with some additional settings (e.g. cluster scheme and ProxySQL load balancer for the MySQL database) auto-clustering additional settings

  • restricted by the minimum/maximum nodes count and/or scaling mode (e.g for the MariaDB Galera type) auto-clustering validation

2. Herewith, to get additional information on the cluster to be created, you can hover over the question mark next to the switcher. Within the appropriate pop-up frame, you can find a short description, which is usually supplemented with a topology scheme and a link to the more detailed overview.

auto-clustering hint description

Tip: Additional info on the various database cluster types can be viewed by hovering over the appropriate Scheme:

database cluster schemes description

3. The other settings can be configured just as for any regular environment.

glassfish cluster at dashboard

Note: After being configured, auto-clustering cannot be disabled from the topology wizard.

4. If needed, you can track the cluster configuration logs via the platform console:

https://app.{platformDomain}/console

cloud scripting console

For example, you can use this info for debugging while developing packaged solutions with Cloud Scripting, which utilize the auto-clustering feature.

Setting Up Auto-Clusterization with Cloud Scripting

In order to define auto-clustering settings in your JPS solutions, a new cluster property can be used. For example:

1. Enable or disable auto-clustering for the specific layer.

1
2
"nodeGroup": "couchbase",
"cluster": true | false

2. Additional parameters for auto-clustering can be provided in the following way (for example, can be required to select a database cluster scheme):

1
2
3
4
"nodeGroup": "mysql",
"cluster": {
  "scheme": "maser"
}

3. If needed, the default JPS manifest with the clusterization steps can be substituted with a custom one:

1
2
3
4
5
6
7
"nodeGroup": "mysql",
"cluster": {
 "jps": "http://.../custom-manifest.jps",
 "settings": {
   "scheme": "master"
 }
}

4. Based on the particular cluster requirements, some topology restrictions may be needed (e.g. the minimum/maximum number of nodes, scaling mode, etc). It is implemented through the validation property.

Herewith, this parameter can be specified for any JPS package, e.g. check the YAML example below:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
type: install
name: Validation
nodes:
 image: alpine
 nodeGroup: cp
 count: 2
 validation:
   minCount: 2
   maxCount: 3
   scalingMode: stateful

That’s it! Now, you can easily use the auto-clustering solutions supported by Jelastic PaaS, as well as all benefit from the implementation specifics.

What’s next?