jonericcook

jonericcook

Unikernels + Elixir in 2020

Hello,

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:

Most Liked

eyberg

eyberg

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 GitHub - nanovms/erlang: patches for erlang to run on Nanos · GitHub ) to get Elixir working ops-examples/elixir at master · nanovms/ops-examples · GitHub and I’d imagine we have more work to do here as well to get a better/tighter integration.

hauleth

hauleth

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.

eyberg

eyberg

Note: I’m not an active elixir dev so there most definitely are probably better methods to do this but..

In this example you can see we actually use ‘mix release’: ops-examples/elixir/02-phoenix at master · nanovms/ops-examples · GitHub . Elixir makes use of quite a few wrapping scripts to setup paths/env vars and that’s the most challenging aspect imo of running it under nanos as you need to declare all of that up front. I think there is definitely room here for extra/better tooling.

Other than that I wouldn’t say there are huge issues but yeh I think it would be good to try and get some newer releases cut. Let me know if you want to take a quick stab at it or if you run into any issues happy to take a look.

Where Next?

Popular in Discussions Top

Jayshua
I recently came across the javascript library htmx. It reminded me a lot of liveview so I thought the community here might be interested....
New
PragTob
Hello everyone, I know we had quite some threads (read through lots of them) about background job processing but it remains a hotly deba...
New
cvkmohan
The upcoming Phoenix 1.6 release looks very interesting. Became a habit to watch the commits - and - what they are bringing in. phx.gen...
New
laiboonh
Hi all, I am trying to convince my team to use liveview over the current react. What are some of the points where one should consider us...
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 53690 245
New
MarioFlach
Hello, I want to share a project I’ve been working on for a while: https://github.com/almightycouch/gitgud Background Some time ago I ...
New
chuck
Let me start by stating an assumption: Phoenix is a great approach to building REST APIs. There are many reasons for this, but I will ass...
New
Crowdhailer
I’ve been hearing much about the new formatter and it’s something I have been keen to try. I find examples buy far the most illuminating...
248 19204 150
New
Qqwy
I would like to spark a discussion about the static access operator: .. For whom does not know: it is used in Elixir to access fields of...
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New

Other popular topics Top

malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
johnnyicon
Hi all, I’ve just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I’m trying to use Postgres...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 39297 209
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New

We're in Beta

About us Mission Statement