SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
June 2020
Concepts and
Technical Overview
of Quarkus
Dimitris Andreadis
Director of Engineering at Red Hat
Manager of Quarkus Team
2
Quarkus & Kube-Native Java
Monolith
Kubernetes-Native Java
Cloud Native Microservices Serverless
Event-Driven
Architecture
Istio Knative
“Historical” Enterprise Java Stack
Operating System + Hardware/VM
Java Virtual Machine (Hotspot)
Application Server
App App App App App
Dynamic Application Frameworks
Architecture: Monoliths
Deployment: multi-app, appserver
App Lifecycle: Months
Memory: 1GB+ RAM
Startup Time: 10s of sec
Java Virtual Machine (Hotspot)
Application Server
App
Dynamic Application Frameworks
Architecture: Microservices
Deployment: Single App
App Lifecycle: Days
Memory: 100MBs+ RAM
Startup Time: Seconds
No
Change
“Modern” Enterprise Java Stack
A Deployment Continuum
● 1 monolith ≈ 20 microservices ≈ 200 functions
● Long running process(es), vs scale up/down, vs scale infinitely and back to 0
● Start up time and density becomes key
MONOLITH
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
MICRO
SERVICE
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
F FFFFFFFFF
Container platform
Node
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
Node
Go Go
Go Go
Go Go
Go Go
Go Go
Go Go
Go Go
Node
HotSpot Heap
HotSpot Heap
HotSpot Heap
HotSpot Heap
Hidden Truth About Java + Containers
Looking for solutions
Standards
Cloud native Java : a Red Hat journey
● Java EE streamlining
● Eclipse MicroProfile
Runtimes
● WildFly on Raspberry Pi
● WildFly on OpenShift
● WildFly-Swarm / Thorntail
Ahead of time compilation
● Lead gcj (GNU Compiler for Java)
● Looked at Dalvik, Avian, Excelsior JET
OpenJDK
● Container ergonomics
● JVM metadata reduction
Experts from cloud-native Java OS projects
Eclipse Vert.x Hibernate Eclipse MicroProfileRESTEasy WildFly Undertow OpenJDK
What is the best way to write
Cloud Native Applications
in Java
Supersonic. Subatomic. Java.
WHAT IS QUARKUS?
QUARK: elementary particle / US: hardest thing in computer science
Java frameworks suffer
from the same problem
They load way too many classes
They are way too dynamic / reflective
They perform a lot of initialization at Runtime
What is Wrong with Java Frameworks
@
@
</>
Packaging
(maven, gradle…)
Build Time
Runtime
How does a framework start?
@
@
</>
Load and parse config files,
properties, yaml, xml, etc.
Build Time
Runtime
How does a framework start?
@
@
</>
Classpath scanning and
annotation discovery
Attempt to load class to
enable/disable features
Build Time
Runtime
How does a framework start?
@
@
</>
Build its metamodel
of the world.
Build Time
Runtime
How does a framework start?
@
@
</>
Start thread pools,
IO, etc.Build Time
Runtime
How does a framework start?
Quarkus to the rescue!
@
@</>
Runtime
Build Time
Do the work once, not at each start
Get rid of all bootstrap classes
Less time to start, less memory needed
Less or no reflection nor dynamic proxies
What if we Initialize at Build time?
JVM CI
Sulong (LLVM)
Truffle
Graal Compiler
Substrate VM
Java HotSpot VM
Benefit No. 1: Supersonic Subatomic Java
REST + CRUD
Quarkus + AOT (via GraalVM)
28 MB
Quarkus + JDK (via OpenJDK)
145 MB
Traditional Cloud-Native Stack
209 MB
Boot + First Response Time (in seconds)
Quarkus + AOT (via GraalVM) 0.042 Seconds
Quarkus + JDK (via OpenJDK) 2.033 Seconds
Traditional Cloud-Native Stack 9.5 Seconds
Time to first response
Hotspot optimized Quarkus App
⇒ ½ the RSS space
⇒ x5 boot speed
Native optimized Quarkus App
⇒ ⅕ the RSS space
⇒ x50 boot speed
How faster/smaller? Rule of Thumb
Density Matters!
CONTAINER ORCHESTRATION
Server Node
EAP, WAS Liberty or
Spring Boot
EAP, WAS Liberty or
Spring Boot
EAP, WAS Liberty or
Spring Boot
EAP, WAS Liberty or
Spring Boot
Server Node
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
NodeJS
Server Node
Go Go Go
Go Go Go
Go Go Go
Go Go Go
Go Go Go
Go Go Go
Go Go Go
https://developers.redhat.com/blog/2017/03/14/java-inside-docker/
Server Node
Quarkus on JVM
Quarkus on JVM
Quarkus on JVM
Quarkus on JVM
Quarkus on JVM
Quarkus on JVM
Quarkus on JVM
Server Node
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
Quarkus
Native
“We could run 3 times denser deployments without sacrificing availability and response times of services”
A cohesive platform for optimized developer joy:
● Based on standards and more
● Unified configuration
● Live coding
● Streamlined code for the 80% common usages,
flexible for the 20%
● No hassle native executable generation
Benefit No. 2: Developer Joy
“Our developers used to wait 2 to 3 mins to see their changes. Live coding does away with this.”
Benefit No. 3: Unifies Imperative and Reactive
● Combine both Reactive and imperative development in the same application
● Inject the EventBus or the Vertx context
● Use the technology that fits your use-case
● Key for reactive systems based on event driven apps
@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;
}
Benefit No. 4: Best of Breed Frameworks & Standards
Eclipse Vert.x Hibernate RESTEasy Apache Camel Eclipse MicroProfile Netty
Kubernetes OpenShift Jaeger Prometheus Apache Kafka Infinispan
Flyway Neo4j MongoDB MQTT KeyCloak Apache Tika
“When you adopt Quarkus, you will be productive from day one since you don’t need to learn new technologies.”

