GlassFish is an open-source application server that can run any Java EE application, providing enterprise level reliability and performance with full clustering and has wide functionality range.
Up until now, GlassFish could be used as a separate server within Jelastic, but now you have the option for high-availability for GlassFish, allowing for full instance and cluster replication.
We kept the native GlassFish clustering architecture, based on the concept of an administrative domain. Administrative domains consist of clusters and instances, which are controlled by DAS (Domain Administration Server).
You can manage the central repository using the Admin Console. It is an easy to use GUI which supports all features available in GlassFish. DAS manages Java instances in the domain. GMS (Group Management Service) is responsible for providing the information about a cluster and its instances.
What about session replication in GlassFish?
Instances in clusters are paired up. If one of the instances fails, the users who were on that instance get automatically switched to the other instance in the cluster. The replicated instance has all of the sessions that were in the failed instance: end-users never notice any change. If for some reason both instances in a cluster fail, users get redirected to another cluster. Jelastic uses NGINX as a load balancer, which can redirect users' requests when instances fail.
And we didn't forget about scaling. We provide automatic horizontal and vertical scaling capabilities for when loads increase or decrease; so the number and size of clusters can change. Jelastic is the first PaaS which provides such a complete scaling system.