SlideShare a Scribd company logo
1 of 72
Download to read offline
@xebiconfr #xebiconfr
Introduction à
Unikernel
Jean-Baptiste
Claramonte
&
Tomas Rodriguez
@xebiconfr #xebiconfr
Tomas Rodriguez
2
@xebiconfr #xebiconfr
Jean-Baptiste Claramonte
3
@xebiconfr #xebiconfr
Agenda
● Les motivations
● Unikernel : qu’est-ce que c’est ?
● Qu’est-ce que ça change ?
● L’offre
● Démo
● Conclusion
4
@xebiconfr #xebiconfr
Les motivations pour
Unikernel
1
5
@xebiconfr #xebiconfr
La stack aujourd’hui
6
Hardware Driver
@xebiconfr #xebiconfr
La stack aujourd’hui
7
Hypervisor
Hardware Driver
@xebiconfr #xebiconfr
La stack aujourd’hui
8
Virtual HW Drivers
Hypervisor
Hardware Driver
@xebiconfr #xebiconfr
La stack aujourd’hui
9
Linux User Processes
Linux Kernel
Virtual HW Drivers
Hypervisor
Hardware Driver
@xebiconfr #xebiconfr
La stack aujourd’hui
10
Virtual HW Drivers
Hypervisor
Hardware Driver
Shared Libraries
Docker Runtime
Linux User Processes
Linux Kernel
@xebiconfr #xebiconfr
La stack aujourd’hui
11
Application
Language Runtime
Virtual HW Drivers
Hypervisor
Hardware Driver
Shared Libraries
Docker Runtime
Linux User Processes
Linux Kernel
@xebiconfr #xebiconfr
Avec quel objectif ?
12
● Faire tourner
○ une seule application
○ sur un serveur
○ et un seul user (OS)
@xebiconfr #xebiconfr
Sécurité apportée par le kernel linux
● Les utilisateurs sont sécurisés les uns des autres
● Les applications sont sécurisées les unes des autres
● Les applications sont sécurisées des utilisateurs
13
@xebiconfr #xebiconfr
Linux sait tout faire !
● Linux fonctionne partout !
● On peut tout faire tourner sur linux !
14
@xebiconfr #xebiconfr
Cela a un coût
15
● Small App: 10k
● Medium/Large: 100k
● Huge App: 1M
@xebiconfr #xebiconfr
Cela a un coût
16
Small App: 10k
Medium/Large: 100k
Huge App: 1M
@xebiconfr #xebiconfr
Cela a un coût
17
Small App: 10k
Medium/Large: 100k
Huge App: 1M
Le kernel linux
en fait 22M !
@xebiconfr #xebiconfr
Bilan du kernel linux
● Système de permissions complexe
● Le kernel inclut des drivers inutiles
● Difficile de maîtriser tout ce qu’un gestionnaire de paquets
installe
● Des solutions comme CoreOS optimisent l’OS pas le kernel
18
@xebiconfr #xebiconfr
Côté sécurité
● “Surface d’attaque” très large
(on estime en moyenne 20 à 30 erreurs pour 1000 lignes de code)
● Linux est devenu une cible privilégiée car devenu très populaire
sur les serveurs et les systèmes mobiles
19
@xebiconfr #xebiconfr
Quelle alternative ?
● Unikernel …
20
@xebiconfr #xebiconfr
Unikernel : qu’est ce que
c’est ?
2
21
@xebiconfr #xebiconfr
Fonctionnement high level
22
Kernel
libc libstd++ libgc
libgmp libz libtlc
gtk iconv
OpenGL
Application
@xebiconfr #xebiconfr
Fonctionnement high level
23
Kernel
libc libstd++ libgc
libgmp libz libtlc
gtk iconv
OpenGL
Application
@xebiconfr #xebiconfr
Fonctionnement high level
24
Application
@xebiconfr #xebiconfr
Fonctionnement high level
25
Application
@xebiconfr #xebiconfr
Fonctionnement high level
26
Application Unikernel
@xebiconfr #xebiconfr
Fonctionnement high level
27
Application
Language Runtime
OS User Processes
OS Kernel
Virtual HW Drivers
Hypervisor
Hardware Driver
Shared Libraries
Docker Runtime
@xebiconfr #xebiconfr
Fonctionnement high level
28
Application
Language Runtime
OS User Processes
OS Kernel
Virtual HW Drivers
Hypervisor
Hardware Driver
Shared Libraries
Docker Runtime
@xebiconfr #xebiconfr
Fonctionnement high level
29
Application
Language Runtime
Unikernel
Virtual HW Drivers
Hypervisor
Hardware Driver
@xebiconfr #xebiconfr
Fonctionnement high level
30
Application
Language Runtime
Unikernel
Virtual HW Drivers
Hypervisor
Hardware Driver
@xebiconfr #xebiconfr
Qu’est ce que ça change ?
3
31
@xebiconfr #xebiconfr
Processus de construction d’une image Unikernel
32
App Binary
App Config
App Deps
Lang runtime
Virt, HW Drivers
Packaging Tool Image Unikernel
APPLICATION
UNIKERNEL
RUNTIME
@xebiconfr #xebiconfr
Comment boot un Unikernel ?
33
Booter un Unikernel c’est tout simplement booter une image dans un
hypervisor
@xebiconfr #xebiconfr
Comment boot un Unikernel ?
34
@xebiconfr #xebiconfr
Quelles conséquences
35
● Un seul processus
@xebiconfr #xebiconfr
Quelles conséquences
36
● Un seul processus
Pas de “fork”
@xebiconfr #xebiconfr
Quelles conséquences
37
● Un seul processus
Pas de “fork”
Pas de “context switching”
@xebiconfr #xebiconfr
Quelles conséquences
38
● Un seul espace mémoire
● Pas de mémoire virtuelle
@xebiconfr #xebiconfr
Quelles conséquences
39
● Un seul espace mémoire
● Pas de mémoire virtuelle
Gains en perf
@xebiconfr #xebiconfr
Quelles conséquences
40
● Un seul espace mémoire
● Pas de mémoire virtuelle
Gains en perf
Une Application ne peut utiliser plus de mémoire physique
que ce qui est disponible
@xebiconfr #xebiconfr
Quelles conséquences
41
● Un seul espace mémoire
● Pas de mémoire virtuelle
Gains en perf
Une Application ne peut utiliser plus de mémoire physique
que ce qui est disponible
Pas de mmap
@xebiconfr #xebiconfr
Quelles conséquences
42
● Il n’y a plus de cloisonnement entre les espaces kernel et utilisateur
@xebiconfr #xebiconfr
Quelles conséquences
43
● Il n’y a plus de cloisonnement entre les espaces kernel et utilisateur
Votre application s’exécute dans le kernel space
@xebiconfr #xebiconfr
Quelles conséquences
44
● Il n’y a plus de cloisonnement entre les espaces kernel et utilisateur
Votre application s’exécute dans le kernel space
Gain en performance pour les I/O
@xebiconfr #xebiconfr
Quelles conséquences
45
● Il n’y a plus de cloisonnement entre les espaces kernel et utilisateur
Votre application s’exécute dans le kernel space
Gain en performance pour les I/O
Pas de protection de la mémoire entre kernel/app
@xebiconfr #xebiconfr
kernel/user space : exécution avec un linux
46
@xebiconfr #xebiconfr
Pas de kernel/user space avec Unikernel
47
Unikernel
@xebiconfr #xebiconfr
L’offre
4
48
@xebiconfr #xebiconfr
Unikernel.org
49
● MirageOS
● OSv
● Rumprun
● runtime.js
● UniK
@xebiconfr #xebiconfr
De nombreuses solutions
50
● ClickOS
● Clive
● Drawbridge
● HaLVM
● IncludeOS
● LING
● MirageOS
● OSv
● Rumprun
● runtime.js
● UniK
@xebiconfr #xebiconfr
Comparaison de l’offre
51
@xebiconfr #xebiconfr
Comparaison de l’offre
52
@xebiconfr #xebiconfr
Unik
53
@xebiconfr #xebiconfr
Unik
54
● Le “docker” de l’Unikernel
@xebiconfr #xebiconfr
Une CLI à la docker
55
@xebiconfr #xebiconfr
Un Hub à la Docker Hub
56
@xebiconfr #xebiconfr
Un intermédiaire avec différents Unikernel
57
@xebiconfr #xebiconfr
Excellent candidat pour une démo !
58
@xebiconfr #xebiconfr
Démo time !
5
59
@xebiconfr #xebiconfr
Démo time !
60
● Démo d’une application Java avec l’Unikernel Unik sur VirtualBox
@xebiconfr #xebiconfr
Démo time !
61
Étapes :
● Installation de Unik
@xebiconfr #xebiconfr
Démo time !
62
Étapes:
● Installation de Unik
● Création d’une image
@xebiconfr #xebiconfr
Démo time !
63
Étapes:
● Installation de Unik
● Création d’une image
● Création d’une instance à partir de l’image
@xebiconfr #xebiconfr
Conclusion
6
64
@xebiconfr #xebiconfr 65
Pas d’image hub unikernel “à la” docker registry
@xebiconfr #xebiconfr 66
Cloud Public on paye à l’utilisation de l’instance
@xebiconfr #xebiconfr 67
Complexité de certaines solutions
@xebiconfr #xebiconfr 68
Persistance des données
@xebiconfr #xebiconfr 69
Le plus : les performances et la sécurité annoncées
@xebiconfr #xebiconfr 70
Unikernel n’est pas l’alter ego de Docker
@xebiconfr #xebiconfr 71
Unikernel pour l’IoT
@xebiconfr #xebiconfr 72
À suivre, mais tout ça n’est pas sec pour l’instant !

