[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] Some thoughts on operating unikernel environments



On 25 August 2015 at 12:46, Thomas Leonard <talex5@xxxxxxxxx> wrote:
> On 22 August 2015 at 18:37, Gareth Rushgrove <gareth@xxxxxxxxxxxxxxxxx> wrote:
>> On 22 August 2015 at 12:34, Thomas Leonard <talex5@xxxxxxxxx> wrote:
>>> On 21 August 2015 at 17:07, Gareth Rushgrove <gareth@xxxxxxxxxxxxxxxxx> 
>>> wrote:
>>>> I'd managed to get a bunch of throughts out of how head an into blog
>>>> post form, on the theme of operating unikernels.
>>>>
>>>> The general gist is, assuming unikernels are awesome, how do we build
>>>> and run production systems based on them?
>>>>
>>>> http://www.morethanseven.net/2015/08/21/operating-unikernel-challenges/
>>>>
>>>> This is mainly a list of problems, I'd love to heard from anyone who
>>>> has done any hard thinking on any of them or cut any tools in this
>>>> space.
>>>
>>> Hi Gareth,
>>>
>>> A few thoughts:
>>>
>>
>> Thanks for replying.
>>
>>>
>>> "How do I compose several unikernels together to build an application?"
>>>
>>> I think you answer this later, in the Orchestration section: the same
>>> way we do with other VMs/containers - using Docker Compose, Ubuntu
>>> Juju, etc. I haven't built anything big enough to need this yet
>>> though.
>>>
>>
>> That's my view as well (CloudFoundry or Kubernetes model would appear
>> to work?) but I've not seen anyone doing this yet. Which probably
>> means gaps exist when you actually try :) If anyone takes a run at
>> this I'd certainly be interested, I'm guessing Lattice
>> [http://lattice.cf/] might be a nice place to start?
>
> Me too. Since Mirage services can also be compiled as Unix binaries it
> should be possible to test deployment configuration using existing
> systems right now. Then, it's "just" a matter of teaching the
> deployment system to deploy unikernel VMs directly, rather than
> deploying Linux VMs containing the service.

Yes, unikernels compiled for userspace are much easier to deploy using
existing tools, eg I have some almost like standard Docker userspace
rump kernels, which you can just docker run, eg
https://hub.docker.com/r/justincormack/rump-nginx-lua/

I tend to agree with Gareth though that the Xen interfaces are not very
well supported, as most people use Xen via cloud APIs not directly, and
this needs work, have some ideas here.

>> I also think unikernels could make for really nice network devices
>> (firewalls, security controls, proxies, etc.)
>
> Yes. Here's a simple unikernel for a NAT device, for example:
>
>   https://github.com/yomimono/simple-nat
>
>> Lots of people are finding the network the limiting factor when they
>> start down a microservices rabbit hole in my experience. How would
>> unikernels work with some of the newer players in this space like
>> Weave [http://weave.works/] or Calico [http://www.projectcalico.org/]
>> might be interesting to consider?

Calico should "just work", I do intend to try it soon. Mirage doesn't support
encapsulated networking weave or vxlan style, and interfacing with the
current implementations would add even more performance hit I suspect
due to the mismatch of the kernel/userspace mix.

Justin

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.