Skip to content

Conversation

@MichalMaler
Copy link
Contributor

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.

@github-actions
Copy link

github-actions bot commented Oct 22, 2025

🎊 PR Preview 7c82eb6 has been successfully built and deployed to https://quarkus-site-pr-2441-preview.surge.sh

  • Images of blog posts older than 3 months are not available.
  • Newsletters older than 3 months are not available.

@MichalMaler MichalMaler force-pushed the mickey-quarkus-blog-post-2 branch 2 times, most recently from 535a64e to 8925b58 Compare October 22, 2025 14:56
@MichalMaler MichalMaler changed the title Quarkus as a powerful runtime - Blog post #2 Quarkus: Runtime and Framework for Cloud-Native Java - Blog post #2 Oct 22, 2025
@Ladicek
Copy link
Contributor

Ladicek commented Oct 22, 2025

LGTM otherwise.

@MichalMaler MichalMaler requested a review from Ladicek October 22, 2025 15:48
Copy link
Member

@jponge jponge left a 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

Copy link
Member

@gsmet gsmet left a 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.

@MichalMaler MichalMaler marked this pull request as draft October 23, 2025 16:23
@MichalMaler MichalMaler force-pushed the mickey-quarkus-blog-post-2 branch 2 times, most recently from 20bb765 to b07079a Compare October 23, 2025 17:07
@MichalMaler
Copy link
Contributor Author

@jherrman, May I request your language expert review? :)

@MichalMaler
Copy link
Contributor Author

MichalMaler commented Oct 23, 2025

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.

@gsmet
I changed it to a neutral tone. Now I am not quoting Google or anything. Just pointing to an article I am using as a reference.

Copy link

@jherrman jherrman left a 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.

@MichalMaler MichalMaler force-pushed the mickey-quarkus-blog-post-2 branch 3 times, most recently from 12c7f07 to 947315f Compare October 27, 2025 16:35
@MichalMaler MichalMaler marked this pull request as ready for review October 27, 2025 16:36
@MichalMaler
Copy link
Contributor Author

@cescoffier Hello Clemenet!
May I request your review and hear your two cents on this? :)
Kind regards,
M.

Copy link
Member

@cescoffier cescoffier left a 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.

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]>
@MichalMaler MichalMaler force-pushed the mickey-quarkus-blog-post-2 branch from cc30338 to c58c10c Compare October 31, 2025 14:39
Signed-off-by: Michal Maléř <[email protected]>
Copy link

@jherrman jherrman left a 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.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* 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.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Quarkus fits naturally into this modelnot 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 modelnot 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.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants