article on Unikernels, Rump/Mirage collaboration

Martin Lucina martin at
Thu Feb 5 15:31:22 UTC 2015

Hi Anil,

I'm working on a Rump Kernels contribution to the "rise of Unikernels"
piece Sarah Conway is preparing for  As part of that I'd like to
highlight potential collaboration between Rump Kernels and Mirage,
specifically the Mirage+Synjitsu frontend -> Rump Kernel PHP (or other
application) backend scenario.

I want to make sure I'm not making any false claims - here is my draft
answer to Sarah's question on this:

> Please expand on the collaboration you'd like to engage in with MirageOS
> and Anil (combination of a Mirage Unikernel using Jitsu to handle
> just-in-time launching of Rump Kernel powered Unikernels to run existing
> "legacy" applications is a unique solution which I think is quite valuable.
> Why do you think this will be valuable? What type of applications will this
> benefit the most?

Jitsu is unique in enabling deployment of Unikernels on a just-in-time
basis, eg. in response to a HTTP request. However, you still need to
write your applications from the ground up in Ocaml. Combined with Rump
Kernel powered Unikernels that requirement goes away and applications
can be developed using any language stack, or existing applications can
be retargeted to run on Unikernels.

I think this technology could be a game-changer in two areas. Firstly,
enabling new cloud services to emerge where the customer would be billed
on the basis of how much CPU time they actually consumed to serve
requests, rather than how much time a virtual machine spent running
while not necessarily doing anything.

Secondly, once support for virtualisation on ARM trickles down to
consumer devices such as routers and smartphones this would enable safe
deployment and power-efficient operation of microservices on these

Think of AWS Lambda, but running any application stack, anywhere.

Both Justin and Antti have pointed out to me that (as far as they know) you
do have Ocaml <-> C interop working, which would mean that my claim of
Mirage requiring applications to be written in Ocaml from the ground up is

Is this the case? Can you use existing C libraries as part of your Ocaml


More information about the nginx-devel mailing list