awesome-unikernels icon indicating copy to clipboard operation
awesome-unikernels copied to clipboard

:zap: Curated list of unikernel resources

Awesome Unikernels Awesome

Secure, lightweight and high performance approach to application delivery

Contents

  • Introduction
  • Projects
    • Linux Binary Compatible
    • Language oriented
    • Generic
    • Unikernel-like
  • Tools

Introduction

Projects

Linux Binary Compatible

  • OSv - Modular unikernel able to execute unmodified Linux binaries, developed in C++.
  • Nanos - Linux binary compatible unikernel focused on security.
  • HermiTux - Research project from Virginia Tech, demonstrating advanced optimizations.

Language oriented

  • HaLVM - Port of Glasgow Haskell compiler producing Xen optimized unikernels.
  • LING - Erlang/Elixir unikernel development toolkit targeting Xen.
  • MirageOS - OCaml unikernel development library.
  • runtime.js - KVM oriented unikernel for running JavaScript applications via the V8 engine.
  • IncludeOS - Feature rich unikernel development library for C++.
  • Toro Kernel - Lazarus/FreePascal toolkit for unikernel development.
  • Ultibo Core - Lazarus/FreePascal unikernel targeting Raspberry Pi as the runtime environment.
  • rekernel - Minimal setup for developing unikernels in ReasonML.
  • Union - POSIX compliant unikernel written in Rust.
  • binaryno - Rust unikernel running on bare ARM CortexM hardware.

Generic

  • ClickOS - Efficient network function virtualization platform, optimized for Xen and developed by NEC.
  • Clive - Research project from Rey Juan Carlos University (Madrid), developed in Go.
  • Mini-OS - Reference kernel distributed with Xen.
  • Rump Kernels - Development platform reusing NetBSD components for producing efficient unikernels.
  • Firecracker - AWS's VM isolation engine, using in products such as Lambda and Fargate.
  • Unikraft - Collection of building blocks for unikernel development.
  • BareMetal - Self described as an exokernel, it can be used as the starting point for unikernel development.
  • HermitCore - A C-based, lightweight unikernel project from Aachen University.
  • unicycle - Unikernel application framework developed in C.
  • EbbRT - Boston University unikernel research project.
  • Nautilus - Aerokernel from Sandia National Laboratories, supporting bare metal x86_64 and Xeon Phi.
  • JML - Proof of concept for a minimal web server unikernel implementing its own language.
  • UNICORE - Common code base and toolkit for deployment of applications to secure and reliable execution environments.

Unikernel-like

  • Drawbridge - Research prototype platform from Microsoft.
  • Graphene - Library OS optimized for Intel SGX.

Tools

  • OPS - Orchestration tool for building and deploying Nanos based images.
  • Capstan - Orchestration tool for packaging and running OSv based images.
  • UniK - Unikernel compiler supporting a Firecracker, rump kernels, OSv, IncludeOS and MirageOS.
  • Solo5 - Middle-ware interfacing unikernels with the host systems.
  • Albatross - MigrageOS unikernel orchestration, via Solo5.

Contribute

Contributions welcome! Read the contribution guidelines first.