SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
Next Generation Kubernetes
Native Java Frameworks -
Quarkus
Shanna Chan
Senior Solution Architect
shanna@redhat.com
Mark Baker
Senior Solution Architect
mabaker@redhat.com
● Brief History and evolution to Quarkus
○ Business Drivers
○ Technical Drivers
● What is Quarkus?
● Demo
● What is behind the screen?
● Intent and best uses
● Use cases
● Q&A
Agenda
J2EE
Quarkus
MicroProfile
Java/Jakarta
EE
4
Cloudable?
● Monolithic style:
● Tightly bound logic, Infrastructure,
● Platform ecosystem tends toward waterfall, brittle
Cloud
Tolerant
Cloud
Ready
Cloud
Native
● JEE/Jakarta
○ Java
Monolithic to
12 Factor App Journey
5
● Monolithic style in containers:
● Tightly bound logic, Infrastructure but less so, Resilience and Availability partially managed
● Platform ecosystem still tends toward waterfall, brittleness partially managed
● Opportunity to decompose , architect partially or fully, a way to partially standardize some
operation and infrastructure
Cloudable?
Cloud
Tolerant
Cloud
Ready
Cloud
Native
● JEE/Jakarta
○ Java
Monolithic to
12 Factor App Journey
6
● Micro Services in containers: Intent is better, size in the right direction
● Independent logic, Resilience built from ground up
● Platform ecosystem is fully Kubernetes ,Infrastructure is virtualized
● Bus = Tech , reiterate fast through CI/CD , minimal business disruption , Agile , fit for CI/CD
● JEE/Jakarta
○ Java
○ MicroService
Profile
Monolithic to
12 Factor App Journey
7
Inv
Inventory Customer Catalog Order
Browser
Client Mobile
API Gateway
UI-1 UI-2
Cust Cat Ord
Cloud
Native
12 Factor Solution
Monolithic to
12 Factor App Journey
Process Automation- decision/optimization
Integration-API mgt, Msg, Transform
Runtimes-polyglot -server to serverless
Cloud Native
● Microservices and beyond in containers: High application density and very small size for containers
● Independent logic, Best runtime container for the job, Server, Serveless, Stateless, Stateful (Middleware Services)
● All aspects of Code and infrastructure virtualized for the solution, API mgt and Mesh
● Continued Agile , fit for CI/CD (Blue/green, Canary) ,Open Source: Runtime, Integration,Process Automation
● Quarkus
○ Java
○ MicroService
Profile
Supersonic, Subatomic Java with Quarkus
• Optimized Java framework with
low memory consumption and
blazingly fast first response times.
• Allows developers to get their job
done faster with a low learning
curve.
• Unifies imperative and reactive
programming models
• Compatible with popular
frameworks like Eclipse
MicroProfile, select Spring APIs,
Hibernate, and more
Quarkus provides an effective solution
for running Java applications that deal
in serverless, microservices, containers,
Kubernetes, Serverless, or cloud in
general.
8
Java For the Hybrid-Cloud
9
QUARKUS
EVERYWHERE
(COMING SOON)
(APRIL 2021)
Blog
v 11
Container First
“We went from 1-min startup times to 400 milliseconds”
Quarkus
+ Native
12 MB
Quarkus + JVM
73 MB
Traditional
Cloud-Native Stack
136 MB
Reduced Memory
Footprint
Quarkus + Native (.016 secs)
Quarkus + JVM (0.943 secs)
Traditional
Cloud-Native
Stack (4.3 secs)
Fast Startup Time Smaller Disk
Footprint
Developer Joy
Best of Breed
Hardened
Open Source Standards
with unified configuration
Live coding
Quarkus Differentiators and Benefits
90+ Extensions
Best of Breed Standards
and Libraries
Both Imperative and Reactive Programming Models
Optimized for cloud native container use cases
For non blocking Asynchronous
Perfect for Event Driven Architecture
Have what you have already mastered
part of your tool box
Kubernetes-Native Development with Quarkus
Solid Foundation
Java consistently ranks in the Top 3
of programming languages in use
today with a community of 7-10
million developers.
Stunning Performance
Optimized to provide native-level
memory footprint and startup time,
allowing for increased density,
performance and elasticity at lower
cost.
Toolchain
End-to-end toolchain including
OpenShift Developer Console,
Code Ready Workspaces, project
generators in IDE and web,
live-reload for lightning fast inner
loop workflow, and CI/CD
integration.
Community
Massive catalog of extensions
connects your applications with best
of breed-technologies including
Camel, Jaeger, Prometheus, Istio,
Kafka and more.
TIOBE : #1
IEEE : #1
SlashData : #2
RedMonk : #2
HOW
QUARKUS
WORKS
@
@
</>
Packaging
(maven, gradle…)
Build Time
Runtime
How does a framework start?
@
@
</>
Load config file from file system
Parse it
Build Time
Runtime
How does a framework start?
@
@
</>
Classpath scanning to find
annotated classes
Attempt to load class to
enable/disable features
Build Time
Runtime
How does a framework start?
How does a framework start?
@
@
</>
Build its model of
the world.
Build Time
Runtime
How does a framework start?
@
@
</>
Start the
management
(thread, pool…)
Build Time
Runtime
@
@
</>
The Quarkus Way Runtime
Build Time
Do the work once, not at each start
All the bootstrap classes are no longer loaded
Less time to start, less memory used
Less or no reflection nor dynamic proxy
19
Fast & small
Super fast & crazy small!
Quarkus + GraalVM
13 MB
Quarkus + OpenJDK
74 MB
Traditional Cloud-Native Stack
140 MB
REST
https://quarkus.io/blog/runtime-performance/
Quarkus Improves Memory Utilization
QUARKUS WORKSHOP
Quarkus Improves Startup Time
Quarkus + GraalVM 0.014 Seconds
REST
REST + CRUD
Quarkus + OpenJDK 0.75 Seconds
Quarkus + GraalVM 0.055 Seconds
Quarkus + OpenJDK 2.5 Seconds
Traditional Cloud-Native Stack 9.5 Seconds
Traditional Cloud-Native Stack 4.3 Seconds
https://quarkus.io/blog/runtime-performance/
QUARKUS WORKSHOP
Live Demo
Flow of Demo:
1 Live Coding and Dev Mode
2 Building the Native Exe
3 Local to Container Platform
4 Directly build to OpenShift (Kube/Container)
Points to walk away with:
1 Instant feedback for Developers
2 Code everywhere with Quarkus
3 Build processes
4 Deploy to a Cloud Kubernetes
CLI
VS-Code
/
1-3 4
OpenShift
Quarkus Unifies Imperative and Reactive
● Combines both Reactive and imperative development in the same application
● Reactive Messaging - Apache Kafka, MQTT, AMQP…
● Reactive Services
@Inject
SayService say;
@GET
@Produces(MediaType.TEXT_PLAIN)
public String hello() {
return say.hello();
}
@Inject @Stream(”kafka”)
Publisher<String> reactiveSay;
@GET
@Produces(MediaType.SERVER_SENT_EVENTS)
public Publisher<String> stream() {
return reactiveSay;
}
Coding Style
An Illustrative Story
Quarkus uses Best of Breed Frameworks & Standards
Don’t be an army, have an army!
24
Eclipse Vert.x Hibernate RESTEasy Apache Camel Eclipse MicroProfile Netty
Kubernetes OpenShift Jaeger Prometheus Apache Kafka Infinispan
Flyway Neo4j MongoDB MQTT KeyCloak Apache Tika
Quarkus Architecture
25
Quarkus Extensions
RESTEasy
Netty
Hibernate
Spring
Compat.
MP
OpenAPI
MP
JWT
Eclipse
Vert.X
Agroal
(conn
pool)
Narayana
JTA
MP
Reactive
Messaging
Apache
Camel
...
Quarkus Core
Arc (DI)
Jandex Gizmo Graal SDK
JDK JIT - HotSpot AOTC - GraalVM Native Image
GraalVM
Polyglot, Native of JVM, Embeddable-Upstream
Building for Crazy Small
and Fast for Cloud
Native-12 Factor
Drives the gathering of metadata needed by GraalVM
GraalVM specific benefits
● based on framework knowledge
● Classes using reflection, resources, etc
● No need for agent + prerun, long JSON metadata or manual command lines
Minimize dependencies
Help dead code elimination
100% of the ecosystem supported on GraalVM
28
Not supported (Why?)
Trade-off & Considerations
● Dynamic classloading
● InvokeDynamic & Method handles
● Finalizer
● Security manager
● JVMTI, JMX, native VM Interfaces
OK with caveats in usage
● Reflection
● Dynamic proxy
● JNI
● Static initializers
● Lambda, Threads (OK, pfff!)
● References (similar)
JIT - OpenJDK HotSpot
When to use which VM with Quarkus
More memory requirements
Build for throughput
Longer startup time, but can be
optimized overtime
Best raw performance (CPU)
Best garbage collectors
Higher heap size usage
Known monitoring tools
Compile Once, Run anywhere
Libraries that only works in standard JDK
AOT - GraalVM native image
Highest memory density requirements
Low memory usages
Low memory footprint
Faster startup time
10s of ms for Serverless
Next Step for Spring Boot?
easy to develop with an easy CDI, REST, …
long startup times, eternal tests
heavyweight
too many things happen under the hood
easy to develop applications
fast
lightweight
GraalVM compatible
QUARKUS
✅ FaaS compatible ( lambdas
)
✅ less money on public cloud
Quarkus Use Cases
Greenfield development Mono to micro
Serverless Event-driven/reactive
Low memory footprint,
lightning fast startup time and
small disk footprint is an ideal
runtime for Kubernetes-native
microservices
Quarkus can help modernize
existing monolithic
applications by breaking it
into smaller, loosely coupled
microservices.
Quarkus utilizes an
asynchronous, reactive event
loop that makes it easy to create
reactive applications.
Scaling up or down (to zero)
is extremely fast with
Quarkus making it an ideal
runtime for creating
serverless applications.
IoT (Edge)
Small footprint make
Quarkus is an ideal Java
framework for IoT Edge
Gateways. Now included in
RHEL
Spring Migration
Migration of inefficient
Spring applications running
on Kubernetes/OpenShift
32
QUARKUS WORKSHOP
Customers using Quarkus Today
“We could run 3 times
denser deployments
without sacrificing
availability and
response times of
service”
“When you adopt
Quarkus, you will be
productive from day
one since you don’t
really need to learn
new technologies.”
“Quarkus seemed to
provide the performance
boost we needed while at
the same time having a
good backer (Red Hat)
and relying on
battle-tested
technologies”
Thorsten Pohl
Lufthansa Technik AVIATAR
Product Owner Automation &
Platform Architect
Roberto Cortez
Talkdesk Principal Architect
Christos Sotiriou
DXL technical lead at Vodafone Greece
33
QUARKUS WORKSHOP
Continue your Journey
code.quarkus.io
red.ht/try-quarkus
red.ht/idc-quarkus-study
Question?
Red Hat Summit Virtual Experience
Two-part virtual experience. One registration. Zero cost.
APRIL 27-28
What to expect:
● Keynotes from Red Hat thought leaders
● Exciting news and announcements
● Global customer and partner spotlights
● Live demo
● Access to Red Hat experts
● Games and entertainment
JUNE 15-16
What to expect:
● 7 channels of breakout sessions
● Technical, deep-dive content
● Even more access to Red Hat experts
● Customer stories and global content
● Demos, chat lounges & community
engagement
Registration is now open!
Visit our website or read the blog for more information.
Registration: bitly.com/rht-summit
Supporting Slides
38
GraalVM Architecture
JVM CI
Truffle
Graal Compiler
Substrate VM
Java HotSpot VM
JDK JIT - HotSpot AOTC - GraalVM Native Image
GraalVM
Sulong (LLVM)
GraalVM
39
Mandrel Architecture
JVM CI
Sulong (LLVM)
Truffle
Graal Compiler
Substrate VM
Java HotSpot VM
JDK JIT - HotSpot AOTC - GraalVM Native Image
GraalVM
2000
RED HAT LINUX
2007
KVM
2009
DEVOPS
Closed-world assumption
41
AOTC - GraalVM native image - Dead code elimination
Substrate
VM
Classes
JDK
Classes
JDK
Classes
Substrate
VM
Classes
Java
Application
Classes
Java
Application
Classes
Native
Executable
Experts from cloud-native Java OS projects
Eclipse Vert.x Hibernate Eclipse MicroProfile
RESTEasy WildFly Undertow OpenJDK

