Unikernels + Elixir in 2020


I wanted to post and ask if anyone has played with unikernels and elixir in 2020? I saw there was this post early last year and also saw that nanovm / ops has an elixir example.

Hi @rickp, wanted to tag you here as I saw you posted in the previous post about unikernels. Not sure if the above technology would be helpful to you.

I am also curious if anyone sees the need to use unikernels with elixir.

Thank for taking the time :call_me_hand:


Once upon a time there was LING (also known as Erlang on Xen), however this project seems pretty dead nowadays. There are other unikernels like Rump that have examples for Erlang. My problem with NanoVM is that it is closed source while there are other, open-source, projects that supports such approach.

In general from what I see the idea of unikernels pretty much died out (that is a shame) and waits for better times.

From the “high level” viewpoint the Nerves is the most unikernelish thing in the Erlang world right now.

And IMHO Erlang is perfect environment for unikernels runtime language, as it is mostly a operating system on it’s own, so removing one layer (“real” OS) wouldn’t harm 90% of Erlang applications while it would provide obvious benefits.


Just saw this comment and wanted to correct it.

Nanos and OPS are most definitely completely open source under the apache 2 license.

https://nanos.org && https://ops.city are their community based websites.

https://github.com/nanovms/nanos && https://github.com/nanovms/ops are their open source repos.

Curious - why did you think it was closed source?

I couldn’t find information about it on NanoVMs page and I remember that when they started (and that was a little bit time ago) it wasn’t opensourced.

Ah I see what you were referring too, yeh it’s been open source for something like 1.5 yr now. We actually had to do some special tasks (including a few patches to erlang https://github.com/nanovms/erlang ) to get Elixir working https://github.com/nanovms/ops-examples/tree/master/elixir and I’d imagine we have more work to do here as well to get a better/tighter integration.