1 of 22

Unikraft

DORS/CLUC 24, Zagreb, May 15-19, 2024

Răzvan Deaconescu <razvand@unikraft.org>

A POSIX-Compliant Unikernel for the Cloud

Unikraft GmbH | Copyright © 2024

2 of 22

2

KraftCloud

Unikraft GmbH | Copyright © 2024

3 of 22

3

KraftCloud

Unikraft GmbH | Copyright © 2024

4 of 22

4

build

package

push

pull

unpack

run

Application Workflows

Unikraft GmbH | Copyright © 2024

5 of 22

5

Using VMs & Containers

run everywhere

no dependency issues

isolation

Unikraft GmbH | Copyright © 2024

6 of 22

6

VMs

  • overhead
  • difficult to create recipes

  • good isolation
  • good resource control

Unikraft GmbH | Copyright © 2024

7 of 22

7

Containers

  • isolation issues
  • often provisioned inside VMs

  • recipes (Dockerfile)
  • registries (DockerHub)
  • tooling (Docker, Podman)
  • good performance

Unikraft GmbH | Copyright © 2024

8 of 22

8

What We Want

  • good isolation
  • recipes
  • registries
  • tooling
  • good performance
  • deployment on cloud: fast, low cost, scale

Unikraft GmbH | Copyright © 2024

9 of 22

9

Unikernels in the Cloud

  • good isolation: VMs
  • recipes: Dockerfile, Kraftfile, compose.yaml
  • registry: Unikraft OCI images
  • tooling: KraftKit
  • good performance, extreme specialization: Unikraft
  • cloud deployment done right: KraftCloud

Unikraft GmbH | Copyright © 2024

10 of 22

10

Application Support

languages: Go, Python, JavaScript, Java, Rust, C, C++, Ruby, Per, PHP, .NET …

frameworks: Flask, Django, Rails, SpringBoot, Tokio, Rocket, Boost, NextJS …

databases: SQLite, MariaDB, MongoDB, DragonflyDB, Memcached, Redis …

web / proxies: Nginx, Traefik, Caddy, Skipper, HAproxy …

other apps: Hugo, Bun, Minio, Llama2, WASM, Imaginary …

Unikraft GmbH | Copyright © 2024

11 of 22

11

build with

run with

deploy on

KraftKit

Unikraft GmbH | Copyright © 2024

12 of 22

12

Unikraft GmbH | Copyright © 2024

13 of 22

13

March 2021

September 2022

939 GitHub Stars

~ 200 GitHub stars

~ 100 Mattermost users

455 Discord users

5 releases (since 2017)

10 releases

avg. 34 commits/month

avg. 31 commits/month

avg. 3400 LoC/month

avg. 2800 LoC/month

July 2023

1435 GitHub Stars

997 Discord users

13 releases (14 soon)

avg. 34 commits/month

avg. 2700 LoC/month

May 2024

2353 GitHub Stars

1467 Discord users

16 releases (17 soon)

avg. 40 commits/month

avg. 2421 LoC/month

Unikraft GmbH | Copyright © 2024

14 of 22

14

Unikraft GmbH | Copyright © 2024

15 of 22

15

Unikraft POSIX Compatibility

socket()

SYS_socket

syscall_shim

posix-socket

lwip

app ELF

libc ELF

unikraft

unikraft core support libs

Unikraft GmbH | Copyright © 2024

16 of 22

16

KraftKit

Unikraft companion tool

configure, build, setup, run, package, pull, push, deploy

Golang

Docker, BuildKit, Compose, K8s, Terraform

Unikraft GmbH | Copyright © 2024

17 of 22

17

The only unikernel platform: millisecond cold starts, autoscale & scale to zero

The only “don’t pay for idle” platform

The simplest and most elegant way to manage bursty workloads

kraftcloud

Unikraft GmbH | Copyright © 2024

18 of 22

18

KraftCloud

Unikraft GmbH | Copyright © 2024

19 of 22

19

Zagreb Unikraft Hackathon

Saturday + Sunday, May 18-19, 2024

1 day training / tutoring, 1 day your app / project

deployment on KraftCloud, publish your idea as open source

hacking, pizza, team work, mentoring

Unikraft GmbH | Copyright © 2024

20 of 22

20

Unikraft GmbH | Copyright © 2024

21 of 22

21

Unikernels in the Cloud

  • good isolation: VMs
  • recipes: Dockerfile, Kraftfile, compose.yaml
  • registry: Unikraft OCI images
  • tooling: KraftKit
  • good performance, extreme specialization: Unikraft
  • cloud deployment done right: KraftCloud

Unikraft GmbH | Copyright © 2024

22 of 22

22

Thanks!

Unikraft GmbH | Copyright © 2024