Más contenido relacionado

La actualidad más candente

A microservice approach for legacy modernisation
A microservice approach for legacy modernisationA microservice approach for legacy modernisation
A microservice approach for legacy modernisationluisw19
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep diveWinton Winton
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformKangaroot
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewJames Falkner
 
virtualization-vs-containerization-paas
virtualization-vs-containerization-paasvirtualization-vs-containerization-paas
virtualization-vs-containerization-paasrajdeep
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes NetworkingCJ Cullen
 
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
 
Kubernetes
KubernetesKubernetes
KubernetesHenry He
 
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShiftKubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShiftDevOps.com
 
C. Sotiriou, Vodafone Greece: Adopting Quarkus for the digital experience layer
C. Sotiriou, Vodafone Greece: Adopting Quarkus for the digital experience layerC. Sotiriou, Vodafone Greece: Adopting Quarkus for the digital experience layer
C. Sotiriou, Vodafone Greece: Adopting Quarkus for the digital experience layerUni Systems S.M.S.A.
 
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
 
Quarkus Denmark 2019
Quarkus Denmark 2019Quarkus Denmark 2019
Quarkus Denmark 2019Max Andersen
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatAmazon Web Services
 
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Henning Jacobs
 
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020Matt Raible
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetesrajdeep
 

La actualidad más candente (20)

A microservice approach for legacy modernisation
A microservice approach for legacy modernisationA microservice approach for legacy modernisation
A microservice approach for legacy modernisation
 
Open shift 4 infra deep dive
Open shift 4    infra deep diveOpen shift 4    infra deep dive
Open shift 4 infra deep dive
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platform
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
 
virtualization-vs-containerization-paas
virtualization-vs-containerization-paasvirtualization-vs-containerization-paas
virtualization-vs-containerization-paas
 
Abc of docker
Abc of dockerAbc of docker
Abc of docker
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
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,...
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShiftKubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
 
C. Sotiriou, Vodafone Greece: Adopting Quarkus for the digital experience layer
C. Sotiriou, Vodafone Greece: Adopting Quarkus for the digital experience layerC. Sotiriou, Vodafone Greece: Adopting Quarkus for the digital experience layer
C. Sotiriou, Vodafone Greece: Adopting Quarkus for the digital experience layer
 
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)
 
