Clustering Support for JBoss EAP on Azure App Service (Public Preview)
Red Hat JBoss EAP on Azure App Service has been generally available since June 2021 and is jointly supported by Red Hat and Microsoft. Today, we are announcing the Public Preview of support for clustered deployments of JBoss EAP on App Service. This means customers can run Java EE, Jakarta EE and MicroProfile applications which use stateful session beans, distributed transactions, and similar features that require instance-to-instance communication or high availability. Previously, individual JBoss EAP instances on App Service could not communicate with one another; with this update all nodes can communicate over a virtual network. Read on to learn more!
Create a JBoss EAP cluster on App Service now and deploy a stateful application!
About JBoss EAP Clustering
In JBoss EAP, clustering is a broad term which encompasses services such as load balancing between instances, failover, sharing session state, managing transactions, and more. There are two operating modes for EAP clusters: managed domain clusters and standalone clusters. The same capabilities are available in either operating mode, they are only different in how you manage the servers.
- Managed Domain: In this operating mode, a domain controller (and one or more host controllers) is the central control plane for the cluster.
- Standalone: In this operating mode, each member of the cluster has its own configuration.
Clustering on App Service
On App Service, JBoss EAP is always deployed in standalone mode and Azure acts as the central management plane for deploying code, scaling in/out, updating configuration, etc. When you create a JBoss EAP site and join it to a virtual network, JBoss EAP will automatically be booted with a clustered configuration profile and use the virtual network for node-to-node communication. JBoss EAP on App Service uses the FILE_PING JGroups discovery protocol to discover instances. With FILE_PING, a common storage account persists the cluster information like the cluster members, their identifiers, and their IP addresses. This is the same discovery mechanism used for JBoss EAP on virtual machines, but on App Service the storage account is managed for you. Clustering can be disabled, see the documentation for more information about clustering on App Service.
"Over the years EAP has proven itself as the a great choice for enterprise Java developers who are interested in speed, performance, scalability and standards conformance. As we continue to track EAP changes through Java EE to Eclipse Jakarta EE and even Eclipse MicroProfile it is great to see Microsoft and Red Hat collaborating to bring that same innovative platform to App Service.”
- Mark Little, VP Engineering, Red Hat
Deploy a JBoss EAP Cluster on App Service
Ready to try clustering on App Service? Follow this quicktstart to deploy an ARM template with the necessary resources, deploy a stateful session application, and observe the session information being distributed across the cluster.
Talk to the Team
Want to learn more or provide feedback on this feature? Email us at jboss-on-app-service@microsoft.com. Planning to migrate Java EE/Jakarta EE applications to Azure? Fill out this intake form and we will get in touch with you: Guidance for Java EE Migration to Azure (qualtrics.com).
Resources
- Chapter 24. Configuring High Availability Red Hat JBoss Enterprise Application Platform 7.4 | Red Hat Customer Portal
- Deploy apps seamlessly with Red Hat JBoss EAP on Azure App Service—now generally available | Azure Blog and Updates | Microsoft Azure