Live data from Hacker News

Mirage – A programming framework for building type-safe, modular systems

mirage.io

51–60 of 92 posts

Re: Mirage – A programming framework for building type-safe, modular systems

#51

Does anyone know if there might be Arm support coming? This strikes me a a nice fit for some single board computers.

in the overview page they mention something (deployment to embedded devices) https://mirage.io/docs/overview-of-mirage

EDIT: here as well: https://mirage.io/docs/install maybe you need a Solo5 backend that can run on ARM; and finally: https://github.com/Solo5/solo5/blob/v0.6.3/docs/building.md#...

Re: Mirage – A programming framework for building type-safe, modular systems

#52
post #39

What is the benefit over using containers, as in Docker? Whether you use a container runtime or an actual hypervisor comes down to pretty much the same thing, operationally. Both keep your self-contained services alive and distributed. From the application perspective, a container also contains only those parts of an OS the app actually needs, and defers everything else to the host. The only caveat about MirageOS see…

It makes no sense for a microservice that does one simple thing to run on top of 10 million lines of 90s C code. Especially since a lot of that code has to do with hardware quirks that don’t exist in a hypervised environment.

Re: Mirage – A programming framework for building type-safe, modular systems

#53
post #43
post #14

Earlier quoted context omitted.

> there's little need to SSH into the system in the first place (except for debugging purposes). Pretty big except though. This concept has been done multiple times and has always failed. It's solving a problem that few care about.

In the kind of corporate environments I work on, you won't be doing any SSH into the production containers. Nothing that a classical UNIX admin would expect is installed on those images.

Yes. Welcome to the hell of "No debugging, no fixing anything. Call vendor support and hope for the best"

Re: Mirage – A programming framework for building type-safe, modular systems

#54
post #33

Earlier quoted context omitted.

Mirage is a unikernel. The catch here is Ocaml. You can design your unikernel "bare metal" in any way you want and make it do nothing but the essentials you need ... and design it in any language you want as long as that language is OCaml.

And on that note, I just found this list of UniKernel projects: http://unikernel.org/projects/ I have especially had hopes for the UniK [1] project, as it was/is written in Go AFAIK. I see now it incorporates work from the Mirage project as well. Not sure what is the status of this project anymore though. [1] https://github.com/solo-io/unik

I didn't read your message, so I just clicked and I found that great nice project from Solo.io (the company behind Gloo Edge, etc.). Freaking awesome... I thought:

> Not sure what is the status of this project anymore

what the hell! :D last commit was 4 years ago!

Re: Mirage – A programming framework for building type-safe, modular systems

#55
post #10

Earlier quoted context omitted.

Isn’t this the same idea behind unikernels?

Mirage is a unikernel. The catch here is Ocaml. You can design your unikernel "bare metal" in any way you want and make it do nothing but the essentials you need ... and design it in any language you want as long as that language is OCaml.

I tried to search if there are easy ways to do bindings to other languages. There seems to be bindings to C which should make it easier to do bindings to other languages too, but I am not sure whether someone has done that work just yet. Until then, I really doubt this thing will fly. Great project, nothing to say, but OCaml, ...

Re: Mirage – A programming framework for building type-safe, modular systems

#56
post #8

I'm really sold on the idea: Instead of a full-blown OS, you compile your application with a thin layer of support libraries that provide the OS features that your application needs (network, I/O) and that talks to a hypervisor. I mean, if your application runs in a virtualized environment, there's little need to SSH into the system in the first place (except for debugging purposes). Thus, why bother with a full-blow…

> I'm really sold on the idea: Instead of a full-blown OS, You mean you are sold on the idea of going back to the 80s. We used to have an operating system with every game released[1]. 1. https://youtu.be/kZRE7HIO3vk?t=1114

I think many designs in tech have two states between which they oscillate. We don't go back exactly to the same thing, we do improve on things, but things are very similar to the way they were done 20-30 years ago (or 40 in this case)

Re: Mirage – A programming framework for building type-safe, modular systems

#57
post #43
post #14

Earlier quoted context omitted.

> there's little need to SSH into the system in the first place (except for debugging purposes). Pretty big except though. This concept has been done multiple times and has always failed. It's solving a problem that few care about.

In the kind of corporate environments I work on, you won't be doing any SSH into the production containers. Nothing that a classical UNIX admin would expect is installed on those images.

Those kind of corporate environments would also never use a technology like MirageOS that very few people know how to use.

Re: Mirage – A programming framework for building type-safe, modular systems

#59
post #43
post #14

Earlier quoted context omitted.

> there's little need to SSH into the system in the first place (except for debugging purposes). Pretty big except though. This concept has been done multiple times and has always failed. It's solving a problem that few care about.

In the kind of corporate environments I work on, you won't be doing any SSH into the production containers. Nothing that a classical UNIX admin would expect is installed on those images.

... we had to wait for k8s 1.25 to get ephemeral containers to get some tools ... (https://kubernetes.io/docs/tasks/debug/debug-application/deb...)

Re: Mirage – A programming framework for building type-safe, modular systems

#60
post #53
post #43

Earlier quoted context omitted.

In the kind of corporate environments I work on, you won't be doing any SSH into the production containers. Nothing that a classical UNIX admin would expect is installed on those images.

Yes. Welcome to the hell of "No debugging, no fixing anything. Call vendor support and hope for the best"

It is more like, what isn't there can't be used for CVEs.
Post reply on HN