Quarkus Denmark 2019
Quarkus Denmark 2019Quarkus Denmark 2019
Quarkus Denmark 2019
 
Mutiny + quarkus
Mutiny + quarkusMutiny + quarkus
Mutiny + quarkus
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
 
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
 
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
 

Similar a D. Andreadis, Red Hat: Concepts and technical overview of Quarkus

Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus IntroReactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus IntroFabio Tiriticco
 
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
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1Rubens Dos Santos Filho
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaAmazon Web Services
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And BeyondVMware Tanzu
 
Are you ready for cloud-native java JavaCro2019
Are you ready for cloud-native java JavaCro2019Are you ready for cloud-native java JavaCro2019
Are you ready for cloud-native java JavaCro2019Jamie Coleman
 
Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019graemerocher
 
Technology Tutorial.pdf
Technology Tutorial.pdfTechnology Tutorial.pdf
Technology Tutorial.pdfTechSearchWeb
 
TechSearchWeb Tutorials.pdf
TechSearchWeb Tutorials.pdfTechSearchWeb Tutorials.pdf
TechSearchWeb Tutorials.pdfTechSearchWeb
 
JAX London 2015: Java vs Nodejs
JAX London 2015: Java vs NodejsJAX London 2015: Java vs Nodejs
JAX London 2015: Java vs NodejsChris Bailey
 
Vagrant or docker for java dev environment
Vagrant or docker for java dev environmentVagrant or docker for java dev environment
Vagrant or docker for java dev environmentOrest Ivasiv
 
Java vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJava vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJAXLondon_Conference
 
JITServerTalk JCON World 2023.pdf
JITServerTalk JCON World 2023.pdfJITServerTalk JCON World 2023.pdf
JITServerTalk JCON World 2023.pdfRichHagarty
 
Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009Arun Gupta
 

Similar a D. Andreadis, Red Hat: Concepts and technical overview of Quarkus (20)

Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus IntroReactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro
 
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
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Are you ready for cloud-native java JavaCro2019
Are you ready for cloud-native java JavaCro2019Are you ready for cloud-native java JavaCro2019
Are you ready for cloud-native java JavaCro2019
 
Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut - JBCNConf 2019
 
Quarkus bootstrap 2020
Quarkus bootstrap 2020Quarkus bootstrap 2020
Quarkus bootstrap 2020
 
Node J pdf.docx
Node J pdf.docxNode J pdf.docx
Node J pdf.docx
 
Node J pdf.docx
Node J pdf.docxNode J pdf.docx
Node J pdf.docx
 
TechSearchWeb.pdf
TechSearchWeb.pdfTechSearchWeb.pdf
TechSearchWeb.pdf
 
Technology Tutorial.pdf
Technology Tutorial.pdfTechnology Tutorial.pdf
Technology Tutorial.pdf
 
TechSearchWeb Tutorials.pdf
TechSearchWeb Tutorials.pdfTechSearchWeb Tutorials.pdf
TechSearchWeb Tutorials.pdf
 
JAX London 2015: Java vs Nodejs
JAX London 2015: Java vs NodejsJAX London 2015: Java vs Nodejs
JAX London 2015: Java vs Nodejs
 
Java 2 computer science.pptx
Java 2 computer science.pptxJava 2 computer science.pptx
Java 2 computer science.pptx
 
Vagrant or docker for java dev environment
Vagrant or docker for java dev environmentVagrant or docker for java dev environment
Vagrant or docker for java dev environment
 
Java vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris BaileyJava vs. Java Script for enterprise web applications - Chris Bailey
Java vs. Java Script for enterprise web applications - Chris Bailey
 
JITServerTalk JCON World 2023.pdf
JITServerTalk JCON World 2023.pdfJITServerTalk JCON World 2023.pdf
JITServerTalk JCON World 2023.pdf
 
Intro to Sails.js
Intro to Sails.jsIntro to Sails.js
Intro to Sails.js
 
Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009Dynamic Languages Web Frameworks Indicthreads 2009
Dynamic Languages Web Frameworks Indicthreads 2009
 

