Karaf on OSv

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Karaf on OSv

Ranx
I noticed some tests from a couple of years ago of someone running Karaf with
Equinox on OSv. Is anyone aware of any follow on or follow up to that,
especially with Felix.

Personally the use of a  unikernel with Karaf - a Karaf OS - makes so much
sense it was like a lightning bolt. Running the JVM as in a single process
kernel directly on the hypervisor skipping all the Linux and possibly
Linux/Docker overhead makes a lot of sense.

Right from the get-go, way back when Java was a tiny acorn, it was a gateway
application really intended to dominate its environment. Linux virtual
machines necessitated a solution like Docker to overcome an entirely
different set of problems.

This comment from Strachan resonated with me as I'd shared the same
concerns. The JVM and especially Karaf/OSGi on the JVM sitting in Docker on
Linux in hypervisors always looked like a technology in an ill-fitting suit
with a lot of security issues and bloat. Now, a unikernel with a single
process and all access going through the JVM with an OS tailored to running
the JVM, that's an entirely different thing.


"/I am a tad nervous for the JVMs long term future with containers, startup
time & memory footprint — seems anything new in the container/cloud world is
developed in golang (and to a lesser extent rust/node) due to the need for
small statically compiled binaries that startup fast and have low memory
overhead. Fingers crossed jlink and stuff helps!/"
https://medium.com/@jstrachan/fwiw-i-still-use-groovy-most-days-thanks-to-jenkins-pipelines-along-with-java-typescript-ef5f8b05acbe




--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html
Reply | Threaded
Open this post in threaded view
|

Re: Karaf on OSv

Ranx
Interesting. There aren't any thoughts, insights, rants, or wonky input?



--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html
Reply | Threaded
Open this post in threaded view
|

Re: Karaf on OSv

jgoodyear
Not aware of any updates RE Karaf on OSv.

That being said, always happy to read about Karaf on different platforms.

Cheers,
Jamie
On Mon, Aug 13, 2018 at 3:00 PM Ranx <[hidden email]> wrote:
>
> Interesting. There aren't any thoughts, insights, rants, or wonky input?
>
>
>
> --
> Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html
Reply | Threaded
Open this post in threaded view
|

Re: Karaf on OSv

jbonofre
In reply to this post by Ranx
Hi,

I didn't get any feedback about Karaf running on OSv. Unfortunately I
don't have the required hardware to do some tests/PoC.
I would be more than happy to try, provide help or gather feedback.

Regards
JB

On 13/08/2018 19:22, Ranx wrote:
> Interesting. There aren't any thoughts, insights, rants, or wonky input?
>
>
>
> --
> Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html
>
Reply | Threaded
Open this post in threaded view
|

Re: Karaf on OSv

Ranx
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
Reply | Threaded
Open this post in threaded view
|

Re: Karaf on OSv

fpapon
Hi,

Your feedback is very interesting :)

In the last release 4.2.1 of Karaf, there is a new feature for managing
docker. With this feature we can build an image and a container on the
fly of the runing instance of Karaf. This is something that could be
helpfull for building VM or update a cloud deployment.

regards,

François Papon
[hidden email]

Le 20/08/2018 à 23:52, Ranx a écrit :

> 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

François Papon
fpapon@apache.org
Yupiik - https://www.yupiik.com
Reply | Threaded
Open this post in threaded view
|

Re: Karaf on OSv

Ranx
And I know that Docker is working with unikernel management as well but I
haven't gotten into that too much.

When I encountered the idea of Xen<->unikernel<->JVM with fast start up and
shut down speeds, small security attack surface, and single kernel process
running a single application, it was an epiphany. That nagging, gnawing
issue I had with Docker became clear. I suspect it was the same nagging,
gnawing concern that motivated James Strachan's comments about his concern
with the future of the JVM.





--
Sent from: http://karaf.922171.n3.nabble.com/Karaf-Dev-f930721.html
Reply | Threaded
Open this post in threaded view
|

Re: Karaf on OSv

Ranx
In reply to this post by fpapon
By the way, here's a good overview of Docker/unikernel as well. I'm not sure
if it is really important with Karaf but that will be driven quite a bit by
how Docker, unikernels and Karaf all converge in this brave new world of
running together.

https://blog.docker.com/2016/01/unikernel/

http://unikernel.org/



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