Elastic Middleware & Payara Server

14 Apr 2015
elastic_fish_resized.jpgElastic Middleware describes middleware capable of expanding and contracting quickly on demand. A common example is the ability for an application server cluster to quickly expand the number of cluster nodes to meet an unpredicted surge in the level of traffic.

You can find a further explanaion of Elastic Middleware here.


As explained in the blog linked above, there are some prerequisites to architecting an elastic middleware infrastructure, and this holds true for Payara Server: you need Infrastructure as a Service (IAAS) to provision additional virtual machines, and effective monitoring and alerting available to determine when new machines need to be provisioned.

To stress again what was noted in the blog by Steve, the monitoring and alerting is there to help determine the most vulnerable areas of your application, and warn you when these are about to come a cropper; expanding the capacity of your middleware architecture after it has already failed is not particularly helpful, or the point of developing an elastic middleware architecture.

Finally, you need to design your middleware architecture to actually support and make use of the elasticity provided by the aforementioned IAAS, monitoring, and alerting. This includes configuring the monitoring and alerting to incorporate the changing middleware capacity automatically, configuring the load balancer to detect the changes in cluster size, and other points (see Steve’s original blog for a more detailed rundown).

Realising an Elastic Middleware Architecture with Payara

With Hazelcast now integrated into Payara, dynamic clusters are easier than ever to accomplish. You’ll be able to see this for yourself with the soon to be released Payara-Micro distribution. This distribution makes use of the Hazelcast functionality to dynamically, and automatically, cluster web sessions together. As you can likely imagine, this kind of behaviour helps with developing an elastic architecture, as a key feature of an elastic architecture is the ability to change capacity quickly to meet demand.Use of this new distribution is not mandatory though, if you prefer to use a non-embedded version of Payara you can create an elastic architecture with the full or web distribution.

For those of you who know of Docker and Chef, and want a Docker image and/or Chef cookbook, we have heard your calls and we’ve got these in the pipeline. Docker and Chef can be valuable tools in creating an elastic middleware architecture; combined with effective monitoring and alerting, Chef and Docker can be used together to automate the provisioning of additional machines and Payara cluster nodes.

Elastic Middleware infrastructures are a key point for many when designing their middleware environment, and we’re working on expanding the options available to those interested in using Payara. If you have any specific requests or ideas, feel free to raise an issue on the Payara GitHub page or send us a tweet at @Payara_Fish.