Empowering Your Java Applications with Quarkus. A New Era of Fast, Efficient, and Cloud-Native Development.pdf

Empowering Your Java
Applications with
Quarkus: A New Era of
Fast, Efficient, and
Cloud-Native
Development
Ivelin Yanev
Agenda
1. Understanding Quarkus
2. Java EE Compatibility
3. Why Quarkus?
4. Quarkus - The real advantages
5. Demo
6. Q&A Session
Understanding Quarkus
Supersonic, Subatomic Java
The idea behind supersonic is speed.
The idea behind the word subatomic is the size.
https://quarkus.io
Understanding Quarkus
Quarkus has been designed around a container-first philosophy.
Traditional framework startup steps!
Understanding Quarkus
Quarkus has been designed around a container-first philosophy.
The Quarkus startup way!
Understanding Quarkus
Build cloud native applications
“The native executables start up almost 100X faster and consume up to 5X less memory compared to
running on a JVM” - Oracle
https://www.oracle.com/ph/java/graalvm
Understanding Quarkus
Mandrel: A specialized distribution of GraalVM for Quarkus
https://quarkus.io
● Red Hat contributes to GraalVM
● Quarkus is part of the GraalVM test suite
● Mandrel is downstream distribution of GraalVM
Java EE Compatibility
What is Jakarta EE?
https://jakarta.ee
● Jakarta EE (formerly Java EE) is a set of
specifications and APIs for building enterprise
Java applications
● It provides a standardized platform for building
large-scale, distributed, and robust enterprise
applications
● Jakarta EE fosters collaboration within the
Java community by bringing together industry
experts and developers to define and maintain
a comprehensive set of APIs
Java EE Compatibility
What is Microprofile?
https://jakarta.ee
● MicroProfile is a set of specifications and APIs
specifically designed to enhance Jakarta EE
for building microservices and cloud-native
applications
● Offers a lightweight approach to building
microservices with APIs for features like
health checks, metrics, fault tolerance, and
configuration
● Quarkus is a MicroProfile implementation that
focuses on efficiently running Java applications in
containers in general and Kubernetes in particular.
Quarkus Ecosystem
Quarkus architecture
Quarkus Ecosystem
Extensions
deployment runtime
bytecode
Framework
and
Build time augmentation
TOOLKIT
Key aspects of Quarkus extensions philosophy:
● Modularity: Extensions are designed to be self-contained units
of functionality
● Simplicity: Quarkus extensions aim to simplify the integration
of third-party libraries and technologies
● Configuration: Extensions often provide well-defined
configuration options that align with Quarkus' overall
configuration model
● Optimization: Extensions focused on optimization offer a
diverse range of benefits that elevate performance through the
utilization of recording bytecode
Why Quarkus?
Based on standart
● Jakarta EE and MicroProfile
○ MicroProfile Config
○ MicroProfile Health
○ MicroProfile Metrics
○ MicroProfile REST Client
○ Jakarta RESTful Web Services
○ Jakarta Persistence
○ ……… etc.
● Dependency Injection Standards
○ Jakarta Contexts and Dependency Injection(CDI)
● Reactive Programming Standards:
● OpenTelemetry
Why Quarkus?
Developer by productivity
● Dev Mode / Live Coding;
Write Code → Refresh Browser → Repeat
● Dev services;
● Dev UI;
● Continuous Testing.
Why Quarkus?
Quarkiverse Hub
“An extension in the context of Quarkus is a modular
component that enhances the framework's functionality by
providing pre-packaged features, libraries, or integrations for
use in Quarkus applications.”
622+
Extensions
Quarkus - The real advantages
Performance Comparison
1. Startup Time Comparison
2. Memory Usage Comparison
https://github.com/oktadev/auth0-java-rest-api-examples
➢ Quarkus performs significantly better in
resource-constrained environments, making it
suitable for containerized environments and
resource-constrained scenarios.
➢ Quarkus is designed for ultra-fast startup
times, typically measured in milliseconds. This
is crucial for serverless and microservices
architectures where rapid scaling is essential.
Quarkus - The real advantages
Performance Comparison
3. JSON serialization
4. Single query
https://www.techempower.com/benchmarks
Quarkus - The real advantages
Performance Comparison
3. Data updates
4. Plaintext
https://www.techempower.com/benchmarks
Quarkus - The real advantages
Performance stands as the valuable currency of developers
Gathered metrics spanning a 3-year
duration from @LogicDrop
● Spending less time on optimization means having more
time to focus on developing your business logic;
● Quarkus' efficient memory utilization and smaller footprint
mean developers can work with less powerful hardware
without sacrificing development speed. This can lead to
cost savings and a more flexible development
environment;
● Developers adhering to specific MicroProfile
specifications save time by quickly understanding
potential problem.
DEMO
1 von 19