Contenu connexe

Tendances

How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...
How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...
How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...Lucas Jellema
 
[Webinar]: Working with Reactive Spring
[Webinar]: Working with Reactive Spring[Webinar]: Working with Reactive Spring
[Webinar]: Working with Reactive SpringKnoldus Inc.
 
Understanding Reactive Programming
Understanding Reactive ProgrammingUnderstanding Reactive Programming
Understanding Reactive ProgrammingAndres Almiray
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Herofazalraja
 
Quarkus tips, tricks, and techniques
Quarkus tips, tricks, and techniquesQuarkus tips, tricks, and techniques
Quarkus tips, tricks, and techniquesRed Hat Developers
 
Empowering Your Java Applications with Quarkus. A New Era of Fast, Efficient,...
Empowering Your Java Applications with Quarkus. A New Era of Fast, Efficient,...Empowering Your Java Applications with Quarkus. A New Era of Fast, Efficient,...
Empowering Your Java Applications with Quarkus. A New Era of Fast, Efficient,...Ivelin Yanev
 
Introduction to GraalVM
Introduction to GraalVMIntroduction to GraalVM
Introduction to GraalVMSHASHI KUMAR
 
GraalVM Native Images by Oleg Selajev @shelajev
GraalVM Native Images by Oleg Selajev @shelajevGraalVM Native Images by Oleg Selajev @shelajev
GraalVM Native Images by Oleg Selajev @shelajevOracle Developers
 
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...Edureka!
 