More Related Content

What's hot

What's hot (20)

Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ?
 
FreeBSD vs Linux, RMLL 2014
FreeBSD vs Linux, RMLL 2014FreeBSD vs Linux, RMLL 2014
FreeBSD vs Linux, RMLL 2014
 
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
 
Workshop mesos docker devoxx fr 2016
Workshop mesos docker devoxx fr 2016Workshop mesos docker devoxx fr 2016
Workshop mesos docker devoxx fr 2016
 
Docker du mythe à la réalité
Docker du mythe à la réalitéDocker du mythe à la réalité
Docker du mythe à la réalité
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
 
La révolution Docker
La révolution DockerLa révolution Docker
La révolution Docker
 
Chroniques de formation : Scaling Code Labs avec Swarm et Compose
Chroniques de formation : Scaling Code Labs avec Swarm et ComposeChroniques de formation : Scaling Code Labs avec Swarm et Compose
Chroniques de formation : Scaling Code Labs avec Swarm et Compose
 
Reflex client 2013 cubes architecture
Reflex client 2013 cubes   architectureReflex client 2013 cubes   architecture
Reflex client 2013 cubes architecture
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
 
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
 
What is Docker
What is Docker What is Docker
What is Docker
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
Intro docker
Intro dockerIntro docker
Intro docker
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)
 
