wildfly / wildfly-glow

Galleon Layers Output from War: Automatic discover of WildFly provisioning information from an application.
Apache License 2.0
7 stars 6 forks source link

Q: wildfly-glow for EAP? #83

Open torsten-liermann opened 2 months ago

torsten-liermann commented 2 months ago

Hello!

To what extent can wildfly-glow also be used to optimize an EAP installation, either as an image or a bootable JAR? Galleon supports EAP, as can be read here. It’s likely that this can also be done with wildfly-glow, and I simply haven’t understood this possibility yet. If it’s not possible, is such a feature planned?

Thanks!

jfdenise commented 2 months ago

@torsten-liermann , we are evaluating the opportunity to have Glow capabilities to be supported for EAP. It would help to get your feedback on how Glow could be useful for EAP: Tooling (CLI, maven-plugin, ...), integration (in eap-maven-plugin, ...). Thank-you.

torsten-liermann commented 2 months ago

I am currently in the process of evaluating how legacy applications based on EAP compare to Spring Boot applications across various metrics such as image size, RAM usage, and performance. Since Glow is not yet available for EAP, I am using the wildfly-maven-plugin version 5.0.0.Final to create an optimized image. The goal is to demonstrate that JBoss images are just as cloud-native capable as Spring Boot, Quarkus, or others, which ultimately suggests that new implementations are not necessarily required and that time and money are better spent on improving software quality, and so on.

jfdenise commented 2 months ago

@torsten-liermann , thank-you. Very interesting. So integration in the wildfly-maven-plugin seems more suitable in your case than the wildfly-glow CLI.

torsten-liermann commented 2 months ago

Unfortunately, I have to resort to using the Glow and Galleon CLI because legacy applications often consist of multiple artifacts, such as several EARs or multiple WARs, and so on. I had already asked in the community why the wildfly-maven-plugin is fixed on a single artifact. Either I missed something, or there is another mechanism to provision a JBoss server that needs to run multiple components.

jfdenise commented 2 months ago

@torsten-liermann , that is unrelated to WildFly Glow itself, using the WildFly Glow CLI (as you mentioned) allows to scan multiple deployments. We should see how the WildFly Maven Plugin can be evolved with multiple deployments. @jamezp FYI.

jfdenise commented 2 months ago

@torsten-liermann , you could use the CLI scripts to deploy the extra deployments. You would need to first resolve the dependencies (ear, war, ...) in a given directory then call the CLI deploy action. Would that work for you?

torsten-liermann commented 2 months ago

The deployment I can manage, but what I'm concerned with is the provisioning of the WildFly server. I want glow to automatically determine the necessary add-ons by inspecting all artifacts.

jfdenise commented 2 months ago

Good point @torsten-liermann , yes, we need a specific support.

torsten-liermann commented 2 months ago

I’ve placed a small example on GitHub: https://github.com/torsten-liermann/wildfly-multiapps. The demo doesn't create an optimized WildFly installation using the wildfly-maven-plugin because it can't handle multiple apps—see provisioning/pom.xml. I’ve continued the discussion in the WildFly Google Groups.

jfdenise commented 2 months ago

@torsten-liermann, FYI: https://issues.redhat.com/browse/WFMP-269 this capture the issue and describes a possible solution. Feel free to comment. Thank-you.