3 ms·
I'm confused. If you're writing OCaml in the first place, why not just directly run it on MirageOS? The obvious benefit of a JS VM unikernel is that you get to
by namuol 11y ago
I'm confused. If you're writing OCaml in the first place, why not just directly run it on MirageOS?
The obvious benefit of a JS VM unikernel is that you get to write your application in JavaScript...
- jordwalke 11y agoIt's not clear to me and I don't have any experience with unikernels, so please accept my grain of salt and I apologize if I misspeak. If you're starting with MirageOS, then obviously makes sense to just run MirageOS a bare-metal hypervisor. But if you're starting with the assumption that you will be running in a JS VM, then you have two options: build a unikernel in JS, or compile one to JS. The later option (MirageOS compiled to JS) also happens to leave open the possibility of easily being ran on a bare metal hypervisor with the unikernel implementation itself also running on bare metal (without a language level virtual machine) - because OCaml executes without a language level virtual machine (it's more like C++ in that sense). > The obvious benefit of a JS VM unikernel is that you get to write your application in JavaScript... What are some reasons why that would be a good thing in the case of unikernels? (I'm genuinely asking) The type system and invariants that it enforces are one of the things that makes OCaml based unikernels such a compelling idea to me. JavaScript, although I obviously find it useful for many things, doesn't seem to have as much appeal in this case. Relevant to security: See MirageOS's Bitcoin Pinata project: http://amirchaudhry.com/bitcoin-pinata/ http://amirchaudhry.com/bitcoin-pinata/ Edit: Again, it's still cool to see this project, and it's a great way to get more people experimenting with the idea of unikernels.
- namuol 11y ago> What are some reasons why [using JS] would be a good thing in the case of unikernels? The same reason it would be a good thing to use JS under any circumstances: there's already a huge supply of developers familiar with it and its ecosystem, it's available on pretty much every platform (now including at least one dedicated unikernel environment), it's a natural fit for web application development, and so on. It's clear why unikernels and OCaml go together so nicely: immutability is a concept central to them both. That said, the affordances of using a unikernel seems fairly orthogonal to the choice of language, IMO.
- jordwalke 11y ago> it's available on pretty much every platform And now so is OCaml, Elm, PureScript, C++, and anything else that compiles to JS. > it's a natural fit for web application development, and so on. Now that other languages are beginning to compile to JS, they are also becoming increasingly natural for web app development. > there's already a huge supply of developers familiar with it and its ecosystem. This is definitely true.