MicroProfile for multi-app appserver deployments

134 views
Skip to first unread message

John Clingan

unread,
Mar 17, 2025, 4:29:12 PMMar 17
to MicroProfile
When we think of MicroProfile, we think Microservices. Microservice deployments tend towards single-stack deployments. However, this is not always the case.

When writing specs, I tend to think of the single-stack deployment use case. This may lead to assumptions in specs and perhaps the TCKs as well. Does MicroProfile, in its current form, cause difficulty for supporting multi-app deployements?

Fabio Burzigotti

unread,
Mar 18, 2025, 3:06:55 AMMar 18
to microp...@googlegroups.com
Thanks John,
  This is a very good topic, at least to me.
or at least I feel that a clarification around it would be appreciated by the community.

I've been dealing with the integration of some specs already, and just recently made some changes to the MicroProfile Health integration in WildFly, and fixed it to cover one specific implementation detail for multi-app (deployment) use cases.

Based on my experience, I think that the multi-app case should be an exception in a Microservices environment.
The rationale behind my statement is that such stacks can bring interactions and specifics which could be difficult to handle in a cloud native environment, where - again maybe it's just me - we tend to envision a 1-1 relationship between the workload and the single application that is executing it.

Flipping it around: in my humble opinion keeping it simple (or single ;) ) avoids a number of issues which could pop up in terms of configuration, or vendor implementation details, etc.

To answer your question, I'd say that it can definitely happen that those implementing or integrating the specs would think: "okay but then what should I do if there's more than 1 deployment here?" and find no precise answer in the specs.

For such reasons it would be good to:
- keep the single app use case as the main one, and advertise it as the common best practice for Microservices applications
- when writing the specs, think - agnostically with respect to the potential implementations - about the multi-app use case, and add clarifications about potential solutions, typically by non mandatory ("SHOULD"/"SHOULD NOT") statements.

Hope this helps

Fabio.


On Mon, Mar 17, 2025 at 9:29 PM John Clingan <jtcl...@gmail.com> wrote:
>
> When we think of MicroProfile, we think Microservices. Microservice deployments tend towards single-stack deployments. However, this is not always the case.
>
> When writing specs, I tend to think of the single-stack deployment use case. This may lead to assumptions in specs and perhaps the TCKs as well. Does MicroProfile, in its current form, cause difficulty for supporting multi-app deployements?
>
> --
> You received this message because you are subscribed to the Google Groups "MicroProfile" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/microprofile/01109542-d35a-484a-abd0-199532c7ae26n%40googlegroups.com.

--
Fabio Burzigotti
Red Hat Middleware Engineering
fbur...@redhat.com

John Clingan

unread,
Mar 18, 2025, 11:31:29 AMMar 18
to MicroProfile
Keeping it simple and focused (microservices) is a valid approach. However, this would be eliminating a use case.  In a container world, single app stacks are defacto, I think. In a VM world, where customers take "bare metal" stacks and virtualize them, multi-app stacks are useful. It's unclear if I can use the word "Common".  In years past, I've talked to customers that have had 100+ of apps running on an appserver, with more bare metal deployments than VM. That takes time to unwind, if there is a desire to unwind at all to reduce risk. 

I don't think the multi-app use case is a long lived one, and I believe we are still in a transition period that started years ago. I'm kinda surprised this doesn't come up more, and maybe that it doesn't is a +1 for the simple/focused approach.

Emily Jiang

unread,
Mar 18, 2025, 11:45:02 AMMar 18
to microp...@googlegroups.com
Open Liberty supports multiple apps per server instance. In many MicroProfile Specs, there was a consideration regarding the multiapp scenario.
MP OpenAPI has this statement on the multiapp scenario.
MP Health has the following:
The current version of the MicroProfile Health specification does not define how the defined endpoints may be partitioned in the event that the MicroProfile runtime supports deployment of multiple applications. If an implementation wishes to support multiple applications within a MicroProfile runtime, the semantics of individual endpoints are expected to be the logical AND of all the application in the runtime. The exact details of this are deferred to a future version of the MicroProfile Health specification.
Thanks
Emily



--
Thanks
Emily

Brian Stansberry

unread,
Mar 18, 2025, 12:55:30 PMMar 18
to MicroProfile
WildFly supports multiple apps per server instance as well.  I've always felt that our support for it was on fragile ground though, as I wasn't sure how strong the consensus was in the MicroProfile community, particularly among the spec authors, that it was a use case to be taken into account and not lightly broken. So I'm glad to see this thread.

I've definitely been pleased to see over the years that various specs are explicitly acknowledging the multiple app use case.

John, I wonder if one reason this hasn't come up more is because it mostly just works.

Reza Rahman

unread,
Mar 18, 2025, 12:59:20 PMMar 18
to microp...@googlegroups.com

Quite possible. A surprising number of customers on Azure insist on doing this for one reason or the other.

donbo...@gmail.com

unread,
Mar 19, 2025, 11:04:46 AMMar 19
to MicroProfile
Multi-app servers have already been considered in some specs. 

To add to what Emily listed I know that MicroProfile Telemetry addresses configuration in a way that works for single and multi-app runtimes. MicroProfile Metrics does as well.


Arjan Tijms

unread,
Mar 19, 2025, 1:52:46 PMMar 19
to microp...@googlegroups.com
GlassFish supports multiple apps per server instance as well. We did struggle a little with the global health endpoint there for MP Health.

Kind regards,
Arjan Tijms

John Clingan

unread,
Mar 20, 2025, 4:22:01 PMMar 20
to MicroProfile
IMHO, we are finding enough interest here to formalize support for this where it is not specified. Each specification should formalize support (ex: Health), albeit with "Optional" support. Optional because not every runtime supports multi-app deployments. However, if supported, it would be beneficial to do so consistently. Worthy of a discussion, for sure.

@Brian, you may be correct in that this has "mostly" worked, Metrics aside. However, Metrics has been superseded by Telemetry. I hope this is the case.

Emily Jiang

unread,
Mar 21, 2025, 4:40:10 AMMar 21
to microp...@googlegroups.com
From my understanding, I think most specs have the consideration for multi apps as Open Liberty supports that and it's our interest to spec it under the optional parts. I was not aware of the missing piece.
Brian, please raise any issues if any specs missed the parts.

Thanks
Emily



--
Thanks
Emily

Brian Stansberry

unread,
Mar 21, 2025, 12:29:25 PMMar 21
to MicroProfile
Will do, Emily.
Reply all
Reply to author
Forward
0 new messages