Vert.X: Microservices Were Never So Easy (Clement Escoffier)
Vert.X: Microservices Were Never So Easy (Clement Escoffier)Vert.X: Microservices Were Never So Easy (Clement Escoffier)
Vert.X: Microservices Were Never So Easy (Clement Escoffier)Red Hat Developers
 
A Microservices approach with Cassandra and Quarkus | DevNation Tech Talk
A Microservices approach with Cassandra and Quarkus | DevNation Tech TalkA Microservices approach with Cassandra and Quarkus | DevNation Tech Talk
A Microservices approach with Cassandra and Quarkus | DevNation Tech TalkRed Hat Developers
 
Docker and Go: why did we decide to write Docker in Go?
Docker and Go: why did we decide to write Docker in Go?Docker and Go: why did we decide to write Docker in Go?
Docker and Go: why did we decide to write Docker in Go?Jérôme Petazzoni
 
(알도개) GraalVM – 자바를 넘어선 새로운 시작의 서막
(알도개) GraalVM – 자바를 넘어선 새로운 시작의 서막(알도개) GraalVM – 자바를 넘어선 새로운 시작의 서막
(알도개) GraalVM – 자바를 넘어선 새로운 시작의 서막Jay Park
 

Tendances (20)

GraalVm and Quarkus
GraalVm and QuarkusGraalVm and Quarkus
GraalVm and Quarkus
 
