Red Hat Launches Quarkus For Kubernetes-Native Apps
Written by Kay Ewbank   
Monday, 25 March 2019

Red Hat has released Quarkus, a Kubernetes Native Java framework tailored for GraalVM and OpenJDK HotSpot. The idea is to make it easier to create Java apps for serverless environments and the Kubernetes open-source container orchestration system.

GraalVM is a virtual machine for running applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Kotlin, and LLVM-based languages such as C and C++. HotSpot is OpenJDK's cross-platform implementation of the Java Virtual Machine.

quarkus

 
The developers of Quarkus modestly describe it as Supersonic Subatomic Java. Red Hat says Quarkus is "crafted from best-of-breed Java libraries and standards”. In practical terms, Quarkus is a Java stack that combines libraries including Hibernate ORM, Vert.x, Netty, RESTEasy and Apache Camel as well as the APIs from the Eclipse MicroProfile initiative. It is designed for significantly reduced memory consumption and improved startup time.
 
As Emmanuel Bernard, Data platform architect for the JBoss portfolio at Red Hat, put it:, Quarkus:
 
"brings an infrastructure for frameworks to embrace build time metadata discovery (like annotations), declare which classes need reflection at runtime, boot at build time, and generally offer a lot GraalVM optimization for free (or cheap at least)...Quarkus makes GraalVM usable for framework developers."
 
According to Red Hat's tests, the startup time is in the tens of milliseconds range, so allowing automatic scaling up and down of microservices on containers and Kubernetes as well as FaaS on-the-spot execution. While Red Hat's figures might be taken with a pinch of salt (they would say that, wouldn't they), a blog post by Debezium on using Quarkus to access Debezium data shows impressive startup times compared to the equivalent tests using Thorntail services. The Quarkus service start time was 260 milliseconds compared to 5746 ms for the Thorntail equivalent.

 

While the startup time might seem a minor part of running a Java app, Bernard Emmanuel points out that the way microservices on deployment platforms like Kubernetes work means that you can be deploying many instances of your app combined with microservices:

"The idea of Java taking 100 MB, 200 MB or even more of fix cost before your app does anything useful is prohibitive when you deploy 20x or even 200x Java processes."

 
"The good news is that when you can start the full application in less than a second from cold boot, and even faster from warm boot, there are lots of interesting opportunities opening in front of you."

You can try Quarkus online to see whether it's all hype or whether this really is the next big thing.

quarkus

 

More Information

Quarkus Website

Quarkus On GitHub

Related Articles

Oracle Says Drop Nashorn From JDKs

Is Java Still Free?

JDK 12 Feature Set Frozen

JVM Ecosystem Report Reveals the State of Java

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Linkerd Adds Egress And Rate Limiting
05/12/2024

Linkerd has announced a new version of its service mesh. It adds three major new features: egress traffic visibility and control; per-service rate limiting; and federated services.



The PostgreSQL Extension Repo By Pigsty
09/12/2024

A repository containing any PostgreSQL extension you can imagine for Linux distributions is something that might be valuable if you are trying to save some time.


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Monday, 25 March 2019 )