Quarkus is a full-stack Kubernetes native Java framework designed for Java Virtual Machine (JVM) and native compilation to optimize Java specifically for containers and make it an efficient platform for serverless, cloud, and Kubernetes environments.

Quarkus works with common Java standards, frameworks, and libraries, Examples include Eclipse MicroProfile, Spring (demonstrated together as part of the Red Hat Summit Track 2020), Apache Kafka, RESTEasy (JAX-RS), Hibernate ORM (JPA), Spring, Infinispan, Camel, etc.

Quarkus’s dependency injection solution is based on CDI (Context and dependency injection) and includes an extension framework to extend functionality and configure, bootstrap, and integrate it into your application. Adding extensions is as easy as adding dependencies; Alternatively, you can use the Quarkus tool.

In addition, it provides the right information to GraalVM, a general-purpose virtual machine for running applications written in multiple languages, including Java and JavaScript, for natively compiling applications.

Surprisingly fast startup time, extremely low RSS memory (not just heap size!) Provides near-instant upscaling and high memory utilization in container choreography platforms such as Kubernetes

Designed for developers

Quarkus has been designed from the start to be easy to use, with features that require little configuration to work.

Developers can choose the Java framework they want for their applications, which can be run in JVM mode or compiled and run in native mode.

Can bring the best joy to the developer:

  • Unified configuration
  • Zero configuration, instant reloading real-time reloading
  • 80% simplified code for common usage and 20% more flexible usage
  • No-hassle native executable file generation

The container is preferred

Features such as fast startup and low memory consumption are critical to reducing overall hosting costs, whether your application is hosted on a public cloud or in an internally hosted Kubernetes cluster.

Quarkus’s development follows the container first principle, which means it has been optimized to reduce memory usage and speed up startup times in the following ways:

  • Strong support for Graal/SubstrateVM
  • Metadata processing at build time
  • Reduce the use of reflection
  • The native image is prebooted

As a result, Quarkus builds applications that consume 1/10 of the memory of traditional Java and start up faster (up to 300 times faster), all of which significantly reduces the cost of cloud resources.

Cloud native

Use the 12-factor principle in Kubernetes and other environments.

Unify the imperative and the reaction

Quarkus is designed to seamlessly combine familiar imperative code with non-blocking, responsive styles when developing applications.

This is useful for Java developers who are used to using an imperative model and don’t want to switch styles, as well as developers who use a cloud native/responsive approach.

Based on the standard

Quarkus provides a cohesive, easy-to-use, full-stack framework by leveraging a growing list of over fifty of the best libraries you like and use. All connected to the standard trunk

The Quarkus development model can be adapted to any application you are developing

Quarkus is an effective solution for running Java in new serverless architectures, microservices, containers, Kubernetes, function-as-a-Service (FaaS), and cloud environments because it was created with all of these factors in mind.