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. 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.
More InformationRelated ArticlesOracle Says Drop Nashorn From JDKs 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.
Comments
or email your comment to: comments@i-programmer.info |
|||
Last Updated ( Monday, 25 March 2019 ) |