Exadra37

Exadra37

I saw today this article about uni-kernels and I would like to ask:

  • If any member of the community have already played with uni-kernels?
  • Is this something where the BEAM can run on top? (sorry if I am asking something dumb here…)

It seems like the DevOps world is consistently refactoring it’s existence yet at the same time smashing into other domains of the business. Recently, security has been one of those domains creating the new discipline of DevSecOps — that is, applying DevOps principles towards security. This has created an opportunity for an obscure infrastructure paradigm to start to take hold.

Unikernels are an emerging infrastructure deployment pattern that is going in every direction very fast. What is a unikernel though? Simply put, unikernels are the equivalent of deploying your application as it’s own operating system. Since developers predominately deploy their applications on top of Linux virtual machines, unikernels are a way to package your application as it’s own virtual machine in lieu of sitting on top of something like Linux. Is it like a container? Well, there are a few definitions but the concept is relatively old.

Showing Posts 1 to 3

hauleth

hauleth

There was LING (earlier known as Erlang On Xen) but it seems dead. Unfortunately unikernel idea was killed by containerisation (in form of Docker), however I still count that one day it will come back as an great idea it is. Right now the nearest we can get to the unikernel in BEAM world is Nerves I believe.

outlog

outlog

yeah, from my limited understanding I would think nerves fits within the unikernel concept..

you can use Nerves to deploy “real” servers Running Nerves on Amazon EC2 it’s not only for Rpi..

rickp

rickp

This is interesting - as I signed up to this forum to find out a little more about using rebar3 build tools from mix. The reason is that we have a plugin for rebar3 that takes an Erlang/OTP release and turns it into a unikernel image ready to run onto of Xen, KVM, AWS etc. I’m curious as to how to support elixir - I can see how to generate an OTP release using distillery, but the next step isn’t clear.

We’re actually using OSv and running the beam ontop of that. There are a couple of gotchas - there’s no fork() in OSv as its a true unikernel, so we use a slightly modified Erlang/OTP release (just to be included in the unikernel image, you use your normal toolchain when compiling). The rebar3_osv plugin includes a bare OSv image which is then spun up and the Erlang/OTP release pushed into it.

The result is a unikernel image which runs under a bunch of hypervisors. On startup it can use cloud-init to modified startup files, then the erlang application is started. There’s no kernel/user space split but almost everything works as you’d expect. The main missing feature is ports (which would require fork()).

There’s a bit more, with a noddy demo here: GitHub - OtoloNetworks/rebar3_osv: Turn an Erlang/OTP application into a Unikernel image · GitHub

If anyone has any suggestions as to how to make this work with mix+distillery, I’m all ears!

— All posts loaded —

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 92995 915
New
AstonJ
The obligatory hello world thread! Who are you and where are you from? :stuck_out_tongue:
4616 55835 594
New
caslu
I want to open this thread for you all to discuss and help those who really like Ash but are still hesitant to use it in a real project. ...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
Herve37
We’re evaluating API mocking tools for OpenAPI-based projects and would love to hear what other teams are using. We’re particularly inte...
New
matt-savvy
Is there a word for the ~> symbol used in Version strings? Do you also just call it a Squiggle Arrow™ ?!
New
GES233
I’m posting this in response to Jose’s recent tweet (Cr. link) : People are sleeping on Elixir for a coding harness: Hot-code swappi...
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New
webofbits
Aludel - LLM Evaluation Workbench Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews