BEAM on Unikraft?

I stumbled on Unikraft: https://www.unikraft.org/ Which is a unikernel for virtual machines that is nearly POSIX compliant. They already ported applications like nginx or redis with minimum effort. They also have a good video presentation:

I think the BEAM can be a a very good upper level to Unikraft to provide a sane “userspace” functionality. Does anyone here have more information or experience to share?

7 Likes

In case anyone is wondering what unikernels are:

What are unikernels?

Unikernels are specialised, single-address-space machine images constructed by using library operating systems.

Unikernels shrink the attack surface and resource footprint of cloud services. They are built by compiling high-level languages directly into specialised machine images that run directly on a hypervisor, such as Xen, or on bare metal. Since hypervisors power most public cloud computing infrastructure such as Amazon EC2, this lets your services run more cheaply, more securely and with finer control than with a full software stack.

Unikernels provide many benefits compared to a traditional OS, including improved security, smaller footprints, more optimisation and faster boot times.

From the same site here’s a list of unikernel projects that @jc00ke (in a post on Devtalk some time ago) said might be worth looking into.

I personally can’t see a situation where I’d need to use one or why I’d need to move away from dedicated servers with a RHL based distro, but if I did I would be most interested in FreeBSD :003:

4 Likes

Here’s some more about Erlang on Xen. Sadly, the demo site is no longer available - as best I recall, it used to spin up Erlang on a new hypervisor instance for each get request and time it. It was pretty damn quick.

5 Likes

Also found this PDF Phil - ‘Ling’ which runs on Xen:

Was that link at the bottom the demo site?

2 Likes

GRiSP is actually Erlang on Unikernel. For the commonly known use-case we use RTEMS as Unikermel to run on direct hardware. There is a fork replacing RTEMS with OSv which is also a Unikernel made for running on Hypervisors.

Planning to bring this back into the mainline GRiSP toolchain, so one can build Erlang to run on Real Bare Metal™ and Virtual Machines. We will be needing the latter soon so stay posted.

Erlang on Xen or LING had the disadvantage that it was a modified Erlang Runtime, which has the disadvantage that its very hard to keep up and that’s probably the main reason its no longer up to date. Thats why we went with vanilla Erlang VM lightly patched for GRiSP

11 Likes

You have just make me more interested in buying GRiSP just to fund that idea. I would :heart: to see Erlang Unikernel in a form that can be deployed on the mainline cloud providers. That would remove so much maintenance overhead.

4 Likes

Hey I have some large amr64 machines that are just begging to run a bare metal GRiSP! Please tell us more.

2 Likes