Introducing Quarkus: a next-generation Kubernetes native Java framework
Java was introduced to the open-source community more than 20 years ago and it still remains popular among developers. In fact, Java has never ranked lower than #2 on the TIOBE Index. Java was born in the mid-1990s and has nearly 20 years of optimizations for running highly dynamic monolithic applications that assumed sole ownership of (virtualized) host CPU and memory. However, we now live in a world dominated by the cloud, mobile, IoT, and open source, where containers, Kubernetes, microservices, reactive, Function-as-a-Service (FaaS), 12-factor, and cloud-native application development can deliver higher levels of productivity and efficiency. As an industry, we need to rethink how Java can be best utilized to address these new deployment environments and application architectures.
We’d like to introduce you to Quarkus and Supersonic Subatomic Java!
Quarkus is a Kubernetes Native Java framework tailored for GraalVM and HotSpot, crafted from best-of-breed Java libraries and standards. The goal of Quarkus is to make Java a leading platform in Kubernetes and serverless environments while offering developers a unified reactive and imperative programming model to optimally address a wider range of distributed application architectures.
Quarkus delivers significant runtime efficiencies (based on Red Hat testing), such as:
- Fast Startup (tens of milliseconds) allows automatic scaling up and down of microservices on containers and Kubernetes as well as FaaS on-the-spot execution
- Low memory utilization helps optimize container density in microservices architecture deployments requiring multiple containers
- Smaller application and container image footprint
Unifies Imperative and Reactive
Most Java developers are familiar with the imperative programming model and would like to utilize that experience when adopting a new platform. At the same time, developers are rapidly adopting a cloud native, event-driven, asynchronous, and reactive model to address business requirements to build highly concurrent and responsive applications. Quarkus is designed to seamlessly brings the two models together in the same platform, resulting in strong leverage within an organization.
A cohesive platform for optimized developer joy:
- Unified configuration with all configuration in a single property file.
- Zero config, live reload in the blink of an eye
- Streamlined code for the 80% common usages, flexible for the 20%
- No hassle native executable generation
Best of Breed Libraries and Standards
Quarkus brings a cohesive, fun-to-use full-stack framework by leveraging best of breed libraries you love and use wired on a standard backbone – these include Eclipse MicroProfile, JPA/Hibernate, JAX-RS/RESTEasy, Eclipse Vert.x, Netty, and more.
Quarkus also includes an extension framework that third-party framework authors can leverage to extend it. The Quarkus extension framework reduces the complexity for making third-party frameworks run on Quarkus and compile to a GraalVM native binary.
Quarkus provides an effective solution for running Java in this new world of serverless, microservices, containers, Kubernetes, FaaS, and the cloud because it has been designed with these in mind. Its container-first approach for cloud-native Java applications unifies imperative and reactive programming paradigms for microservices development and offers an extensible set of standards-based enterprise Java libraries and frameworks combined with extreme developer productivity that promises to revolutionize the way we develop in Java.
We’d love you to join the Quarkus open-source community. If you’re interested in helping us continue to improve Quarkus, developing third-party extensions, using Quarkus to develop applications, or if you’re just curious about it, please join us at:
- Quarkus website: http://quarkus.io
- Quarkus GitHub project: https://github.com/quarkusio/quarkus
- Quarkus Twitter: https://twitter.com/QuarkusIO
- Quarkus chat: https://quarkusio.zulipchat.com/
Get quarked! and let’s start building some hadrons