How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...
How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...
How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...
 
JVM++: The Graal VM
JVM++: The Graal VMJVM++: The Graal VM
JVM++: The Graal VM
 
[Webinar]: Working with Reactive Spring
[Webinar]: Working with Reactive Spring[Webinar]: Working with Reactive Spring
[Webinar]: Working with Reactive Spring
 
Understanding Reactive Programming
Understanding Reactive ProgrammingUnderstanding Reactive Programming
Understanding Reactive Programming
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Hero
 
Spring Webflux
Spring WebfluxSpring Webflux
Spring Webflux
 
Quarkus bootstrap 2020
Quarkus bootstrap 2020Quarkus bootstrap 2020
Quarkus bootstrap 2020
 
Quarkus tips, tricks, and techniques
Quarkus tips, tricks, and techniquesQuarkus tips, tricks, and techniques
Quarkus tips, tricks, and techniques
 
Empowering Your Java Applications with Quarkus. A New Era of Fast, Efficient,...
Empowering Your Java Applications with Quarkus. A New Era of Fast, Efficient,...Empowering Your Java Applications with Quarkus. A New Era of Fast, Efficient,...
Empowering Your Java Applications with Quarkus. A New Era of Fast, Efficient,...
 
Introduction to GraalVM
Introduction to GraalVMIntroduction to GraalVM
Introduction to GraalVM
 
GraalVM Native Images by Oleg Selajev @shelajev
GraalVM Native Images by Oleg Selajev @shelajevGraalVM Native Images by Oleg Selajev @shelajev
GraalVM Native Images by Oleg Selajev @shelajev
 
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...
Angular vs React vs Vue | Javascript Frameworks Comparison | Which One You Sh...
 
Angular vs React vs Vue
Angular vs React vs VueAngular vs React vs Vue
Angular vs React vs Vue
 