Recomendados

D. Andreadis, Red Hat: Concepts and technical overview of Quarkus von
D. Andreadis, Red Hat: Concepts and technical overview of QuarkusD. Andreadis, Red Hat: Concepts and technical overview of Quarkus
D. Andreadis, Red Hat: Concepts and technical overview of QuarkusUni Systems S.M.S.A.
346 views30 Folien
Quarkus - a next-generation Kubernetes Native Java framework von
Quarkus - a next-generation Kubernetes Native Java frameworkQuarkus - a next-generation Kubernetes Native Java framework
Quarkus - a next-generation Kubernetes Native Java frameworkSVDevOps
615 views42 Folien
Quarkus Denmark 2019 von
Quarkus Denmark 2019Quarkus Denmark 2019
Quarkus Denmark 2019Max Andersen
606 views44 Folien
Devoxx France 2023 - 1,2,3 Quarkus.pdf von
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
100 views18 Folien
Discover Quarkus and GraalVM von
Discover Quarkus and GraalVMDiscover Quarkus and GraalVM
Discover Quarkus and GraalVMRomain Schlick
638 views19 Folien
Building flexible ETL pipelines with Apache Camel on Quarkus von
Building flexible ETL pipelines with Apache Camel on QuarkusBuilding flexible ETL pipelines with Apache Camel on Quarkus
Building flexible ETL pipelines with Apache Camel on QuarkusIvelin Yanev
396 views14 Folien

Más contenido relacionado

Was ist angesagt?

Spring Native and Spring AOT von
Spring Native and Spring AOTSpring Native and Spring AOT
Spring Native and Spring AOTVMware Tanzu
1.6K views61 Folien
Learning Rust the Hard Way for a Production Kafka + ScyllaDB Pipeline von
Learning Rust the Hard Way for a Production Kafka + ScyllaDB PipelineLearning Rust the Hard Way for a Production Kafka + ScyllaDB Pipeline
Learning Rust the Hard Way for a Production Kafka + ScyllaDB PipelineScyllaDB
892 views31 Folien
Proxmox Clustering with CEPH von
Proxmox Clustering with CEPHProxmox Clustering with CEPH
Proxmox Clustering with CEPHFahadIbrar5
210 views18 Folien
Quarkus tips, tricks, and techniques von
Quarkus tips, tricks, and techniquesQuarkus tips, tricks, and techniques
Quarkus tips, tricks, and techniquesRed Hat Developers
1.3K views21 Folien
애플리케이션 최적화를 위한 컨테이너 인프라 구축 von
애플리케이션 최적화를 위한 컨테이너 인프라 구축애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축rockplace
339 views40 Folien
Open Liberty / WebSphere Liberty von
Open Liberty / WebSphere LibertyOpen Liberty / WebSphere Liberty
Open Liberty / WebSphere LibertyTakakiyo Tanaka
883 views21 Folien

Was ist angesagt?(20)