Más de Uni Systems S.M.S.A.

Uni Systems for Power Platform.pptx
Uni Systems for Power Platform.pptxUni Systems for Power Platform.pptx
Uni Systems for Power Platform.pptxUni Systems S.M.S.A.
 
Microsoft Fabric Intro D Koutsanastasis
Microsoft Fabric Intro D KoutsanastasisMicrosoft Fabric Intro D Koutsanastasis
Microsoft Fabric Intro D KoutsanastasisUni Systems S.M.S.A.
 
Create Unique Experiences through a CRM Approach St Kontos
Create Unique Experiences through a CRM Approach St Kontos Create Unique Experiences through a CRM Approach St Kontos
Create Unique Experiences through a CRM Approach St Kontos Uni Systems S.M.S.A.
 
Bring your data to the era of AI D. Agagiotis.pdf
Bring your data to the era of AI D. Agagiotis.pdfBring your data to the era of AI D. Agagiotis.pdf
Bring your data to the era of AI D. Agagiotis.pdfUni Systems S.M.S.A.
 
Innovative approaches with AI, Data Analytics & CRM
Innovative approaches with AI, Data Analytics & CRMInnovative approaches with AI, Data Analytics & CRM
Innovative approaches with AI, Data Analytics & CRMUni Systems S.M.S.A.
 
Change the Business Landscape with Voice of Customer.pdf
Change the Business Landscape with Voice of Customer.pdfChange the Business Landscape with Voice of Customer.pdf
Change the Business Landscape with Voice of Customer.pdfUni Systems S.M.S.A.
 
Change the Business Landscape with Voice of Customer
Change the Business Landscape with Voice of CustomerChange the Business Landscape with Voice of Customer
Change the Business Landscape with Voice of CustomerUni Systems S.M.S.A.
 
The Evolution in Customer Experience: Migration to Cloud for Contact Center
The Evolution in Customer Experience: Migration to Cloud for Contact CenterThe Evolution in Customer Experience: Migration to Cloud for Contact Center
The Evolution in Customer Experience: Migration to Cloud for Contact CenterUni Systems S.M.S.A.
 
The Evolution of Customer Experience
The Evolution of Customer Experience The Evolution of Customer Experience
The Evolution of Customer Experience Uni Systems S.M.S.A.
 
Using cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformationUsing cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformationUni Systems S.M.S.A.
 

Más de Uni Systems S.M.S.A. (20)

Microsoft Power Platform.pptx
Microsoft Power Platform.pptxMicrosoft Power Platform.pptx
Microsoft Power Platform.pptx
 
Uni Systems for Power Platform.pptx
Uni Systems for Power Platform.pptxUni Systems for Power Platform.pptx
Uni Systems for Power Platform.pptx
 
D365 Demonstration CRM G Aspiotis
D365 Demonstration CRM G AspiotisD365 Demonstration CRM G Aspiotis
D365 Demonstration CRM G Aspiotis
 
AI pitch SSideri
 AI pitch SSideri  AI pitch SSideri
AI pitch SSideri
 
Microsoft Fabric Intro D Koutsanastasis
Microsoft Fabric Intro D KoutsanastasisMicrosoft Fabric Intro D Koutsanastasis
Microsoft Fabric Intro D Koutsanastasis
 
Create Unique Experiences through a CRM Approach St Kontos
Create Unique Experiences through a CRM Approach St Kontos Create Unique Experiences through a CRM Approach St Kontos
Create Unique Experiences through a CRM Approach St Kontos
 
Bridging The Gap D Karystinos
 Bridging The Gap D Karystinos Bridging The Gap D Karystinos
Bridging The Gap D Karystinos
 
Bring your data to the era of AI D. Agagiotis.pdf
Bring your data to the era of AI D. Agagiotis.pdfBring your data to the era of AI D. Agagiotis.pdf
Bring your data to the era of AI D. Agagiotis.pdf
 
How AI Transforms Businesses
How AI Transforms BusinessesHow AI Transforms Businesses
How AI Transforms Businesses
 
