Red Hat has made available Quarkus, a Java framework that runs natively on Kubernetes, available alongside other runtimes it includes as part of a Red Hat Runtimes subscription.
Rich Sharples, senior director of cloud services at Red Hat, says Quarkus provides an instance of a Java framework optimized to run in Kubernetes that removes code from the Java virtual machine (JVM), originally intended to make JVMs run anywhere. That capability is now provided by Kubernetes, he notes.
Quarkus also enables Java applications to scale up and down more efficiently as more Kubernetes cluster resources are made available and then reallocated, he adds.
In addition, Quarkus provides access to a library of more than 200 extensions, including tools such as RESTEasy, Hibernate and Eclipse MicroProfile, along with specific extensions fo Red Hat cloud services such as Red Hat AMQ Streams, Red Hat AMQ Broker and Red Hat Fuse.
While Java is still widely employed, Sharples notes JVMs were created long before Kubernetes ever existed. By making Quarkus available as part of a Red Hat Runtimes subscription, more developers will be exposed to it alongside other runtimes as an option for deploying Java applications on Kubernetes platforms such as OpenShift, he says.
Quarkus also optimizes memory density and provides faster boot times than a legacy instance of a JVM, Sharples adds. Other benefits include features such as live coding and unified configuration that enables code changes to be automatically and immediately reflected in a running application.
Quarkus also provides access to a Reactive programming model that makes it easier to construct complex distributed applications involving asynchronous data streams.
Despite the proliferation of programming language options now available, it’s unlikely enterprise IT organizations will be giving up on their investments in Java application development expertise anytime soon. In fact, for Kubernetes to achieve mainstream adoption in the enterprise, it will need to be able to run both new and existing Java applications as well as, if not better than, legacy platforms.
The need to deploy more Java applications on Kubernetes is likely to become more pressing in the wake of the economic downturn brought on by the COVID-19 pandemic. As organizations look to deploy more applications in the cloud to increase flexibility and resiliency, interest in deploying microservices-based applications written in Java on Kubernetes clusters will only increase. The challenge is finding a way to optimize those Java applications for a cloud-native computing environment.
At the same time, many existing monolithic applications will also be lifted into the cloud. Once that shift is made, many of those applications are likely to be transformed into a collection of microservices that can be updated more flexibly over time.
In the meantime, Red Hat is betting many organizations will want to retain as much control over those applications as possible by taking advantage of Kubernetes to write them once and deploy them anywhere. That may not be a new concept for fans of Java; however, it is one that in most cases is about to become reality.