Spring Native and Spring AOT von VMware Tanzu
Spring Native and Spring AOTSpring Native and Spring AOT
Spring Native and Spring AOT
VMware Tanzu1.6K views
Learning Rust the Hard Way for a Production Kafka + ScyllaDB Pipeline von ScyllaDB
Learning Rust the Hard Way for a Production Kafka + ScyllaDB PipelineLearning Rust the Hard Way for a Production Kafka + ScyllaDB Pipeline
Learning Rust the Hard Way for a Production Kafka + ScyllaDB Pipeline
ScyllaDB892 views
Proxmox Clustering with CEPH von FahadIbrar5
Proxmox Clustering with CEPHProxmox Clustering with CEPH
Proxmox Clustering with CEPH
FahadIbrar5210 views
애플리케이션 최적화를 위한 컨테이너 인프라 구축 von rockplace
애플리케이션 최적화를 위한 컨테이너 인프라 구축애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축
rockplace339 views
Schema Registry 101 with Bill Bejeck | Kafka Summit London 2022 von HostedbyConfluent
Schema Registry 101 with Bill Bejeck | Kafka Summit London 2022Schema Registry 101 with Bill Bejeck | Kafka Summit London 2022
Schema Registry 101 with Bill Bejeck | Kafka Summit London 2022
HostedbyConfluent673 views
Spring Boot+Kafka: the New Enterprise Platform von VMware Tanzu
Spring Boot+Kafka: the New Enterprise PlatformSpring Boot+Kafka: the New Enterprise Platform
Spring Boot+Kafka: the New Enterprise Platform
VMware Tanzu1.4K views
0-60: Tesla's Streaming Data Platform ( Jesse Yates, Tesla) Kafka Summit SF 2019 von confluent
0-60: Tesla's Streaming Data Platform ( Jesse Yates, Tesla) Kafka Summit SF 20190-60: Tesla's Streaming Data Platform ( Jesse Yates, Tesla) Kafka Summit SF 2019
0-60: Tesla's Streaming Data Platform ( Jesse Yates, Tesla) Kafka Summit SF 2019
confluent10.2K views
How to build your containerization strategy von Docker, Inc.
How to build your containerization strategyHow to build your containerization strategy
How to build your containerization strategy
Docker, Inc.4.1K views
Migration d'une Architecture Microservice vers une Architecture Event-Driven ... von Daniel Rene FOUOMENE PEWO
Migration d'une Architecture Microservice vers une Architecture Event-Driven ...Migration d'une Architecture Microservice vers une Architecture Event-Driven ...
Migration d'une Architecture Microservice vers une Architecture Event-Driven ...
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand von Troublemaker Khunpech
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
DevJam 2019 - Introduction to Kubernetes von Ronny Trommer
DevJam 2019 - Introduction to KubernetesDevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to Kubernetes
Ronny Trommer2.2K views
Battle of the frameworks : Quarkus vs SpringBoot von Christos Sotiriou
Battle of the frameworks : Quarkus vs SpringBootBattle of the frameworks : Quarkus vs SpringBoot
Battle of the frameworks : Quarkus vs SpringBoot
Christos Sotiriou143 views
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO... von Edureka!
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Edureka!2K views
Apache Kafka 0.8 basic training - Verisign von Michael Noll
Apache Kafka 0.8 basic training - VerisignApache Kafka 0.8 basic training - Verisign
Apache Kafka 0.8 basic training - Verisign
Michael Noll178K views

Similar a Empowering Your Java Applications with Quarkus. A New Era of Fast, Efficient, and Cloud-Native Development.pdf

Top 10 Kubernetes Native Java Quarkus Features von
Top 10 Kubernetes Native Java Quarkus FeaturesTop 10 Kubernetes Native Java Quarkus Features
Top 10 Kubernetes Native Java Quarkus Featuresjclingan
51 views19 Folien
Integrating ScyllaDB with Quarkus von
Integrating ScyllaDB with QuarkusIntegrating ScyllaDB with Quarkus
Integrating ScyllaDB with QuarkusScyllaDB
831 views13 Folien
Exploring Quarkus on JDK 17 von
Exploring Quarkus on JDK 17Exploring Quarkus on JDK 17
Exploring Quarkus on JDK 17Ana-Maria Mihalceanu
215 views20 Folien
NetApp Datasheet Oracle Accelerator von
NetApp Datasheet Oracle AcceleratorNetApp Datasheet Oracle Accelerator
NetApp Datasheet Oracle AcceleratorContent Rules, Inc.
382 views4 Folien
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c von
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cDeveloping Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cBruno Borges
57K views38 Folien
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014) von
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)jeckels
3.9K views33 Folien