Innovative approaches with AI, Data Analytics & CRM
Innovative approaches with AI, Data Analytics & CRMInnovative approaches with AI, Data Analytics & CRM
Innovative approaches with AI, Data Analytics & CRM
 
Medallia VoC in action .pdf
Medallia VoC in action .pdfMedallia VoC in action .pdf
Medallia VoC in action .pdf
 
CX Powered by Uni Systems.pdf
CX Powered by Uni Systems.pdfCX Powered by Uni Systems.pdf
CX Powered by Uni Systems.pdf
 
Change the Business Landscape with Voice of Customer.pdf
Change the Business Landscape with Voice of Customer.pdfChange the Business Landscape with Voice of Customer.pdf
Change the Business Landscape with Voice of Customer.pdf
 
CX Powered by Uni Systems
CX Powered by Uni SystemsCX Powered by Uni Systems
CX Powered by Uni Systems
 
Change the Business Landscape with Voice of Customer
Change the Business Landscape with Voice of CustomerChange the Business Landscape with Voice of Customer
Change the Business Landscape with Voice of Customer
 
Medallia VoC in action
Medallia VoC in actionMedallia VoC in action
Medallia VoC in action
 
The Evolution in Customer Experience: Migration to Cloud for Contact Center
The Evolution in Customer Experience: Migration to Cloud for Contact CenterThe Evolution in Customer Experience: Migration to Cloud for Contact Center
The Evolution in Customer Experience: Migration to Cloud for Contact Center
 
The Evolution of Customer Experience
The Evolution of Customer Experience The Evolution of Customer Experience
The Evolution of Customer Experience
 
Using cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformationUsing cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformation
 
Microsoft: Invent with Purpose
Microsoft: Invent with PurposeMicrosoft: Invent with Purpose
Microsoft: Invent with Purpose
 

Último

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 

Último (20)

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 

