How to use Quarkus

Following our release of GraalVM support, I can show you how to use Quarkus on Clever Cloud. Quarkus is a Java framework conceived with GraalVM and cloud/container support in mind. If you want to be a first class citizen in the GraalVM ecosystem, you are expected to produce native binaries. And in a nutshell, it means you will experience issues in Reflection usage because you use AOT compiling instead of JIT.

But thanks to the amazing work of the Quarkus team, this won’t be an issue. They tried to avoid reflection as mush as possible, sometimes contributing code to projects upstream, and made it very easy to use it with AOT compiling when it’s absolutely necessary.

You’ll find more details about the importance of Quarkus on Emmanuel Bernard’s blog post Why Quarkus. Now let’s find a sample to deploy and see how it works. We took the hello world available here: https://github.com/CleverCloud/quarkus-demo

It’s a maven project so to create this on Clever Cloud you use our CLI and run clever create --type maven quarkus-example. Now we need to setup the right environment variables to configure our project:

clever env set CC_JAVA_VERSION graalvm-ce # Select GraalVM as Java version
clever env set CC_MAVEN_PROFILES native # define wich maven profile to use in the default build. Here native mwans it will generate a GraalVM native image.
clever env set CC_RUN_COMMAND target/quarkus-quickstart-1.0-runner # The path to the native image we will run.

We are building a native image and this reauires a decent amount of memory. This means we’ll have to use a dedicated build instance. Open the web console and select the application (or type clever console do to this automatically), click on the Information tab and tick the Enable dedicated build instance box.

Again if you are using our CLI you can type clever deploy and that is it. You now have a Quarkus native image running on Clever Cloud. If this brings you joy please take some time to thank all the Quarkus team for their awesome work! We have been using JEE from the very beginning for many internal things and are super grateful <3.

Blog

À lire également

Clever Tools: a year of enhancements for your deployments, on the road to v4

A command line interface (CLI) is at the core of developer experience. At Clever Cloud, we have been providing Clever Tools for almost 10 years.
Engineering Features

Otoroshi with LLM: simplify your API and AI service management on Clever Cloud

Your applications and services are evolving in an increasingly complex environment, requiring effective management of APIs and interactions with artificial intelligence models such as the very popular LLMs (Large Language Models).
Features

Markitdown-as-a-Service: from AI to production on Clever Cloud

Every day, new tools are released, AI brings new perspectives, you have new ideas. It's one of Clever Cloud's missions to help you to develop and test them in real-life conditions, effortlessly, before making them available to everyone.
Engineering