Since the mid 90s, Java has been synonymous of robust Enterprise-grade applications and the de-facto preferred language to most new developers born in the era of object-oriented programming and web scale solutions. Even universities have finally left languages like C++ and Pascal aside, while other popular stacks got inspired by Java language innovations.

However, Java quickly became technologically steps behind its competitors (.NET, Python, JavaScript). It couldn't adapt quickly enough to the new reality: enterprise-grade systems which are now less into robustness and "write once, run everywhere" portability mottos. These are more into scalability, flexibility, performance and painless deployments. The world is no longer a place for heavyweight application servers, but for Cloud-first, reactive, low-latency and super-dynamic containers.

While it is possible to write Java for serverless and microservices architectures, it became evident that it was simply too slow to boot JVMs, which is better served by more lightweight languages like JavaScript, Python or Go.

Is this finally the end of the Java kingdom as we know it?

To address this conflict and bring Java back onto frontpages, our friends from RedHat have announced the release of Quarkus. They describe it as "Supersonic Subatomic Java: A Kubernetes Native Java stack tailored for GraalVM & OpenJDK HotSpot, crafted from the best of breed Java libraries and standards".

A more simplified version: 

  • OpenJDK Hotspot: a popular version of the JVM + JDK, optimised for performance
  • GraalVM: a new VM + JDK bundle based on OpenJDK Hotspot, released this year 2019, natively supporting many new languages, fast startup and low memory footprint.
  • Kubernetes: the most popular platform to automate the implementation and management of container-based applications (usually, through Docker images).
  • Best of breed libraries and standards: a full stack leveraging Eclipse MicroProfile, JPA/Hibernate, JAX-RS/RESTEasy, Eclipse Vert.x, Netty and many other popular libraries.

In simpler words, Quarkus is a Java framework stack to build applications or microservices directly intended to be deployed in containers, without all that unnecessary enterprise robustness and clunky dynamism of Java EE.

And let's be honest: everybody can get super excited about Functions-as-a-Service (FaaS) and Netflix inspirations, but outside Silicon Valley there are thousands of large organisations which are less about technology hypes only known by a bunch of developers in sandals (no offense!) and more on delivering real proven value to business and customers, from public agencies to financial institutions and banks. 

Quarkus is an opportunity for Javalanders from the Kingdom of Nouns to keep using their language of preference but in a modern context of boot-in-miliseconds container-based cloud-ready microservices

So, if you want to write Java applications in either imperative or reactive paradigms, fast boot them in less than 10 miliseconds, ensure ridiculously low RSS memory footprint, deploy them in a Kubernetes cluster provided by any major Cloud provider (Azure AKS, Google Kubernetes or AWS EKS) and still claim around that you are a loyal Java developer.... try Quarkus at https://quarkus.io/