karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ranx <r...@enjekt.org>
Subject Re: Karaf on OSv
Date Mon, 20 Aug 2018 19:52:26 GMT

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.


Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html

View raw message