Many Red Hat customers run Red Hat JBoss Enterprise Application Platform (JBoss EAP) workloads on Red Hat OpenShift. To satisfy different customers' preferences, we have a range of options for cloud providers, payment types (such as by subscription or based on consumption), and management models (such as self-managed versus provider-managed). One popular option deploys JBoss EAP workloads on Microsoft Azure Red Hat OpenShift. This article summarizes the benefits of that platform for these Java applications.
Red Hat OpenShift as a host for JBoss EAP
Benefits to running JBoss EAP on OpenShift include:
- Lower operational costs through increased application density, using Kubernetes bin packing
- Reduced resource usage, memory footprint, and attack surface with the use of WildFly Galleon layers
- Improved developer experience with developer-centric user interface and tooling
- Advanced operations, such as transaction recovery and clustering
- Autoscaling based on resource consumption
- Cloud-native development tooling incorporating MicroProfile
We've developed a lot of tooling to make it easier for developers and operations teams to build and deploy JBoss EAP applications. Although running JBoss EAP workloads on OpenShift is straightforward, it's important to make the best use of available tooling to maximize resources and enable enterprise-grade functionality such as MicroProfile and clustering.
Best practices for Microsoft Azure Red Hat OpenShift
Azure Red Hat OpenShift is a fully managed OpenShift service jointly developed, run, and supported by Red Hat and Microsoft. Microsoft recently published official guidance to demonstrate best practices for the deployment of JBoss EAP on Azure Red Hat OpenShift. This guidance takes the reader through the configuration and deployment of a clustered JBoss EAP application on Azure Red Hat OpenShift, covering such topics as:
Local development and tooling: JBoss EAP applications can be built and tested locally using modern techniques such as a bootable JAR.
Building and deploying applications with Helm charts: The JBoss EAP Helm chart is an extremely flexible tool for building and deploying JBoss EAP and JBoss EAP expansion pack (XP) applications.
Reducing image size and attack surface with Galleon layers: Galleon layer trimming allows developers to deploy an instance of JBoss EAP containing only the functionality required by the application being served.
Creating a bootable JAR deployment locally and on OpenShift: A bootable JAR contains both the JBoss EAP server and your packaged application, combined with Galleon layer trimming, resulting in a reduced application footprint.
Correct use of the WildFly Maven plugin: The WildFly Maven plugin provides advanced functionality, such as bootable JAR creation and Galleon layer configuration.
Configuring JGroups for clustering on Kubernetes: JBoss EAP applications running on Kubernetes make use of the KUBE_PING protocol for JGroups discovery.
Using OpenShift secrets to secure credentials: Secrets are used to manage sensitive data, especially connection credentials. Helm charts can be configured to inject secrets into deployments.
Application modernization with MicroProfile liveness and readiness probes: JBoss EAP XP provides support for MicroProfile, allowing developers to introduce modernization techniques with minimal code changes.
The guidance covers the complete build and deployment of a typical JBoss EAP application on Azure Red Hat OpenShift, including connectivity to a Microsoft SQL Server database. This information is an ideal starting point for production-grade JBoss EAP deployments, and is also flexible enough to allow for incorporation with pipeline tooling.
Many options for JBoss EAP
Azure Red Hat OpenShift is not the only option available to run JBoss EAP on Azure. Red Hat and Microsoft have partnered to enable JBoss EAP on Azure App Service (with consumption-based pricing) as well as JBoss EAP on Azure Virtual Machines/Virtual Machine Scale Sets. Additional offerings are expected later this year.
As previously mentioned, we're seeing strong demand for cloud-based JBoss EAP options from our customers, and with investment from our partners like Microsoft, we're continuing to develop cost-effective, flexible solutions for the market.