Ask HN: How are you using unikernels?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • unikraft

    A next-generation cloud native kernel designed to unlock best-in-class performance, security primitives and efficiency savings.

  • The HN conversations around unikernels suggest that they're not ready for production yet [0] but feel free to set that record straight.

    In the meantime, a handful of organisations/individuals seem to be working on becoming "Docker for unikernels". That's probably an unfair description, but they're aiming to produce tools for building and managing unikernels: Unikraft [1], NanoVMs/Nanos [2], Unik [3]. Other orgs are producing unikernel-based OSs and VMs [4].

    What is your toolset for building and managing unikernels? What have you learned?

    Bonus question: is Unik dead? [5]

    [0] https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=unikernel&sort=byPopularity&type=story

    [1] https://unikraft.org/

    [2] https://github.com/nanovms/nanos

    [3] https://github.com/solo-io/unik/

    [4] http://unikernel.org/projects/

    [5] https://github.com/solo-io/unik/issues/172

  • nanos

    A kernel designed to run one and only one application in a virtualized environment

  • The HN conversations around unikernels suggest that they're not ready for production yet [0] but feel free to set that record straight.

    In the meantime, a handful of organisations/individuals seem to be working on becoming "Docker for unikernels". That's probably an unfair description, but they're aiming to produce tools for building and managing unikernels: Unikraft [1], NanoVMs/Nanos [2], Unik [3]. Other orgs are producing unikernel-based OSs and VMs [4].

    What is your toolset for building and managing unikernels? What have you learned?

    Bonus question: is Unik dead? [5]

    [0] https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=unikernel&sort=byPopularity&type=story

    [1] https://unikraft.org/

    [2] https://github.com/nanovms/nanos

    [3] https://github.com/solo-io/unik/

    [4] http://unikernel.org/projects/

    [5] https://github.com/solo-io/unik/issues/172

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • unik

    The Unikernel & MicroVM Compilation and Deployment Platform

  • The HN conversations around unikernels suggest that they're not ready for production yet [0] but feel free to set that record straight.

    In the meantime, a handful of organisations/individuals seem to be working on becoming "Docker for unikernels". That's probably an unfair description, but they're aiming to produce tools for building and managing unikernels: Unikraft [1], NanoVMs/Nanos [2], Unik [3]. Other orgs are producing unikernel-based OSs and VMs [4].

    What is your toolset for building and managing unikernels? What have you learned?

    Bonus question: is Unik dead? [5]

    [0] https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=unikernel&sort=byPopularity&type=story

    [1] https://unikraft.org/

    [2] https://github.com/nanovms/nanos

    [3] https://github.com/solo-io/unik/

    [4] http://unikernel.org/projects/

    [5] https://github.com/solo-io/unik/issues/172

    The HN conversations around unikernels suggest that they're not ready for production yet [0] but feel free to set that record straight.

    In the meantime, a handful of organisations/individuals seem to be working on becoming "Docker for unikernels". That's probably an unfair description, but they're aiming to produce tools for building and managing unikernels: Unikraft [1], NanoVMs/Nanos [2], Unik [3]. Other orgs are producing unikernel-based OSs and VMs [4].

    What is your toolset for building and managing unikernels? What have you learned?

    Bonus question: is Unik dead? [5]

    [0] https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=unikernel&sort=byPopularity&type=story

    [1] https://unikraft.org/

    [2] https://github.com/nanovms/nanos

    [3] https://github.com/solo-io/unik/

    [4] http://unikernel.org/projects/

    [5] https://github.com/solo-io/unik/issues/172

  • linuxkit

    A toolkit for building secure, portable and lean operating systems for containers

  • The definition of what a unikernel is needs to be narrowed down, a lot of these projects in the space (not all the ones listed above) have material differences that are not clear:

    - some run only one language

    - some require recompilation

    - some essentially swap out libraries, others do something closer to dropping your already mostly static binary in a minimal disk image

    - some build pid1 processes, others VMs images

    Anyway, here are some additional entries in the space:

    - https://ssrg-vt.github.io/hermitux/

    - https://github.com/linuxkit/linuxkit (more embedded/minimal VM than unikernel)

    - https://nabla-containers.github.io/ (runs on Solo5)

    I am going through using Linuxkit to build AMIs for cloud providers now. I wouldn’t necessarily class linuxkit as a universal project because it doesn’t have the hallmark blurring of user and kernel space or kernel-as-a-library but you can customize the kernel so it’s an adjacent idea, and I think it’s the one most likely to be in actual use at non-hyperscalers.

  • hermitux

    A binary-compatible unikernel

  • The definition of what a unikernel is needs to be narrowed down, a lot of these projects in the space (not all the ones listed above) have material differences that are not clear:

    - some run only one language

    - some require recompilation

    - some essentially swap out libraries, others do something closer to dropping your already mostly static binary in a minimal disk image

    - some build pid1 processes, others VMs images

    Anyway, here are some additional entries in the space:

    - https://ssrg-vt.github.io/hermitux/

    - https://github.com/linuxkit/linuxkit (more embedded/minimal VM than unikernel)

    - https://nabla-containers.github.io/ (runs on Solo5)

    I am going through using Linuxkit to build AMIs for cloud providers now. I wouldn’t necessarily class linuxkit as a universal project because it doesn’t have the hallmark blurring of user and kernel space or kernel-as-a-library but you can customize the kernel so it’s an adjacent idea, and I think it’s the one most likely to be in actual use at non-hyperscalers.

  • click

    The Click modular router: fast modular packet processing and analysis (by kohler)

  • Many unikernel projects were ahead of their time. For example ClickOS [0] is ~7 years old but all its ideas still sound innovative. Someone could build an entire business on top of network function virtualization, using unikernels as an efficient sandboxing mechanism.

    I’m not sure why unikernels have not caught on widely. I suspect their time has yet to come for some applications, but at least for NFV and sandboxing, I would bet on solutions using eBPF or XDP with WASM for sandboxing.

    [0] https://github.com/kohler/click

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • app-helloworld-cpp

    Discontinued kraft-ready repo for building c++ applications with Unikraft

  • They differ very widely. It's instructive to look at unikraft which is probably the easiest to develop on (IMHO). eg: https://github.com/unikraft/app-helloworld-cpp

    Our unikernel (UKL) lets you link your Linux program with the Linux kernel and produces a binary which run in a VM or on baremetal (essentially a custom vmlinuz). It's a bit laborious at the moment, one of many things to fix before release.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts