Already exists for Erlang. Here is a demo: http://erlangonxen.org/ Site is running on such a VM as well, press escape for a console to see stats. Here is an example output from running their demo: --- 300 sec : is how long it takes to launch a Linux instance to availability on Amazon EC2. 50 sec : is the time between power on and the lock screen for an Android phone. 0.4 sec : ago is when we received your request. Wi…
Magnus' version builds a static set of unikernels whose total resource usage is known ahead of time, and boots them based on DNS lookups as necessary. Because there is a race between a DNS response, the first TCP SYN from the client, and the VM booting up to receive it, there is a helper unikernel called "Synjitsu" which terminates TCP connections and replays them to the MirageOS unikernel as soon as it boots up. This is very easy due to the OCaml TCP/IP stack in Synjitsu sharing its state via serialising it into an s-expression. More gory details in http://anil.recoil.org/papers/2015-nsdi-jitsu.pdf
Now, imagine a version of Synjitsu that did this handover with TLS connections rather than just TCP. The recipient unikernel wouldn't ever even have to know the private key, just the ephemeral session key...