
NFV Platforms with MirageOS Unikernels - amirmc
http://unikernel.org/blog/2016/unikernel-nfv-platform
======
runeks
I really want to play with HaLVM at some point. Unikernels are fascinating to
me. Think of how many server hours we can save by just booting up a unikernel
on each incoming request.

The problem with HTTP, for me, is that I need to have some program running,
listening on a port, in order to access the functionality that I've chosen to
expose behind a REST API.

With unikernels, RESTful web servers go from being a special kind of function,
that requires an always-running executable, to the executable being "applied
to" incoming requests, as needed. So a DNS server can basically take an
incoming request, boot up a unikernel in 20 ms, reply with the unikernel IP,
and the newly started unikernel will receive the actual request data shortly
thereafter. This feels more like "applying a web function" to an incoming
request, and throwing away that function when the connection is closed - like
a garbage collector, of sorts. Rather than having some executable sit and wait
for data on a TCP socket, it would be nicer to be able to distribute web apps
as shared objects: loaded into memory when needed and applied to a request.

~~~
moosingin3space
This actually sounds like how you would do this in Erlang - and it's really
elegant because WebSockets/Server-Sent Events are simply encapsulated in
processes spawned when the request is received. I don't know if this is how
Erlang webservers actually work, but this is how I'd do it.

~~~
gooseyard
you might be interested in [http://erlangonxen.org/](http://erlangonxen.org/)
(LING) if you haven't seen it already!

~~~
abrookewood
I'm pretty sure this has been abandoned. Hasn't had any updates in a really
long time. "Latest commit bc97a26 on 12 Oct 2015".

One of the contributors recently wrote: maximk commented on 25 May "All recent
updates to the code were customer-driven. New users mean new updates. The
likely application area for this is NFV, modular software for telecoms. No
definite plans"

[https://github.com/cloudozer/ling](https://github.com/cloudozer/ling)

~~~
amirmc
It's not abandoned AFAIK, it's a small team that does consulting and they have
to prioritise work for customers. When that coincides with Ling they can make
progress. I've heard this from more than one unikernel/LibOS project.

~~~
abrookewood
Well that's better than it being dead in the water. It looks pretty cool.

------
sargun
How are most of you able to do uni kernel deployment and development? I've
found that my primary deployment target (AWS EC2) is disqualified since most
of these run times need hardware virtualization support.

~~~
liuw
I think EC2 supports both PV and HVM guests, right?

~~~
sargun
Yeah, but you can't really run a unikernel directly on EC2, you'd want to run
RHEL / Ubuntu / etc.. on EC2, and then a unikernel in that.

