Quarkus Native - from scratch to production

By Mads Opheim

Elevator Pitch

Superfast Kotlin-based serverless backend - let’s do it!

Description

You want a service that runs immediately, is written in Kotlin or Java, and that can serve as a backend for your website. You want it to be serverless, as the numbers of users you have varies significantly. Last, but not least, you want a comfortable developer experience.

Sounds unrealistic? I’ve done it, and I’m happy!

My path through this scenario has been paved with Quarkus. Let’s see how you can set yourself up for success with Quarkus Native building and running in the cloud. I’ll use Google Cloud in this example, but it’ll all apply to other clouds as well.

During the talk, we’ll go from scratch to production. That means, all the way from downloading Quarkus until we are live.

We’ll focus quite a bit on the build process, and how to fine-tune the Dockerfile, as well as discuss the trade-offs you do when using native builds.

Notes

Hi!

In this talk, the plan is to do everything live on stage. However, I have a plan B if something (e.g. the network) fails.

The talk is based on my experiences from the past two years building and maintining a system that’s at maximum used by 50-100 users, some days by 0 users and some days by one or two.

Technologies used includes: + Quarkus + Quarkus Native and thus Graal VM + Kotlin (or Java, if you desire) + Dockerfile + Google Cloud Build + Kaniko (GCP build cache) + Google Cloud Run (managed KNative)