D. Andreadis, Red Hat: Concepts and technical overview of Quarkus

  • 1. June 2020 Concepts and Technical Overview of Quarkus Dimitris Andreadis Director of Engineering at Red Hat Manager of Quarkus Team
  • 2. 2
  • 3. Quarkus & Kube-Native Java Monolith Kubernetes-Native Java Cloud Native Microservices Serverless Event-Driven Architecture Istio Knative
  • 4. “Historical” Enterprise Java Stack Operating System + Hardware/VM Java Virtual Machine (Hotspot) Application Server App App App App App Dynamic Application Frameworks Architecture: Monoliths Deployment: multi-app, appserver App Lifecycle: Months Memory: 1GB+ RAM Startup Time: 10s of sec
  • 5. Java Virtual Machine (Hotspot) Application Server App Dynamic Application Frameworks Architecture: Microservices Deployment: Single App App Lifecycle: Days Memory: 100MBs+ RAM Startup Time: Seconds No Change “Modern” Enterprise Java Stack
  • 6. A Deployment Continuum ● 1 monolith ≈ 20 microservices ≈ 200 functions ● Long running process(es), vs scale up/down, vs scale infinitely and back to 0 ● Start up time and density becomes key MONOLITH MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE MICRO SERVICE F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF F FFFFFFFFF
  • 7. Container platform Node NodeJS NodeJS NodeJS NodeJS NodeJS NodeJS NodeJS Node Go Go Go Go Go Go Go Go Go Go Go Go Go Go Node HotSpot Heap HotSpot Heap HotSpot Heap HotSpot Heap Hidden Truth About Java + Containers
  • 9. Standards Cloud native Java : a Red Hat journey ● Java EE streamlining ● Eclipse MicroProfile Runtimes ● WildFly on Raspberry Pi ● WildFly on OpenShift ● WildFly-Swarm / Thorntail Ahead of time compilation ● Lead gcj (GNU Compiler for Java) ● Looked at Dalvik, Avian, Excelsior JET OpenJDK ● Container ergonomics ● JVM metadata reduction
  • 10. Experts from cloud-native Java OS projects Eclipse Vert.x Hibernate Eclipse MicroProfileRESTEasy WildFly Undertow OpenJDK
  • 11. What is the best way to write Cloud Native Applications in Java
  • 12.
  • 14. WHAT IS QUARKUS? QUARK: elementary particle / US: hardest thing in computer science
  • 15. Java frameworks suffer from the same problem
  • 16. They load way too many classes They are way too dynamic / reflective They perform a lot of initialization at Runtime What is Wrong with Java Frameworks
  • 18. @ @ </> Load and parse config files, properties, yaml, xml, etc. Build Time Runtime How does a framework start?
  • 19. @ @ </> Classpath scanning and annotation discovery Attempt to load class to enable/disable features Build Time Runtime How does a framework start?
  • 20. @ @ </> Build its metamodel of the world. Build Time Runtime How does a framework start?
  • 21. @ @ </> Start thread pools, IO, etc.Build Time Runtime How does a framework start?
  • 22. Quarkus to the rescue!
  • 23. @ @</> Runtime Build Time Do the work once, not at each start Get rid of all bootstrap classes Less time to start, less memory needed Less or no reflection nor dynamic proxies What if we Initialize at Build time?
  • 24. JVM CI Sulong (LLVM) Truffle Graal Compiler Substrate VM Java HotSpot VM
  • 25. Benefit No. 1: Supersonic Subatomic Java REST + CRUD Quarkus + AOT (via GraalVM) 28 MB Quarkus + JDK (via OpenJDK) 145 MB Traditional Cloud-Native Stack 209 MB Boot + First Response Time (in seconds) Quarkus + AOT (via GraalVM) 0.042 Seconds Quarkus + JDK (via OpenJDK) 2.033 Seconds Traditional Cloud-Native Stack 9.5 Seconds Time to first response
  • 26. Hotspot optimized Quarkus App ⇒ ½ the RSS space ⇒ x5 boot speed Native optimized Quarkus App ⇒ ⅕ the RSS space ⇒ x50 boot speed How faster/smaller? Rule of Thumb
  • 27. Density Matters! CONTAINER ORCHESTRATION Server Node EAP, WAS Liberty or Spring Boot EAP, WAS Liberty or Spring Boot EAP, WAS Liberty or Spring Boot EAP, WAS Liberty or Spring Boot Server Node NodeJS NodeJS NodeJS NodeJS NodeJS NodeJS NodeJS Server Node Go Go Go Go Go Go Go Go Go Go Go Go Go Go Go Go Go Go Go Go Go https://developers.redhat.com/blog/2017/03/14/java-inside-docker/ Server Node Quarkus on JVM Quarkus on JVM Quarkus on JVM Quarkus on JVM Quarkus on JVM Quarkus on JVM Quarkus on JVM Server Node Quarkus Native Quarkus Native Quarkus Native Quarkus Native Quarkus Native Quarkus Native Quarkus Native Quarkus Native Quarkus Native Quarkus Native Quarkus Native Quarkus Native Quarkus Native Quarkus Native Quarkus Native Quarkus Native Quarkus Native Quarkus Native Quarkus Native Quarkus Native Quarkus Native “We could run 3 times denser deployments without sacrificing availability and response times of services”
  • 28. A cohesive platform for optimized developer joy: ● Based on standards and more ● Unified configuration ● Live coding ● Streamlined code for the 80% common usages, flexible for the 20% ● No hassle native executable generation Benefit No. 2: Developer Joy “Our developers used to wait 2 to 3 mins to see their changes. Live coding does away with this.”
  • 29. Benefit No. 3: Unifies Imperative and Reactive ● Combine both Reactive and imperative development in the same application ● Inject the EventBus or the Vertx context ● Use the technology that fits your use-case ● Key for reactive systems based on event driven apps @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; }
  • 30. Benefit No. 4: Best of Breed Frameworks & Standards Eclipse Vert.x Hibernate RESTEasy Apache Camel Eclipse MicroProfile Netty Kubernetes OpenShift Jaeger Prometheus Apache Kafka Infinispan Flyway Neo4j MongoDB MQTT KeyCloak Apache Tika “When you adopt Quarkus, you will be productive from day one since you don’t need to learn new technologies.”