Similar a Empowering Your Java Applications with Quarkus. A New Era of Fast, Efficient, and Cloud-Native Development.pdf(20)

Top 10 Kubernetes Native Java Quarkus Features von jclingan
Top 10 Kubernetes Native Java Quarkus FeaturesTop 10 Kubernetes Native Java Quarkus Features
Top 10 Kubernetes Native Java Quarkus Features
jclingan51 views
Integrating ScyllaDB with Quarkus von ScyllaDB
Integrating ScyllaDB with QuarkusIntegrating ScyllaDB with Quarkus
Integrating ScyllaDB with Quarkus
ScyllaDB831 views
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c von Bruno Borges
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cDeveloping Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Bruno Borges57K views
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014) von jeckels
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
jeckels3.9K views
Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro von Fabio Tiriticco
Reactive Amsterdam - Maxim Burgerhout - Quarkus IntroReactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Reactive Amsterdam - Maxim Burgerhout - Quarkus Intro
Fabio Tiriticco955 views
Java in a world of containers von Docker, Inc.
Java in a world of containersJava in a world of containers
Java in a world of containers
Docker, Inc.1.7K views
Java in a World of Containers - DockerCon 2018 von Arun Gupta
Java in a World of Containers - DockerCon 2018Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018
Arun Gupta2.3K views
Performance of Microservice frameworks on different JVMs von Maarten Smeets
Performance of Microservice frameworks on different JVMsPerformance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMs
Maarten Smeets3.9K views
Java EE Arquillian Testing with Docker & The Cloud von Bruno Borges
Java EE Arquillian Testing with Docker & The CloudJava EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The Cloud
Bruno Borges3.3K views
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam... von NETWAYS
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
OpenNebula Conf 2014 | Cloud Automation for OpenNebula by Kishorekumar Neelam...
NETWAYS1.2K views
OpenNebulaConf 2014 - Cloud Automation for OpenNebula - Kishorekumar Neelamegam von OpenNebula Project
OpenNebulaConf 2014 - Cloud Automation for OpenNebula - Kishorekumar NeelamegamOpenNebulaConf 2014 - Cloud Automation for OpenNebula - Kishorekumar Neelamegam
OpenNebulaConf 2014 - Cloud Automation for OpenNebula - Kishorekumar Neelamegam
OpenNebula Project847 views
Cloud Native Dünyada CI/CD von Mustafa AKIN
Cloud Native Dünyada CI/CDCloud Native Dünyada CI/CD
Cloud Native Dünyada CI/CD
Mustafa AKIN354 views
Real World Enterprise Reactive Programming using Vert.x von Mariam Hakobyan
Real World Enterprise Reactive Programming using Vert.xReal World Enterprise Reactive Programming using Vert.x
Real World Enterprise Reactive Programming using Vert.x
Mariam Hakobyan5.9K views
Real World Enterprise Reactive Programming using Vert.x von Sascha Möllering
Real World Enterprise Reactive Programming using Vert.xReal World Enterprise Reactive Programming using Vert.x
Real World Enterprise Reactive Programming using Vert.x
Sascha Möllering2.4K views
A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STOMP.pdf von Juarez Junior
A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STOMP.pdfA High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STOMP.pdf
A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STOMP.pdf
Juarez Junior17 views
Introduction to Apache Mesos and DC/OS von Steve Wong
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
Steve Wong339 views

Más de Ivelin Yanev

