Unikernels
Qui suis-je ?









Unikernels ?
Specialised Operating System designed for the cloud

But Why ? There is Docker
Fast to boot
Huge Community
Can handle complex topologies (w/ Compose)
Yeah but...
Huge attack surface
Big images
No system optimization
Need host machine
Not so simple to use
Docker | Unikernel | |
---|---|---|
Boot time | Fast | Fast |
Community | Huge | 18 personnes (~) |
Complex topologies | Nice ! | Hypervisor's job ! |
Attack surface | Do me ! | Minimal |
Image sizes | What is our mascot again ? | < 70 Mb for Java8 |
Host | Another machine | Xen |
Simple to use | Medium | Easy |
Performance | Good | Optimal |
Use-cases
Network appliances
Performance critical applications (IO)
Hypervisor dependant infrastructures
Short lived/Sandbox environments
Micro-services ?
How ?
Clive (Go)
HaLVM (Haskell)
LING (Erlang)
MirageOS (OCaml)
OSv
How ?
base: cloudius/osv-openjdk8
cmdline: /java.so -jar /server.jar
build: mvn package
files:
/server.jar: target/echo-1.0-SNAPSHOT-jar-with-dependencies.jar
STOP !
DEMO TIME

Deployment ?
QEmu
VirtualBox
VMWare
Google Compute Engine
Amazon
Merci !
https://medium.com/@darrenrush/after-docker-unikernels-and-immutable-infrastructure-93d5a91c849e
https://en.wikipedia.org/wiki/Unikernel
https://queue.acm.org/detail.cfm?id=2566628
https://www.linux.com/news/enterprise/cloud-computing/821243-unikernel-use-cases-containers
http://www.skjegstad.com/blog/2015/03/25/mirageos-vm-per-url-experiment/
HT-10/2015 - Unikernels
By mgaudin
HT-10/2015 - Unikernels
- 570