Log in / Register Account
Jump to section

Why develop Java apps with Quarkus on Red Hat OpenShift?

Copy URL

Java™ remains one of the most popular programming languages among developers, but it has drawbacks when considering containers and Kubernetes. Quarkus gives the 7+ million Java developers the opportunity to continue building new applications with the frameworks they know.

Quarkus applications are intended to run in containers, and Red Hat OpenShift has Quarkus natively integrated to make deployment even easier. Quarkus on Red Hat OpenShift affords developers familiar tooling, remote development on clusters using IDEs like Red Hat CodeReady Workspaces, and integration with managed configuration, deployment of serverless workloads, and managing application storage.

Quarkus also provides integration with the Kubernetes API, including a generic API client and dynamic application configuration using Kubernetes ConfigMaps. Red Hat subscription and support for Quarkus is included when you purchase Red Hat OpenShift.

Quarkus is designed with the developer in mind. Developer productivity means organizations can respond more quickly to rapid market conditions with fast development and deployment of new applications. Quarkus helps improve developer productivity with features like live coding for fast innerloop development, integration to IDEs like Red Hat CodeReady Workspaces, and APIs that go beyond traditional Java standards. With Quarkus, developers can use a mix of standards like MicroProfile, Spring Framework APIs, and other existing popular frameworks, while benefiting from Quarkus’ efficiencies on Kubernetes.

Bringing your current Spring Boot apps to Quarkus and Red Hat OpenShift is not only possible, but easier than you may think. The Migration Toolkit for Applications (MTA) can review your portfolio of Java applications by analyzing the source code or even binaries covering a wide set of transformation paths (Java EE, JDKs, Linux, containerization, Quarkus, and more) and speed up the migration process.

Extensive support for Spring Boot to Quarkus is available in the MTA release 5.1.

Quarkus is a framework for building Kubernetes-native Java applications that run on traditional Java Virtual Machines (JVMs) or as natively-compiled executables. Quarkus minimizes startup time and memory use, and integrates with existing Java frameworks and developer tooling for quick development and deployment of applications. Quarkus can help you run Java applications that deal in serverless, microservices, containers, Kubernetes, or other application types in the hybrid cloud.

QUARKUS CONCEPTS

Quarkus is built to produce compact and efficient applications for traditional Java Virtual Machine (JVM) runtimes like OpenJDK, and can produce native executable binaries for even greater optimization. The key though, is doing as much pre-work as possible during the build phase, which happens only once in the lifetime of an application. During the build phase, Quarkus first compiles the application into traditional Java bytecode, loads and parses configuration, processes annotations, builds framework metamodels, and wires it all together into a traditional executable Java app (a JAR file). At runtime—when the app starts up—none of the memory, CPU, or time are needed to do these steps, which significantly reduces startup time.

NATIVE COMPILATION

Quarkus apps can be compiled down to a native executable, for even greater efficiency. Using Mandrel (a downstream distribution of GraalVM), the application is analyzed to find "dead code" (code paths which will never be visited at runtime), and eliminate this from the application executable. This results in tiny and lightweight runnable applications that startup in tens of milliseconds, and require tens of megabytes of memory at runtime.

Quarkus

Next steps

Learn

Test drive Quarkus in your browser

Try out Quarkus on Red Hat OpenShift directly in your browser.

Download

Develop new Quarkus applications with the Red Hat build of Quarkus

Generate a new project in your preferred development environment and learn more about developing with Quarkus.

Report

IDC Quarkus Lab Validation Report

Discover how Quarkus compares to traditional Java for both developers and operators in terms of efficiency and developer productivity.

The Kubernetes foundation for modern app dev

Red Hat OpenShift

A container platform for faster deployment of cloud-native applications.

A managed cloud service for building, deploying, and scaling apps.

Red Hat Runtimes

A selection of runtimes and frameworks for developing cloud-native apps.

OpenShift Data Foundation logo

Software-defined storage for containers.