News for hackers. Stuff that matters.
Re:Unikraft is a fast, secure and open-source Unikernel Deve... by nderjung on Monday February 07, 2022 @06:10PM (#30252785)
It really depends on your usecase here. If the many application processes rely on the same OS libraries, versioned language runtimes (e.g. same python version), kernel version, etc. AND you trust the OS then it may make sense. However, unikernels offer the lightweightness of a container process with the security of a VM. In addition to this, memory ballooning[0][1] and other resource-elastic features are available to VMs too: allowng you to under-provision them and then later increase resources when load demands it.

Unikraft unikernels can also be managed using the same orchestration tools as containers, check out the talk at CNCF[2].

[0]: https://github.com/unikraft/unikraft/pull/219

[1]: https://pmhahn.github.io/virtio-balloon/

[2]: https://www.youtube.com/watch?v=cV-xawN9_cg

Re:Unikraft is a fast, secure and open-source Unikernel Deve... by mwcampbell on Monday February 07, 2022 @08:38PM (#30253964)
> memory ballooning[0][1] and other resource-elastic features are available to VMs too

If I'm using a public cloud platform's hypervisor, those features may benefit the cloud provider, but not me. Or are you targeting users running a hypervisor on bare metal?

Re:Unikraft is a fast, secure and open-source Unikernel Deve... by nderjung on Tuesday February 08, 2022 @07:11AM (#30257500)
I think it can benefit both parties -- underprovisioning for a smaller bill and then increasing when demands need it so as to prevent degregation in QoS. That said, if load increases exponentially high it can induce high costs. Some cloud providers do not offer memory (or just any resource) ballooning, like AWS, so there you will experience the problem you have discussed about over-provisioning. However, we aim to alleviate some of these problems with the uniqueness of Unikernels with our soon-to-be-released Cloud Platform at https://unikraft.io. Features like memory ballooning (with hard upper limits) and other features like deep in-kernel monitoring to understand application performance.