Présentation CoreOS
Présentation CoreOSPrésentation CoreOS
Présentation CoreOS
 
kubernetes, pourquoi et comment
kubernetes, pourquoi et commentkubernetes, pourquoi et comment
kubernetes, pourquoi et comment
 
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
 
Les nouveautés d'Unity 2018
Les nouveautés d'Unity 2018Les nouveautés d'Unity 2018
Les nouveautés d'Unity 2018
 

Viewers also liked

Unikernels at Polyconf!
Unikernels at Polyconf!Unikernels at Polyconf!
Unikernels at Polyconf!
Amir Chaudhry
 

Viewers also liked (7)

Unikernels at Polyconf!
Unikernels at Polyconf!Unikernels at Polyconf!
Unikernels at Polyconf!
 
Unikernels Introduction
Unikernels IntroductionUnikernels Introduction
Unikernels Introduction
 
Unikernels
UnikernelsUnikernels
Unikernels
 
Présentation d'Unikernel
Présentation d'UnikernelPrésentation d'Unikernel
Présentation d'Unikernel
 
Microservices in Unikernels
Microservices in UnikernelsMicroservices in Unikernels
Microservices in Unikernels
 
Unikernels and Cloud Computing
Unikernels and Cloud ComputingUnikernels and Cloud Computing
Unikernels and Cloud Computing
 
Docker Online Meetup #31: Unikernels
Docker Online Meetup #31: UnikernelsDocker Online Meetup #31: Unikernels
Docker Online Meetup #31: Unikernels
 

Similar to Unikernel Xebicon 2016

Similar to Unikernel Xebicon 2016 (20)

Xebicon'16 : Kodo Kojo, une usine logicielle en trois clics. Par Antoine Le T...
Xebicon'16 : Kodo Kojo, une usine logicielle en trois clics. Par Antoine Le T...Xebicon'16 : Kodo Kojo, une usine logicielle en trois clics. Par Antoine Le T...
Xebicon'16 : Kodo Kojo, une usine logicielle en trois clics. Par Antoine Le T...
 
Introduction à Unikernel (Breizhcamp 2017)
Introduction à Unikernel (Breizhcamp 2017)Introduction à Unikernel (Breizhcamp 2017)
Introduction à Unikernel (Breizhcamp 2017)
 
Xebicon2016 - React Native & Redux
Xebicon2016 - React Native & ReduxXebicon2016 - React Native & Redux
Xebicon2016 - React Native & Redux
 
XebiCon'16 : React Native et Redux, une complémentarité hors du commun. Par ...
XebiCon'16 : React Native et Redux, une complémentarité hors du commun.  Par ...XebiCon'16 : React Native et Redux, une complémentarité hors du commun.  Par ...
XebiCon'16 : React Native et Redux, une complémentarité hors du commun. Par ...
 
XebiCon'16 : Data Science & Craftsmanship : Je t'aime, moi non plus. Par Yoan...
XebiCon'16 : Data Science & Craftsmanship : Je t'aime, moi non plus. Par Yoan...XebiCon'16 : Data Science & Craftsmanship : Je t'aime, moi non plus. Par Yoan...
XebiCon'16 : Data Science & Craftsmanship : Je t'aime, moi non plus. Par Yoan...
 
XebiCon'16 : NodeJS x Craftsmanship - Comment faire un projet dans les règles...
XebiCon'16 : NodeJS x Craftsmanship - Comment faire un projet dans les règles...XebiCon'16 : NodeJS x Craftsmanship - Comment faire un projet dans les règles...
XebiCon'16 : NodeJS x Craftsmanship - Comment faire un projet dans les règles...
 
XebiCon'16 : A la découverte de Nomad d'Hashicorp. Par Sergio Dos Santos, Dév...
XebiCon'16 : A la découverte de Nomad d'Hashicorp. Par Sergio Dos Santos, Dév...XebiCon'16 : A la découverte de Nomad d'Hashicorp. Par Sergio Dos Santos, Dév...
XebiCon'16 : A la découverte de Nomad d'Hashicorp. Par Sergio Dos Santos, Dév...
 
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurXebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
 
Hands on drone challenge - xebicon'18
Hands on  drone challenge - xebicon'18Hands on  drone challenge - xebicon'18
Hands on drone challenge - xebicon'18
 
XebiCon'16 : Le futur de la télévision, les applications ! Par Fabien Mirault...
XebiCon'16 : Le futur de la télévision, les applications ! Par Fabien Mirault...XebiCon'16 : Le futur de la télévision, les applications ! Par Fabien Mirault...
XebiCon'16 : Le futur de la télévision, les applications ! Par Fabien Mirault...
 
XebiCon'16 : Orange - Transformation DevOps, les conteneurs sont vos alliés !
XebiCon'16 : Orange - Transformation DevOps, les conteneurs sont vos alliés !XebiCon'16 : Orange - Transformation DevOps, les conteneurs sont vos alliés !
XebiCon'16 : Orange - Transformation DevOps, les conteneurs sont vos alliés !
 
la boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtoolsla boite à outils de développements dans firefox devtools
la boite à outils de développements dans firefox devtools
 
Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...
Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...
Paris Container Day 2016 : Conteneurisation de l’usine logicielle (Retour d'e...
 
XebiCon'16 : Air France KLM - Le Big Data au service de la relation client pe...
XebiCon'16 : Air France KLM - Le Big Data au service de la relation client pe...XebiCon'16 : Air France KLM - Le Big Data au service de la relation client pe...
XebiCon'16 : Air France KLM - Le Big Data au service de la relation client pe...
 
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...
 
XebiCon'16 : Parenting 2.0 : calmer son bébé avec du machine learning et un R...
XebiCon'16 : Parenting 2.0 : calmer son bébé avec du machine learning et un R...XebiCon'16 : Parenting 2.0 : calmer son bébé avec du machine learning et un R...
XebiCon'16 : Parenting 2.0 : calmer son bébé avec du machine learning et un R...
 
Kinect pour les développeurs Web
Kinect pour les développeurs WebKinect pour les développeurs Web
Kinect pour les développeurs Web
 
Le Nouvel Ops XebiCon'15
Le Nouvel Ops XebiCon'15Le Nouvel Ops XebiCon'15
Le Nouvel Ops XebiCon'15
 
Linux meilleur-ami
Linux meilleur-amiLinux meilleur-ami
Linux meilleur-ami
 
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)Paris Container Day 2016 : Cloudunit v2 (Treeptik)
Paris Container Day 2016 : Cloudunit v2 (Treeptik)
 

Unikernel Xebicon 2016