First experiences with Quarkus

Deepak Choudhary
3 min readJan 16, 2020

What is Quarkus ?

Quarkus claims to provide you with a “Supersonic, subatomic Java” experience. Quarkus helps you, as a Java developer to wander about in the realm of Serverless. Quarkus tailors your application for GraalVM and attends to common existing problems with Java applications such as high start times, greater memory consumptions etc.

What is GraalVM ?

GraalVM is a universal virtual machine for running applications written in various different languages, as well as providing the ability to compile JVM bytecode to a native executable (this native executable runs a special virtual machine called SubstrateVM). These native executable’s start much faster and can use a lot less memory that a traditional JVM, however not every JVM feature is supported, and some are more limited than normal.

For example by default reflection in GraalVM will not work, unless a class/member has been explicitly registered for reflection. This is normally achieved by listing every class, method, field and constructor in a JSON file, and passing this as a parameter into the native image build. This obviously gets quite cumbersome for all but the most trivial projects. Quarkus provides a framework that makes it easy to work around these annotations, and programmatically determine what should be registered.

What is Serverless?

Serverless, in contradiction to its name is not exactly the lack of servers altogether

In fact, I do have my own reservations with the term “serverless” which I do not think does justice to explaining what the technology provides. I would much rather prefer Functions as a Service(FaaS) which better explains what is in store for a user.

FaaS implementations by leading cloud providers such as Amazon, Google, Microsoft,etc are by design cheaper than their monolith/container applications because these functions are only run when required and are charged only for the resources used during runtime which saves a lot of those idle status costs that you would incur if you used the other approaches to application architecture.

Got metrics?

The Quarkus team on it’s website posts the following :

Comparisons between Quarkus and Traditional Java applications

Okay, how do I start?

The Quarkus team has done a great job with documentation and plenty of guides for different use cases and scenarios. If you’re familiar with Spring and the Spring Initializr then going about the quarkus guides should be as easy as a walk in the part for you.

You can go to https://code.quarkus.io/ to create your project with dependencies of your choice and download the project zip.

Any plugins I can use for IDE integration?

As a matter of fact, yes. Quarkus provides plugins for IntelliJ, Eclipse etc.

Why should I care for Quarkus?

There is no doubt that the “serverless” architecture is catching speed as it provides cheaper billing and ease of development. You, as a developer will have to have minimal to no-care about DevOps. You focus exactly on the business logic and leave the rest upto the cloud provider. All whilst saving costs of running instances that you were incurring when you were working on that monolith or those microservices.

The Quarkus team is working quite hard to get all those guides out there for people to pick this up easily. Not just that, Quarkus is built on industry standards which make it preferable for companies to pick up too and is going to be providing quick migration logic for you to bring your Spring apps to Quarkus.

Almost forgot to mention the house which brings Quarkus to you.

Stay tuned for more tutorials coming your way as I explore more about this new and interesting framework in the coming days….

References :

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Deepak Choudhary
Deepak Choudhary

Written by Deepak Choudhary

Technology evangelist engineering solutions on weekdays and exploring life on the weekends. The joy of life lies in the gray zone.

No responses yet

Write a response