-
Notifications
You must be signed in to change notification settings - Fork 395
Quarkus: Runtime and Framework for Cloud-Native Java - Blog post #2 #2441
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Quarkus: Runtime and Framework for Cloud-Native Java - Blog post #2 #2441
Conversation
|
🎊 PR Preview 7c82eb6 has been successfully built and deployed to https://quarkus-site-pr-2441-preview.surge.sh
|
535a64e to
8925b58
Compare
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
|
LGTM otherwise. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not authoritative, but it looks good to me
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I haven't read the post to be honest but I disagree with trying to tie us to some Google grand principles.
It's definitely not what was behind the inception of Quarkus.
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
20bb765 to
b07079a
Compare
|
@jherrman, May I request your language expert review? :) |
@gsmet |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A nice write-up overall, but some parts would benefit from a slight rewrite, IMHO.
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
12c7f07 to
947315f
Compare
|
@cescoffier Hello Clemenet! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great content. Need a bit more work to make it easier to read.
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
_posts/2025-10-23-mmaler-blogpost-2-quarkus-runtime-and-framework-for-cloud-native-java.adoc
Outdated
Show resolved
Hide resolved
Signed-off-by: Michal Maléř <[email protected]> Apply suggestions from code review Co-authored-by: Jiri Herrmann <[email protected]> Clement's review Signed-off-by: Michal Maléř <[email protected]> Aplying Clemet's feedback VOL2; revamping of the Performance section Signed-off-by: Michal Maléř <[email protected]>
cc30338 to
c58c10c
Compare
Signed-off-by: Michal Maléř <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple more suggestions in terms of stylistics and grammar.
| For a broader industry perspective, see the link:https://cacm.acm.org/practice/application-frameworks/[ACM article on application frameworks]. | ||
|
|
||
| Quarkus shifts work from runtime to build time, thus enabling faster cold starts. | ||
| Additionally, it offers the option to generate native executables with GraalVM's native-image, enabling cold starts in milliseconds and a minimal memory footprint, resulting in higher pod density, quicker horizontal scaling, and lower idle costs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Additionally, it offers the option to generate native executables with GraalVM's native-image, enabling cold starts in milliseconds and a minimal memory footprint, resulting in higher pod density, quicker horizontal scaling, and lower idle costs. | |
| Additionally, it offers the option to generate native executables with GraalVM's native-image, enabling cold starts in milliseconds and a minimal memory footprint. | |
| This results in higher pod density, quicker horizontal scaling, and lower idle costs. |
| Additionally, it offers the option to generate native executables with GraalVM's native-image, enabling cold starts in milliseconds and a minimal memory footprint, resulting in higher pod density, quicker horizontal scaling, and lower idle costs. | ||
| As such, it enables cost-effective deployment in containers and serverless environments. | ||
|
|
||
| Native images often give faster startup and lower RSS; however, they can deliver lower peak throughput and exhibit scaling limits on multi-core machines. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Native images often give faster startup and lower RSS; however, they can deliver lower peak throughput and exhibit scaling limits on multi-core machines. | |
| Native images often provide faster startup and lower RSS. However, they can deliver lower peak throughput and exhibit scaling limits on multi-core machines. |
|
|
||
| Native images often give faster startup and lower RSS; however, they can deliver lower peak throughput and exhibit scaling limits on multi-core machines. | ||
| Current native images typically use a single-threaded garbage collector, which is inefficient for large heaps and does not benefit from multiple cores. | ||
| We generally recommend native execution for services that run on smaller instances up to two vCPUs with roughly two to four gigabytes of RAM, where startup time and memory footprint dominate cost and user experience. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| We generally recommend native execution for services that run on smaller instances up to two vCPUs with roughly two to four gigabytes of RAM, where startup time and memory footprint dominate cost and user experience. | |
| We generally recommend native execution for services that run on smaller instances, up to 2 vCPUs with roughly 2-4 gigabytes of RAM, where startup time and memory footprint dominate cost and user experience. |
| We generally recommend native execution for services that run on smaller instances up to two vCPUs with roughly two to four gigabytes of RAM, where startup time and memory footprint dominate cost and user experience. | ||
|
|
||
| JVM execution, by contrast, takes longer to start and warm up. | ||
| However, it can achieve higher peak performance through just-in-time compilation, it scales well beyond two cores, and it offers more capable garbage collectors and tuning options. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| However, it can achieve higher peak performance through just-in-time compilation, it scales well beyond two cores, and it offers more capable garbage collectors and tuning options. | |
| However, it can achieve higher peak performance through just-in-time compilation. It also scales well beyond two cores and it offers more capable garbage collectors and tuning options. |
|
|
||
| Choose the mode that matches your workload profile, cold-start targets, and cost envelope, and let Quarkus maintain a consistent development model across both paths. | ||
|
|
||
| * If you optimize for native execution, audit reflection and resource usage, enable dead-code elimination friendly patterns, and consider profile-guided optimizations where appropriate. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| * If you optimize for native execution, audit reflection and resource usage, enable dead-code elimination friendly patterns, and consider profile-guided optimizations where appropriate. | |
| * If you optimize for native execution, audit reflection and resource usage, enable dead-code elimination-friendly patterns, and consider profile-guided optimizations where appropriate. |
|
|
||
| Quarkus also includes structured health checks, metrics, and tracing, which align the runtime with production standards from day one. | ||
|
|
||
| Taken together, these in production choices provide measurable wins, as the next examples illustrate. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Taken together, these in production choices provide measurable wins, as the next examples illustrate. | |
| Taken together, these in production choices provide measurable wins: |
|
|
||
| === Building your stack with Quarkus | ||
|
|
||
| We will explore this topic in depth in part three of this series. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| We will explore this topic in depth in part three of this series. | |
| We will explore this topic in depth in part 3 of this series. |
|
|
||
| Frameworks can serve as a foundation for creating higher-level abstractions. | ||
|
|
||
| Quarkus fits naturally into this model—not by becoming a platform itself, but by enabling teams to build their customized stacks and frameworks on top of it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Quarkus fits naturally into this model—not by becoming a platform itself, but by enabling teams to build their customized stacks and frameworks on top of it. | |
| Quarkus fits naturally into this model — not by becoming a platform in itself, but by enabling teams to build their customized stacks and frameworks on top of it. |
|
|
||
| By packaging Quarkus extensions, curated defaults, and service templates into an internal Quarkus stack, teams focus on business logic. | ||
| At the same time, your framework layer standardizes infrastructure, security, and operational integrations across services. | ||
| This has been exemplified by Logicdrop, which refactored its entire Spring Boot stack with Quarkus, reducing container size by ~75%, achieving sub-second startup times, and significantly improving developer productivity. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| This has been exemplified by Logicdrop, which refactored its entire Spring Boot stack with Quarkus, reducing container size by ~75%, achieving sub-second startup times, and significantly improving developer productivity. | |
| This has been proven by Logicdrop, who refactored their entire Spring Boot stack with Quarkus, reducing container size by ~75%, achieving sub-second startup times, and significantly improving developer productivity. |
(In terms of grammar, companies are typically referred to as groups of people, rather than inorganic items/things)
| This dual role helps teams standardize practices, reduce costs, and ship resilient cloud-native services. | ||
|
|
||
| Quarkus is built in the open under the Apache License 2.0, governed with the Commonhaus model, and developed end-to-end on GitHub. | ||
| Beyond the core project, the ecosystem includes the link:https://hub.quarkiverse.io/[Quarkiverse Hub], a community-run collection of Quarkus link:https://quarkus.io/extensions/[extensions] and related projects. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Beyond the core project, the ecosystem includes the link:https://hub.quarkiverse.io/[Quarkiverse Hub], a community-run collection of Quarkus link:https://quarkus.io/extensions/[extensions] and related projects. | |
| Beyond the core project, the ecosystem includes the link:https://hub.quarkiverse.io/[Quarkiverse Hub], a community-run collection of link:https://quarkus.io/extensions/[Quarkus extensions] and related projects. |

A second blog post, the purpose of which is to showcase Quarkus' strengths from the two points of view:
One as a runtime, the second as a framework.