In this informative presentation, we delve into the exciting world of Quarkus, a cutting-edge Java framework that has been revolutionizing the way we build and deploy Java applications. Quarkus is much more than just another framework; it represents a new era in Java development, characterized by speed, efficiency, and a cloud-native approach
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.