Kubernetes Native
with Quarkus
Alex Soto
Red Hat Engineer
@alexsotob
@alexsotob
2
Buenas tardes, buenas noches,
señoritas y señores
To be here with you tonight. 
Brings me joy, que alegria
— Miguel
“
@alexsotob3
2000
RED HAT
LINUX
2007
KVM
2009
DEVOPS
@alexsotob
@alexsotob
@alexsotob
@alexsotob
@alexsotob
@alexsotob
@alexsotob10
MyApp
Monolith
@alexsotob11
Modules
@alexsotob12
Components
@alexsotob13
Microservices
@alexsotob14
Microservices
@alexsotob15
Microservices
@alexsotob16
Network of Services
@alexsotob17
Microservices Own Their Data
@alexsotob18
Multiple Points of Entry
@alexsotob19
Failure of a Service
@alexsotob20
Cascading Failure
@alexsotob21
Microservices’ilities + OpenShift
MyService
Monitoring
Tracing
API
Discovery
Invocation
Resilience
Pipeline
Authentication
Logging Elasticity
@alexsotob22
On Scale of 1 to 10
How would you rate
your pain?
— Baymax
“
@alexsotob23
Alright,
we did not die today!
I’d call that
an unqualified success.
— Fear
“
@alexsotob
— nutrecht July
2018
@alexsotob
2019
@alexsotob
But wow!
Am I so ready
for this change.
— Anna
“
@alexsotob
Meet Quarkus
Supersonic
java
@alexsotob28
What's this?
The streets are lined with
Little creatures laughing.
— Jack Skellington
“
@alexsotob
So who is this Quarkus—
and what’s all the fuss?
Up to 10x smaller, 100x
faster
@alexsotob
Enough love to go around.
develop
er
@alexsotob
Imperative and
reactive
Serverless
Live reload
Microservices
Fat jars
and native
executables
Optimized for
JAX-RS & JPA
(Hibernate) …
@alexsotob
Kubernetes Native
@alexsotob
My Friend? No.
He’s my accessory.
— Boo Peep
“
@alexsotob
@alexsotob
@alexsotob
@alexsotob
@

@
</>
Build time 

(maven,
gradle…)
How does a framework start?
@alexsotob
@

@
</>
Load config file from file
system
Parse it
How does a framework start?
@alexsotob
How does a framework start?
@

@
</>
Classpath scanning to
find
annotated classes
Attempt to load class to
enable/disable features
@alexsotob
How does a framework start?
@

@
</>
Build its model of 

the world.
@alexsotob
How does a framework start?
@

@
</>
Start the
management
(thread, pool…)
@alexsotob
@

@
</>
The Quarkus Way
@

@
</>
@alexsotob
@

@
</>
The Quarkus Way - Closed-World Assumption
Limited
variability
@alexsotob
@

@
</>
The Quarkus Way - Benefits
No FS access at
runtime

No need for a
parser at runtime
No scanning at
runtime
Less reflection
and classloading
at runtime
Optimized config
Less reflection
(proxy generation)
Prepared
initialization
(ready to serve)
@alexsotob
@

@
</>
The Quarkus Way - You don’t use 1 framework
@

@
</>
@

@
</>
SubatomicSupersonic
Java
@alexsotob
@alexsotob
Even miracles
take a little time.
— The fairy Godmother
“
@alexsotob
It's time to see
what I can do
To test the limits
and break through.
— Elsa
“
@alexsotob49
Put on your Sunday clothes
there's lots of world
out there.
— Wall-E
“
[http://bit.ly/quarkus-cheat-sheet-site]
[https://quarkus.io/]
@alexsotob50
What's the lesson?
What is the take-away?
— Maui
“
@alexsotob51
On an island that I own
Tan and rested and alone
Surrounded by 
enormous piles of money
— Eugene
“
@alexsotob52
We can't understand her. She is from
the other studio. Aaaah.
— Moana, Anna, Vanellope
“
@alexsotob53
But when I'm way up here
It's crystal clear
That now I'm in a whole
new world with you
— Jasmine
“
[http://bit.ly/quarkus-tutorial]
@alexsotob
Hay un amigo en mí,
cuando salgan a volar,
hay un amigo en mí
— Toy Story
“
@alexsotob
asotobue@redhat.com
http://www.lordofthejars.com/
lordofthejars

Kubernetes Native Java