JB, Thanks. I'm looking at starting a project with a fellow consultant to put Karaf on OSv and run it as a unikernel. It's already been done even as long back as 3 years ago but it was on Karaf running Equinox.
In any case, we're looking at this in somewhat the same light as what you're proposing with SoYousz except a little lower level. The main idea is to jettison Linux and Docker to really get into cloud native and run the JVM/Karaf in the OSv unikernel on the hypervisor. Since there is only a single process with admin rights all kinds of I/O optimizations are going into the project. Optimizations that simply won't be possible in general purpose OS like Linux. There are a lot of benefits to Karaf running on a uniernel because it already overcomes a lot of limitations. You can imagine that if you can only run a single process it makes monitoring difficult. With Jolokia and Hawtio that's already in place. With features and Kar files along with Maven configuration and repositories with semantic version updating a lot of the mechanisms are in place for self-regulation and updating. But Java or other applications not built on OSGi generally or Felix/Karaf specifically simply won't have access to those mechanisms. I'm still trying to think this through but generally I'm looking to have a fairly static image of a virtual machine<->OSV<->JVM-<Karaf> that is unchanging and you fire it up on the hypervisor. Obviously I can set this up to pull requirements. I could drop Kar files. I could log in via the hawtio console and run a features install. And so on. Unfortunately it probably couldn't use the approach of the static compilation that profiles provide (which I otherwise like). But I'd find it highly desirable that the images run by the hypervisor essentially wouldn't change. Until I can dive into it a bit further and work out some kinks I won't really know. But I firmly believe that in a year or two we'll be firing up VMs of unikernels with JVMs on hypervisors regularly and that will be what cloud native JVMs mean. It will mean without the use of Linux or Docker in the mix. https://www.mikelangelo-project.eu/ -- Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html
