Red Hat today achieved a 1.0 milestone in its efforts to make an instance of Java available for Kubernetes via the open source Quarkus project.
Mark Little, vice president of engineering for Red Hat, says Quarkus 1.0 advances an effort to create a more efficient means for building and deploying Java applications on Kubernetes by reducing the size of the Java virtual machine (JVM). The JVM used today assumed that the JVM would include the code required to write once and deploy anywhere. However, in a container environment, portability issues are addressed by Docker containers and Kubernetes. That creates an opportunity to shrink the JVM in a way that will make Java applications running on Kubernetes run faster, notes Little.
The latest version of Quarkus adds support for a reactive programming model in the form of Vert.x, a toolkit from the Eclipse Foundation that makes it possible to build more resilient applications when working with asynchronous data streams.
Quarkus 1.0 also takes advantage of Vert.x to implement a new non-blocking security layer for Java applications in addition to improved compatibility with the application programming interface (API) framework used with the Spring framework for building Java applications.
Finally, Quarkus 1.0 adds support for Java 8, 11 and 13 when using Quarkus on the JVM, with support for Java 11 native compilation planned for the near future.
Quarkus already provides support for Java frameworks and libraries such as Eclipse MicroProfile, Apache Kafka, RESTEasy (JAX-RS), Hibernate ORM (JPA), Contexts and Dependency Injection (CDI), Infinispan and Camel. It also includes MicroProfile OpenTracing for observing traffic patterns between services and MicroProfile Metrics for exposing JVM, Quarkus runtime and custom application metrics to container monitoring platforms such as Prometheus.
Given the large number of developers that employ Java to build enterprise applications, Little says it’s imperative for cloud-native platforms to be tightly integrated with Java. The Eclipse Foundation, which oversees Java development in the form of Jakarta, has launched an effort to bring the Che integrated development environment (IDE) to Kubernetes. Red Hat is currently working on the Quarkus initiative independent of the Eclipse Foundation and it’s not clear how many other vendors at this point will lend their support to Quarkus. However, following IBM’s acquisition of Red Hat chances are good that Quarkus gain some traction among at least some subset of the Java community that is starting to innovate at a faster rate now that Java has been made available as open source code. The challenge, of course, is striking a balance between innovation and backward compatibility across all the variants of Java.
There’s obviously a lot of programming language options when it comes to building containerized applications. However, Little says most enterprise developers would prefer to employ a Java language they already know to build containerized applications. Red Hat is betting the Kubernetes platform that enables those containerized Java applications to run faster will have the most appeal among enterprise IT organizations.