Vert.X: Microservices Were Never So Easy (Clement Escoffier)
Vert.X: Microservices Were Never So Easy (Clement Escoffier)Vert.X: Microservices Were Never So Easy (Clement Escoffier)
Vert.X: Microservices Were Never So Easy (Clement Escoffier)
 
A Microservices approach with Cassandra and Quarkus | DevNation Tech Talk
A Microservices approach with Cassandra and Quarkus | DevNation Tech TalkA Microservices approach with Cassandra and Quarkus | DevNation Tech Talk
A Microservices approach with Cassandra and Quarkus | DevNation Tech Talk
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Docker and Go: why did we decide to write Docker in Go?
Docker and Go: why did we decide to write Docker in Go?Docker and Go: why did we decide to write Docker in Go?
Docker and Go: why did we decide to write Docker in Go?
 
(알도개) GraalVM – 자바를 넘어선 새로운 시작의 서막
(알도개) GraalVM – 자바를 넘어선 새로운 시작의 서막(알도개) GraalVM – 자바를 넘어선 새로운 시작의 서막
(알도개) GraalVM – 자바를 넘어선 새로운 시작의 서막
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 

Similaire à Quarkus - a next-generation Kubernetes Native Java framework

Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus IntroReactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus IntroFabio Tiriticco
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSSteve Wong
 
Apache Drill (ver. 0.1, check ver. 0.2)
Apache Drill (ver. 0.1, check ver. 0.2)Apache Drill (ver. 0.1, check ver. 0.2)
Apache Drill (ver. 0.1, check ver. 0.2)Camuel Gilyadov
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deploymentjavaonfly
 
Cloud Native Java Development Patterns
Cloud Native Java Development PatternsCloud Native Java Development Patterns
Cloud Native Java Development PatternsBilgin Ibryam
 
Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019graemerocher
 
Oracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attackOracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attackBobby Curtis
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications OpenEBS
 
Containerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the CloudContainerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the CloudSubbu Rama
 
Performance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMsPerformance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMsMaarten Smeets
 
create auto scale jboss cluster with openshift
create auto scale jboss cluster with openshiftcreate auto scale jboss cluster with openshift
create auto scale jboss cluster with openshiftYusuf Hadiwinata Sutandar
 
Devoxx France 2023 - 1,2,3 Quarkus.pdf
Devoxx France 2023 - 1,2,3 Quarkus.pdfDevoxx France 2023 - 1,2,3 Quarkus.pdf
Devoxx France 2023 - 1,2,3 Quarkus.pdfClément Escoffier
 
Kubernetes is all you need
Kubernetes is all you needKubernetes is all you need
Kubernetes is all you needVishwas N
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetesDr Ganesh Iyer
 
Y. Tsesmelis, Uni Systems: Quarkus use cases and business value
Y. Tsesmelis, Uni Systems: Quarkus use cases and business valueY. Tsesmelis, Uni Systems: Quarkus use cases and business value
Y. Tsesmelis, Uni Systems: Quarkus use cases and business valueUni Systems S.M.S.A.
 
Journey to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftJourney to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftYusuf Hadiwinata Sutandar
 
Cairo Kubernetes Meetup - October event Talk #1
Cairo Kubernetes Meetup - October event Talk #1Cairo Kubernetes Meetup - October event Talk #1
Cairo Kubernetes Meetup - October event Talk #1omehelba
 

Similaire à Quarkus - a next-generation Kubernetes Native Java framework (20)

Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus IntroReactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro
 
Docker-Intro
Docker-IntroDocker-Intro
Docker-Intro
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
 
Apache Drill (ver. 0.1, check ver. 0.2)
Apache Drill (ver. 0.1, check ver. 0.2)Apache Drill (ver. 0.1, check ver. 0.2)
Apache Drill (ver. 0.1, check ver. 0.2)
 
Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 
Cloud Native Java Development Patterns
Cloud Native Java Development PatternsCloud Native Java Development Patterns
Cloud Native Java Development Patterns
 
Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019
 
Oracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attackOracle virtualbox basic to rac attack
Oracle virtualbox basic to rac attack
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
Containerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the CloudContainerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the Cloud
 
Performance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMsPerformance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMs
 
create auto scale jboss cluster with openshift
create auto scale jboss cluster with openshiftcreate auto scale jboss cluster with openshift
create auto scale jboss cluster with openshift
 
