Red Hat Training

A Red Hat training course is available for Red Hat Fuse

Chapter 2. Deployment Options

The following Spring Boot deployment options are supported in Fuse:

2.1. Standalone deployment

In standalone deployment mode, a Spring Boot application is packaged as a Jar file and runs directly inside the Java Virtual Machine (JVM). That is, the Spring Boot application can be run directly using the java command with the -jar option — for example:

java -jar SpringBootApplication.jar

Where Spring Boot provides the main class for the executable Jar. This approach to packaging and running the application is consistent with the microservices philosophy, where a service is packaged with the minimum set of requirements. The container is also minimal, being just the JVM itself.

The following elements are required for building a Spring Boot standalone application in Fuse:

  • The Fuse Bill of Materials (BOM) — defines a carefully curated set of dependencies from the Red Hat Maven repository. The BOM exploits Maven’s dependency management mechanism to define the appropriate versions of Maven dependencies.

    Note

    Only dependencies defined in the Fuse BOM are supported by Red hat.

  • The Spring Boot Maven Plug-In — implements the build process for a standalone Spring Boot application in Maven. This plug-in is responsible for packaging your Spring Boot application as an executable Jar file.

2.2. OpenShift deployment

In OpenShift deployment mode, a Spring Boot application is packaged as an OpenShift application and then uploaded to an OpenShift cluster, where it runs in one or more pods. This mode of deployment has the advantage of being highly scalable, exploiting the on-premises cloud provided by the OpenShift Container Platform (OCP) product.

For more details about the OpenShift mode of deployment, see the "Fuse Integration Services" guide.

The following elements are required for building a Spring Boot application for OpenShift in Fuse:

  • The Fuse Bill of Materials (BOM) — only dependencies defined in the Fuse BOM are supported by Red hat.
  • The Spring Boot Maven plug-in — builds the Spring Boot executable Jar file, which is an intermediate step in the process of building an application for OpenShift.
  • The Fabric8 Maven plug-in — automates the entire process of building, packaging, and deploying an application to OpenShift.