Cool! Can this be used with languages other than C++?
IncludeOS – A minimal, resource efficient unikernel for cloud services
21–30 of 85 posts
Re: IncludeOS – A minimal, resource efficient unikernel for cloud services
#22Re: IncludeOS – A minimal, resource efficient unikernel for cloud services
#23Earlier quoted context omitted.
What other unikernel companies did they buy?
Unikernel Systems, which is cool because it is OCaml based. Their stuff is open source too: https://mirage.io
Re: IncludeOS – A minimal, resource efficient unikernel for cloud services
#24Cool! Can this be used with languages other than C++?
Appears to be C++ only based on my reading. Here's a nice list of unikernel projects, some with more portability in mind than others: https://github.com/cetic/unikernels#existing-projects
Re: IncludeOS – A minimal, resource efficient unikernel for cloud services
#25Re: IncludeOS – A minimal, resource efficient unikernel for cloud services
#26Earlier quoted context omitted.
Appears to be C++ only based on my reading. Here's a nice list of unikernel projects, some with more portability in mind than others: https://github.com/cetic/unikernels#existing-projects
Looks nice, thank. There is github.com/solo-io/unik as well. Had no time to check it out yet.
Re: IncludeOS – A minimal, resource efficient unikernel for cloud services
#27- There is the argument of reduced attack surface/typechecked safety. I get that, but I don't see how this is different from compiling custom Linux/NetBSD kernels per VM?
- There is the argument for increased performance. I don't get that at all -- I've done experiments on unikernel system for MirageOS vs IncludeOS vs Kernel on a web and memcache server and the performance results were worse (15%), 0.4% better respectively for MirageOS respectively but for a tonne more effort and really painful debugability.
- There is the argument for isolation but I don't see how it's different because the biggest cause of churn is the hypervisor? My results with Xen 4.x didn't show any difference in isolation performance with both Include and Mirage.
- There is the argument that OSes don't map to existing hardware as well, e.g. in the InfoQ talk in the comments the speaker talks about PCIe VFs for example. All of these VFs map to physical resources, and you end up doing a much worse job when you can't centrally manage these -- that's one of the main reasons SR-IOV hasn't been adopted (including the fact that migration is non-existent). Similarly with CPU hardware threads or NVMe device drivers -- they are abstractions provided for convenience and reducing the burden of porting existing drivers to work in hypervisor environments but surely the same issues that appear with VM contexts (hardware scheduling and isolation) still exist in unikernel environments? I feel I'm missing something in particular about this point as I see it made often and it doesn't make sense to me.
- How do unikernels work in a world of containers? This has always puzzled me as I thought people moved away from VMs due to the heavyweight nature but of course the flip side is the underlying isolation abstractions are more lightweight -- so in essence are unikernels in containers user-level processes or are they replacing the kernel bits too?
Re: IncludeOS – A minimal, resource efficient unikernel for cloud services
#28Do these unikernel OSs tend to be language specific? Like if this app is written in x language, use y OS?
Re: IncludeOS – A minimal, resource efficient unikernel for cloud services
#29OSv is another, compatible with some unix apps http://osv.io
Re: IncludeOS – A minimal, resource efficient unikernel for cloud services
#30Currently if you want to use containers and Serverless you'll need to spin up 200+MB of linux bistro + tons of dependancies that have nothing to do with what you originally planned, that's to say running a container with a virtual machine on it.
This kernel would allow to replace Unix for a much more lightweight (1MB) and efficient kernel to run programs on it with an hypervisor.
This is promising.