Project Loom von
Project LoomProject Loom
Project LoomIvelin Yanev
64 views14 Folien
Git collaboration von
Git collaborationGit collaboration
Git collaborationIvelin Yanev
59 views44 Folien
Java exeptions von
Java exeptionsJava exeptions
Java exeptionsIvelin Yanev
63 views11 Folien
Introducing java oop concepts von
Introducing java oop conceptsIntroducing java oop concepts
Introducing java oop conceptsIvelin Yanev
69 views16 Folien
Introducing generic types von
Introducing generic typesIntroducing generic types
Introducing generic typesIvelin Yanev
42 views13 Folien
Java features. Java 8, 9, 10, 11 von
Java features. Java 8, 9, 10, 11Java features. Java 8, 9, 10, 11
Java features. Java 8, 9, 10, 11Ivelin Yanev
115 views22 Folien

Más de Ivelin Yanev(9)

Último

Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... von
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...NimaTorabi2
15 views17 Folien
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports von
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsRa'Fat Al-Msie'deen
8 views49 Folien
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action von
Gen Apps on Google Cloud PaLM2 and Codey APIs in ActionGen Apps on Google Cloud PaLM2 and Codey APIs in Action
Gen Apps on Google Cloud PaLM2 and Codey APIs in ActionMárton Kodok
15 views55 Folien
Myths and Facts About Hospice Care: Busting Common Misconceptions von
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common MisconceptionsCare Coordinations
7 views1 Folie
EV Charging App Case von
EV Charging App Case EV Charging App Case
EV Charging App Case iCoderz Solutions
9 views1 Folie
Sprint 226 von
Sprint 226Sprint 226
Sprint 226ManageIQ
10 views18 Folien

Último(20)

Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... von NimaTorabi2
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
NimaTorabi215 views
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports von Ra'Fat Al-Msie'deen
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action von Márton Kodok
Gen Apps on Google Cloud PaLM2 and Codey APIs in ActionGen Apps on Google Cloud PaLM2 and Codey APIs in Action
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action
Márton Kodok15 views
Myths and Facts About Hospice Care: Busting Common Misconceptions von Care Coordinations
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common Misconceptions
Sprint 226 von ManageIQ
Sprint 226Sprint 226
Sprint 226
ManageIQ10 views
AI and Ml presentation .pptx von FayazAli87
AI and Ml presentation .pptxAI and Ml presentation .pptx
AI and Ml presentation .pptx
FayazAli8713 views
Bootstrapping vs Venture Capital.pptx von Zeljko Svedic
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptx
Zeljko Svedic14 views
Navigating container technology for enhanced security by Niklas Saari von Metosin Oy
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas Saari
Metosin Oy14 views
JioEngage_Presentation.pptx von admin125455
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptx
admin1254556 views
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation von HCLSoftware
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook AutomationDRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation
HCLSoftware6 views
Understanding HTML terminology von artembondar5
Understanding HTML terminologyUnderstanding HTML terminology
Understanding HTML terminology
artembondar56 views
Copilot Prompting Toolkit_All Resources.pdf von Riccardo Zamana
Copilot Prompting Toolkit_All Resources.pdfCopilot Prompting Toolkit_All Resources.pdf
Copilot Prompting Toolkit_All Resources.pdf
Riccardo Zamana16 views