Devoxx France 2023 - 1,2,3 Quarkus.pdf
Devoxx France 2023 - 1,2,3 Quarkus.pdfDevoxx France 2023 - 1,2,3 Quarkus.pdf
Devoxx France 2023 - 1,2,3 Quarkus.pdf
 
AMIS Oracle OpenWorld 2015 Review – part 2- Hardware & IaaS and PaaS Cloud Fo...
AMIS Oracle OpenWorld 2015 Review – part 2- Hardware & IaaS and PaaS Cloud Fo...AMIS Oracle OpenWorld 2015 Review – part 2- Hardware & IaaS and PaaS Cloud Fo...
AMIS Oracle OpenWorld 2015 Review – part 2- Hardware & IaaS and PaaS Cloud Fo...
 
Kubernetes is all you need
Kubernetes is all you needKubernetes is all you need
Kubernetes is all you need
 
Dockers and kubernetes
Dockers and kubernetesDockers and kubernetes
Dockers and kubernetes
 
Y. Tsesmelis, Uni Systems: Quarkus use cases and business value
Y. Tsesmelis, Uni Systems: Quarkus use cases and business valueY. Tsesmelis, Uni Systems: Quarkus use cases and business value
Y. Tsesmelis, Uni Systems: Quarkus use cases and business value
 
Journey to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftJourney to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshift
 
Cairo Kubernetes Meetup - October event Talk #1
Cairo Kubernetes Meetup - October event Talk #1Cairo Kubernetes Meetup - October event Talk #1
Cairo Kubernetes Meetup - October event Talk #1
 

