Bringing Java to Kubernetes and serverless computing
Red Hat is looking to bring Java into more-modern computing paradigms by providing a tool tuned to Kubernetes and serverless environments.
Currently in beta, Red Hat’s open source Quarkus framework is aimed at a container-first, cloud-native world. It uses a unified reactive and imperative programming model to address distributed application architectures such as microservices and serverless. Java can be challenging to run in serverless environments, where compute services are called on demand.
Red Hat says Quarkus will provide:
start up, in the range of tens of milliseconds, and automatic scaling for
microservices on containers.
(FaaS) and on-the-spot execution.
utilisation to help optimise container density in microservices architecture
deployments that require multiple containers.
smaller application and container image footprint.
Configuration is done via a single property file. Code is streamlined for 80% common usages and provides flexibility for the other 20% of cases, Red Hat claims. Quarkus uses libraries including Eclipse MicroProfile and Vert.x, JPA/Hibernate, JAX_RS/RestEasy, and Netty. Quarkus has an extension framework for third-party framework authors to extend Quarkus.
Quarkus compiles to a native binary using Oracle’s GraalVM virtual machine, with apps able to run with significantly less RAM and start up quicker than a traditional app running on the JVM, benefitting serverless deployment.
Developing with Quarkus requires a Java IDE, JDK 8 or later, Apache Maven 3.5.3 or later, and, for native applications, GraalVM. Apps are defined in a Maven POM XML file.
IDG News Service