Serge, Right. And all the issues you point out are compounded when you work in the VM/Docker/JVM world. If overall memory consumption and garbage collection are an issue in general, then carving up a VM to share a Linux distro among multiple JVMs in their own Docker images for Spring Boot instances is pretty lame.
With Karaf/OSGi whether I'm creating microservices or not can be largely a deployment issue. If I have a set of features that install the bundles associated with some functionality, I can install them in the same Karaf container and they'll play nicely together or I can install them in separate instances. I don't have the quote in front of me right now but when James Strachan left Red Hat about a year ago, he'd just completed working with them on creating the OpenShift environment with Kubernetes/Docker. As he left, he expressed his concern about the future of Java given these environmental concerns and the size of the JVM and its performance. I'd had a nagging suspicion and feeling about it and Spring Boot definitely fed into the sense of bloat and overkill in that environment. OSGi doesn't need fat jars for microservices like Spring Boot so doesn't need to use the JVM as a container. If the JVM in Docker is a problem then there really isn't much that Docker-JVM-Karaf brings to the table. -- Sent from: http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html