Dernier

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Dernier (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Quarkus - a next-generation Kubernetes Native Java framework

  • 1. Next Generation Kubernetes Native Java Frameworks - Quarkus Shanna Chan Senior Solution Architect shanna@redhat.com Mark Baker Senior Solution Architect mabaker@redhat.com
  • 2. ● Brief History and evolution to Quarkus ○ Business Drivers ○ Technical Drivers ● What is Quarkus? ● Demo ● What is behind the screen? ● Intent and best uses ● Use cases ● Q&A Agenda
  • 4. 4 Cloudable? ● Monolithic style: ● Tightly bound logic, Infrastructure, ● Platform ecosystem tends toward waterfall, brittle Cloud Tolerant Cloud Ready Cloud Native ● JEE/Jakarta ○ Java Monolithic to 12 Factor App Journey
  • 5. 5 ● Monolithic style in containers: ● Tightly bound logic, Infrastructure but less so, Resilience and Availability partially managed ● Platform ecosystem still tends toward waterfall, brittleness partially managed ● Opportunity to decompose , architect partially or fully, a way to partially standardize some operation and infrastructure Cloudable? Cloud Tolerant Cloud Ready Cloud Native ● JEE/Jakarta ○ Java Monolithic to 12 Factor App Journey
  • 6. 6 ● Micro Services in containers: Intent is better, size in the right direction ● Independent logic, Resilience built from ground up ● Platform ecosystem is fully Kubernetes ,Infrastructure is virtualized ● Bus = Tech , reiterate fast through CI/CD , minimal business disruption , Agile , fit for CI/CD ● JEE/Jakarta ○ Java ○ MicroService Profile Monolithic to 12 Factor App Journey
  • 7. 7 Inv Inventory Customer Catalog Order Browser Client Mobile API Gateway UI-1 UI-2 Cust Cat Ord Cloud Native 12 Factor Solution Monolithic to 12 Factor App Journey Process Automation- decision/optimization Integration-API mgt, Msg, Transform Runtimes-polyglot -server to serverless Cloud Native ● Microservices and beyond in containers: High application density and very small size for containers ● Independent logic, Best runtime container for the job, Server, Serveless, Stateless, Stateful (Middleware Services) ● All aspects of Code and infrastructure virtualized for the solution, API mgt and Mesh ● Continued Agile , fit for CI/CD (Blue/green, Canary) ,Open Source: Runtime, Integration,Process Automation ● Quarkus ○ Java ○ MicroService Profile
  • 8. Supersonic, Subatomic Java with Quarkus • Optimized Java framework with low memory consumption and blazingly fast first response times. • Allows developers to get their job done faster with a low learning curve. • Unifies imperative and reactive programming models • Compatible with popular frameworks like Eclipse MicroProfile, select Spring APIs, Hibernate, and more Quarkus provides an effective solution for running Java applications that deal in serverless, microservices, containers, Kubernetes, Serverless, or cloud in general. 8
  • 9. Java For the Hybrid-Cloud 9 QUARKUS EVERYWHERE (COMING SOON) (APRIL 2021) Blog v 11
  • 10. Container First “We went from 1-min startup times to 400 milliseconds” Quarkus + Native 12 MB Quarkus + JVM 73 MB Traditional Cloud-Native Stack 136 MB Reduced Memory Footprint Quarkus + Native (.016 secs) Quarkus + JVM (0.943 secs) Traditional Cloud-Native Stack (4.3 secs) Fast Startup Time Smaller Disk Footprint Developer Joy Best of Breed Hardened Open Source Standards with unified configuration Live coding Quarkus Differentiators and Benefits 90+ Extensions Best of Breed Standards and Libraries Both Imperative and Reactive Programming Models Optimized for cloud native container use cases For non blocking Asynchronous Perfect for Event Driven Architecture Have what you have already mastered part of your tool box
  • 11. Kubernetes-Native Development with Quarkus Solid Foundation Java consistently ranks in the Top 3 of programming languages in use today with a community of 7-10 million developers. Stunning Performance Optimized to provide native-level memory footprint and startup time, allowing for increased density, performance and elasticity at lower cost. Toolchain End-to-end toolchain including OpenShift Developer Console, Code Ready Workspaces, project generators in IDE and web, live-reload for lightning fast inner loop workflow, and CI/CD integration. Community Massive catalog of extensions connects your applications with best of breed-technologies including Camel, Jaeger, Prometheus, Istio, Kafka and more. TIOBE : #1 IEEE : #1 SlashData : #2 RedMonk : #2
  • 14. @ @ </> Load config file from file system Parse it Build Time Runtime How does a framework start?
  • 15. @ @ </> Classpath scanning to find annotated classes Attempt to load class to enable/disable features Build Time Runtime How does a framework start?
  • 16. How does a framework start? @ @ </> Build its model of the world. Build Time Runtime
  • 17. How does a framework start? @ @ </> Start the management (thread, pool…) Build Time Runtime
  • 18. @ @ </> The Quarkus Way Runtime Build Time Do the work once, not at each start All the bootstrap classes are no longer loaded Less time to start, less memory used Less or no reflection nor dynamic proxy
  • 19. 19 Fast & small Super fast & crazy small!
  • 20. Quarkus + GraalVM 13 MB Quarkus + OpenJDK 74 MB Traditional Cloud-Native Stack 140 MB REST https://quarkus.io/blog/runtime-performance/ Quarkus Improves Memory Utilization QUARKUS WORKSHOP
  • 21. Quarkus Improves Startup Time Quarkus + GraalVM 0.014 Seconds REST REST + CRUD Quarkus + OpenJDK 0.75 Seconds Quarkus + GraalVM 0.055 Seconds Quarkus + OpenJDK 2.5 Seconds Traditional Cloud-Native Stack 9.5 Seconds Traditional Cloud-Native Stack 4.3 Seconds https://quarkus.io/blog/runtime-performance/ QUARKUS WORKSHOP
  • 22. Live Demo Flow of Demo: 1 Live Coding and Dev Mode 2 Building the Native Exe 3 Local to Container Platform 4 Directly build to OpenShift (Kube/Container) Points to walk away with: 1 Instant feedback for Developers 2 Code everywhere with Quarkus 3 Build processes 4 Deploy to a Cloud Kubernetes CLI VS-Code / 1-3 4 OpenShift
  • 23. Quarkus Unifies Imperative and Reactive ● Combines both Reactive and imperative development in the same application ● Reactive Messaging - Apache Kafka, MQTT, AMQP… ● Reactive Services @Inject SayService say; @GET @Produces(MediaType.TEXT_PLAIN) public String hello() { return say.hello(); } @Inject @Stream(”kafka”) Publisher<String> reactiveSay; @GET @Produces(MediaType.SERVER_SENT_EVENTS) public Publisher<String> stream() { return reactiveSay; } Coding Style An Illustrative Story
  • 24. Quarkus uses Best of Breed Frameworks & Standards Don’t be an army, have an army! 24 Eclipse Vert.x Hibernate RESTEasy Apache Camel Eclipse MicroProfile Netty Kubernetes OpenShift Jaeger Prometheus Apache Kafka Infinispan Flyway Neo4j MongoDB MQTT KeyCloak Apache Tika
  • 26. GraalVM Polyglot, Native of JVM, Embeddable-Upstream Building for Crazy Small and Fast for Cloud Native-12 Factor
  • 27. Drives the gathering of metadata needed by GraalVM GraalVM specific benefits ● based on framework knowledge ● Classes using reflection, resources, etc ● No need for agent + prerun, long JSON metadata or manual command lines Minimize dependencies Help dead code elimination 100% of the ecosystem supported on GraalVM
  • 28. 28 Not supported (Why?) Trade-off & Considerations ● Dynamic classloading ● InvokeDynamic & Method handles ● Finalizer ● Security manager ● JVMTI, JMX, native VM Interfaces OK with caveats in usage ● Reflection ● Dynamic proxy ● JNI ● Static initializers ● Lambda, Threads (OK, pfff!) ● References (similar)
  • 29. JIT - OpenJDK HotSpot When to use which VM with Quarkus More memory requirements Build for throughput Longer startup time, but can be optimized overtime Best raw performance (CPU) Best garbage collectors Higher heap size usage Known monitoring tools Compile Once, Run anywhere Libraries that only works in standard JDK AOT - GraalVM native image Highest memory density requirements Low memory usages Low memory footprint Faster startup time 10s of ms for Serverless
  • 30. Next Step for Spring Boot? easy to develop with an easy CDI, REST, … long startup times, eternal tests heavyweight too many things happen under the hood easy to develop applications fast lightweight GraalVM compatible QUARKUS ✅ FaaS compatible ( lambdas ) ✅ less money on public cloud
  • 31. Quarkus Use Cases Greenfield development Mono to micro Serverless Event-driven/reactive Low memory footprint, lightning fast startup time and small disk footprint is an ideal runtime for Kubernetes-native microservices Quarkus can help modernize existing monolithic applications by breaking it into smaller, loosely coupled microservices. Quarkus utilizes an asynchronous, reactive event loop that makes it easy to create reactive applications. Scaling up or down (to zero) is extremely fast with Quarkus making it an ideal runtime for creating serverless applications. IoT (Edge) Small footprint make Quarkus is an ideal Java framework for IoT Edge Gateways. Now included in RHEL Spring Migration Migration of inefficient Spring applications running on Kubernetes/OpenShift
  • 32. 32 QUARKUS WORKSHOP Customers using Quarkus Today “We could run 3 times denser deployments without sacrificing availability and response times of service” “When you adopt Quarkus, you will be productive from day one since you don’t really need to learn new technologies.” “Quarkus seemed to provide the performance boost we needed while at the same time having a good backer (Red Hat) and relying on battle-tested technologies” Thorsten Pohl Lufthansa Technik AVIATAR Product Owner Automation & Platform Architect Roberto Cortez Talkdesk Principal Architect Christos Sotiriou DXL technical lead at Vodafone Greece
  • 33. 33 QUARKUS WORKSHOP Continue your Journey code.quarkus.io red.ht/try-quarkus red.ht/idc-quarkus-study
  • 35. Red Hat Summit Virtual Experience Two-part virtual experience. One registration. Zero cost. APRIL 27-28 What to expect: ● Keynotes from Red Hat thought leaders ● Exciting news and announcements ● Global customer and partner spotlights ● Live demo ● Access to Red Hat experts ● Games and entertainment JUNE 15-16 What to expect: ● 7 channels of breakout sessions ● Technical, deep-dive content ● Even more access to Red Hat experts ● Customer stories and global content ● Demos, chat lounges & community engagement Registration is now open! Visit our website or read the blog for more information. Registration: bitly.com/rht-summit
  • 36.
  • 38. 38 GraalVM Architecture JVM CI Truffle Graal Compiler Substrate VM Java HotSpot VM JDK JIT - HotSpot AOTC - GraalVM Native Image GraalVM Sulong (LLVM)
  • 39. GraalVM 39 Mandrel Architecture JVM CI Sulong (LLVM) Truffle Graal Compiler Substrate VM Java HotSpot VM JDK JIT - HotSpot AOTC - GraalVM Native Image GraalVM
  • 41. Closed-world assumption 41 AOTC - GraalVM native image - Dead code elimination Substrate VM Classes JDK Classes JDK Classes Substrate VM Classes Java Application Classes Java Application Classes Native Executable
  • 42. Experts from cloud-native Java OS projects Eclipse Vert.x Hibernate Eclipse MicroProfile RESTEasy WildFly Undertow OpenJDK