Empowering Your Java Applications with Quarkus. A New Era of Fast, Efficient, and Cloud-Native Development.pdf

  • 1. Empowering Your Java Applications with Quarkus: A New Era of Fast, Efficient, and Cloud-Native Development Ivelin Yanev
  • 2. Agenda 1. Understanding Quarkus 2. Java EE Compatibility 3. Why Quarkus? 4. Quarkus - The real advantages 5. Demo 6. Q&A Session
  • 3. Understanding Quarkus Supersonic, Subatomic Java The idea behind supersonic is speed. The idea behind the word subatomic is the size. https://quarkus.io
  • 4. Understanding Quarkus Quarkus has been designed around a container-first philosophy. Traditional framework startup steps!
  • 5. Understanding Quarkus Quarkus has been designed around a container-first philosophy. The Quarkus startup way!
  • 6. Understanding Quarkus Build cloud native applications “The native executables start up almost 100X faster and consume up to 5X less memory compared to running on a JVM” - Oracle https://www.oracle.com/ph/java/graalvm
  • 7. Understanding Quarkus Mandrel: A specialized distribution of GraalVM for Quarkus https://quarkus.io ● Red Hat contributes to GraalVM ● Quarkus is part of the GraalVM test suite ● Mandrel is downstream distribution of GraalVM
  • 8. Java EE Compatibility What is Jakarta EE? https://jakarta.ee ● Jakarta EE (formerly Java EE) is a set of specifications and APIs for building enterprise Java applications ● It provides a standardized platform for building large-scale, distributed, and robust enterprise applications ● Jakarta EE fosters collaboration within the Java community by bringing together industry experts and developers to define and maintain a comprehensive set of APIs
  • 9. Java EE Compatibility What is Microprofile? https://jakarta.ee ● MicroProfile is a set of specifications and APIs specifically designed to enhance Jakarta EE for building microservices and cloud-native applications ● Offers a lightweight approach to building microservices with APIs for features like health checks, metrics, fault tolerance, and configuration ● Quarkus is a MicroProfile implementation that focuses on efficiently running Java applications in containers in general and Kubernetes in particular.
  • 11. Quarkus Ecosystem Extensions deployment runtime bytecode Framework and Build time augmentation TOOLKIT Key aspects of Quarkus extensions philosophy: ● Modularity: Extensions are designed to be self-contained units of functionality ● Simplicity: Quarkus extensions aim to simplify the integration of third-party libraries and technologies ● Configuration: Extensions often provide well-defined configuration options that align with Quarkus' overall configuration model ● Optimization: Extensions focused on optimization offer a diverse range of benefits that elevate performance through the utilization of recording bytecode
  • 12. Why Quarkus? Based on standart ● Jakarta EE and MicroProfile ○ MicroProfile Config ○ MicroProfile Health ○ MicroProfile Metrics ○ MicroProfile REST Client ○ Jakarta RESTful Web Services ○ Jakarta Persistence ○ ……… etc. ● Dependency Injection Standards ○ Jakarta Contexts and Dependency Injection(CDI) ● Reactive Programming Standards: ● OpenTelemetry
  • 13. Why Quarkus? Developer by productivity ● Dev Mode / Live Coding; Write Code → Refresh Browser → Repeat ● Dev services; ● Dev UI; ● Continuous Testing.
  • 14. Why Quarkus? Quarkiverse Hub “An extension in the context of Quarkus is a modular component that enhances the framework's functionality by providing pre-packaged features, libraries, or integrations for use in Quarkus applications.” 622+ Extensions
  • 15. Quarkus - The real advantages Performance Comparison 1. Startup Time Comparison 2. Memory Usage Comparison https://github.com/oktadev/auth0-java-rest-api-examples ➢ Quarkus performs significantly better in resource-constrained environments, making it suitable for containerized environments and resource-constrained scenarios. ➢ Quarkus is designed for ultra-fast startup times, typically measured in milliseconds. This is crucial for serverless and microservices architectures where rapid scaling is essential.
  • 16. Quarkus - The real advantages Performance Comparison 3. JSON serialization 4. Single query https://www.techempower.com/benchmarks
  • 17. Quarkus - The real advantages Performance Comparison 3. Data updates 4. Plaintext https://www.techempower.com/benchmarks
  • 18. Quarkus - The real advantages Performance stands as the valuable currency of developers Gathered metrics spanning a 3-year duration from @LogicDrop ● Spending less time on optimization means having more time to focus on developing your business logic; ● Quarkus' efficient memory utilization and smaller footprint mean developers can work with less powerful hardware without sacrificing development speed. This can lead to cost savings and a more flexible development environment; ● Developers adhering to specific MicroProfile specifications save time by quickly understanding potential problem.
  • 19. DEMO