SlideShare une entreprise Scribd logo
BreizhCamp 2017 #breizhcamp
Tomas Rodriguez - @rstomasalberto @xebiafr
Jean-Baptiste Claramonte - @jbclaramonte @xebiafr
Introduction à Unikernel
#IntroUnikernel
Publicité
Publicité
3
Jean-Baptiste Claramonte
4
5
Tomas Rodriguez
Les motivations
Unikernel : qu’est-ce que c’est ?
Qu’est-ce que ça change ?
L’offre
Démo
Conclusion
6
Agenda
BreizhCamp 2017 #breizhcamp
Les motivations
#IntroUnikernel
8
La stack aujourd’hui
9
La stack aujourd’hui
10
La stack aujourd’hui
11
La stack aujourd’hui
12
La stack aujourd’hui
13
La stack aujourd’hui
14
Faire tourner
une seule application
Avec quels objectifs
15
Faire tourner
une seule application
sur un serveur
Avec quels objectifs
16
Faire tourner
une seule application
sur un serveur
et un seul user (OS)
Avec quels objectifs
Les utilisateurs sont sécurisés les uns des autres
17
Sécurité apporté par le kernel linux
Les utilisateurs sont sécurisés les uns des autres
Les applications sont sécurisées les unes des autres
18
Sécurité apporté 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
19
Sécurité apporté par le kernel linux
Linux fonctionne partout !
On peut tout faire tourner sur linux !
20
Linux sait tout faire
21
Small App: 10k
Medium/Large: 100k
Huge App: 1M
Cela a un coût
22
Cela a un coût
23
Le kernel linux
en fait 22M !
Cela a un coût
Système de permissions complexe
Le kernel inclut des drivers inutiles
Difficile de maîtriser tout ce qu’un gestionnaire de
paquets installe
24
Bilan du kernel Linux
“Surface d’attaque” très large
Linux est devenu une cible privilégiée car
devenu très populaire sur les serveurs et
les systèmes mobiles
25
Côté sécurité
Unikernel
26
Quelle alternative
BreizhCamp 2017 #breizhcamp
Unikernel, qu’est ce que
c’est ?
#IntroUnikernel
28
Fonctionnement high level
29
Fonctionnement high level
30
Fonctionnement high level
31
Fonctionnement high level
32
Fonctionnement high level
33
Fonctionnement high level
34
Fonctionnement high level
35
Fonctionnement high level
36
Fonctionnement high level
37
Fonctionnement high level
BreizhCamp 2017 #breizhcamp
Qu’est ce que ça change ?
39
App Binary
App Config
App Deps
Lang runtime
Virt, HW Drivers
Packaging Tool Image Unikernel
APPLICATION
UNIKERNEL
RUNTIME
Processus de construction
40
Booter un Unikernel c’est tout simplement
booter une image dans un hypervisor
Comment boot un Unikernel
41
Comment boot un Unikernel
42
Un seul processus
Quelles conséquences
43
Un seul processus
Pas de “fork”
Quelles conséquences
44
Un seul processus
Pas de “fork”
Pas de “context switching”
Quelles conséquences
45
Un seul espace mémoire
Pas de mémoire virtuelle
Quelles conséquences
46
Un seul espace mémoire
Pas de mémoire virtuelle
Gains en perf
Quelles conséquences
47
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
Quelles conséquences
48
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
Quelles conséquences
49
Quelles conséquences
50
Quelles conséquences
51
Quelles conséquences
52
Quelles conséquences
53
kernel/user space avec linux
54
Unikernel
kernel/user space avec Unikernel
BreizhCamp 2017 #breizhcamp
L’offre
56
●
●
●
●
●
unikernel.org
57
● ClickOS
● Clive
● Drawbridge
● HaLVM
● IncludeOS
● LING
● MirageOS
● OSv
● Rumprun
● runtime.js
● UniK
De nombreuses solutions
58
Comparaison de l’offre
59
Comparaison de l’offre
60
Unik
61
Le “docker” de l’Unikernel
Unik
62
Une CLI à la docker
63
Unik est un intermédiaire
64
Excellent candidat pour une démo
65
Excellent candidat pour une démo
66
67
OSV à la rescousse
BreizhCamp 2017 #breizhcamp
Demo !
69
Demo time !
Démo d’une application Java avec OSv
sur VirtualBox
70
Étapes :
● Installation de capstan
Demo time !
71
Étapes:
● Installation de capstan
● Création d’une image
Demo time !
72
Étapes:
● Installation de capstan
● Création d’une image
● Création d’une instance à partir de l’image
Demo time !
BreizhCamp 2017 #breizhcamp
Conclusion
#IntroUnikernel
74
Pas d’image hub unikernel “à la” docker registry
75
Cloud Public : paiement à l’utilisation de l’instance
76
Complexité de certaines solutions
77
Persistance des données
78
Le plus : les performances et la sécurité annoncées
79
Unikernel n’est pas l’alter ego de Docker
80
Unikernel pour du AWS Lambda like
81
Unikernel pour l’IoT
82
À suivre mais ce n’est pas encore sec pour l’instant
BreizhCamp 2017 #breizhcamp
Merci
#IntroUnikernel

Contenu connexe

Similaire à Introduction à Unikernel (Breizhcamp 2017)

Formation Windev 19,les fondamentaux
Formation Windev 19,les fondamentaux Formation Windev 19,les fondamentaux
Formation Windev 19,les fondamentaux
Alphorm
 
DevFest Nantes 2016 - Spinnaker
DevFest Nantes 2016 - SpinnakerDevFest Nantes 2016 - Spinnaker
DevFest Nantes 2016 - Spinnaker
Stephan Lagraulet
 
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Alexis Ducastel
 
DOCKER AVEC RANCHER
DOCKER AVEC RANCHERDOCKER AVEC RANCHER
DOCKER AVEC RANCHER
TREEPTIK
 
Graphotec granit opensource
Graphotec granit opensourceGraphotec granit opensource
Graphotec granit opensource
pjoulaud
 
Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3
Yannick Comte
 
Du Code & Des Humains - ElsassJUG 2018
Du Code & Des Humains - ElsassJUG 2018Du Code & Des Humains - ElsassJUG 2018
Du Code & Des Humains - ElsassJUG 2018
Nicolas VERINAUD
 
Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels Libres
Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels LibresPlateforme Pour Le DéVeloppement Collaboratif Des Logiciels Libres
Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels LibresFdiwa
 
Plate-formes pour le développement collaboratif des logiciels libres
Plate-formes pour le développement collaboratif des logiciels libresPlate-formes pour le développement collaboratif des logiciels libres
Plate-formes pour le développement collaboratif des logiciels libres
olberger
 
Kinect pour les développeurs Web
Kinect pour les développeurs WebKinect pour les développeurs Web
Kinect pour les développeurs Web
ekino
 
Ionic
IonicIonic
Php sous Windows - webcamps Paris
Php sous Windows - webcamps ParisPhp sous Windows - webcamps Paris
Php sous Windows - webcamps ParisLeTesteur
 
conference à ITES 2 plateaux , Abidjan Côte d'Ivoire
conference à ITES 2 plateaux , Abidjan Côte d'Ivoireconference à ITES 2 plateaux , Abidjan Côte d'Ivoire
conference à ITES 2 plateaux , Abidjan Côte d'Ivoire
Florent YOUZAN
 
Conférence : 10 recommandations pour reussir l'insertion professionnelle par ...
Conférence : 10 recommandations pour reussir l'insertion professionnelle par ...Conférence : 10 recommandations pour reussir l'insertion professionnelle par ...
Conférence : 10 recommandations pour reussir l'insertion professionnelle par ...
Florent YOUZAN
 
JHipster Conf 2019 French keynote
JHipster Conf 2019 French keynoteJHipster Conf 2019 French keynote
JHipster Conf 2019 French keynote
Julien Dubois
 
#Polyglottisme, une autre manière de développer une application
#Polyglottisme, une autre manière de développer une application#Polyglottisme, une autre manière de développer une application
#Polyglottisme, une autre manière de développer une application
Thierry Wasylczenko
 
Embarquer le web dans un smartphone Firefox OS - RMLL 2015
Embarquer le web dans un smartphone Firefox OS - RMLL 2015Embarquer le web dans un smartphone Firefox OS - RMLL 2015
Embarquer le web dans un smartphone Firefox OS - RMLL 2015
Christophe Villeneuve
 
Utilitaires, petits mais ... costaud
Utilitaires, petits mais ... costaudUtilitaires, petits mais ... costaud
Utilitaires, petits mais ... costaud
Christophe Catarina
 

Similaire à Introduction à Unikernel (Breizhcamp 2017) (20)

Formation Windev 19,les fondamentaux
Formation Windev 19,les fondamentaux Formation Windev 19,les fondamentaux
Formation Windev 19,les fondamentaux
 
DevFest Nantes 2016 - Spinnaker
DevFest Nantes 2016 - SpinnakerDevFest Nantes 2016 - Spinnaker
DevFest Nantes 2016 - Spinnaker
 
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
 
DOCKER AVEC RANCHER
DOCKER AVEC RANCHERDOCKER AVEC RANCHER
DOCKER AVEC RANCHER
 
Graphotec granit opensource
Graphotec granit opensourceGraphotec granit opensource
Graphotec granit opensource
 
Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3
 
Du Code & Des Humains - ElsassJUG 2018
Du Code & Des Humains - ElsassJUG 2018Du Code & Des Humains - ElsassJUG 2018
Du Code & Des Humains - ElsassJUG 2018
 
Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels Libres
Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels LibresPlateforme Pour Le DéVeloppement Collaboratif Des Logiciels Libres
Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels Libres
 
Plate-formes pour le développement collaboratif des logiciels libres
Plate-formes pour le développement collaboratif des logiciels libresPlate-formes pour le développement collaboratif des logiciels libres
Plate-formes pour le développement collaboratif des logiciels libres
 
Kinect pour les développeurs Web
Kinect pour les développeurs WebKinect pour les développeurs Web
Kinect pour les développeurs Web
 
Dee eday 17-mars2011
Dee eday 17-mars2011Dee eday 17-mars2011
Dee eday 17-mars2011
 
Ionic
IonicIonic
Ionic
 
Php sous Windows - webcamps Paris
Php sous Windows - webcamps ParisPhp sous Windows - webcamps Paris
Php sous Windows - webcamps Paris
 
conference à ITES 2 plateaux , Abidjan Côte d'Ivoire
conference à ITES 2 plateaux , Abidjan Côte d'Ivoireconference à ITES 2 plateaux , Abidjan Côte d'Ivoire
conference à ITES 2 plateaux , Abidjan Côte d'Ivoire
 
Conférence : 10 recommandations pour reussir l'insertion professionnelle par ...
Conférence : 10 recommandations pour reussir l'insertion professionnelle par ...Conférence : 10 recommandations pour reussir l'insertion professionnelle par ...
Conférence : 10 recommandations pour reussir l'insertion professionnelle par ...
 
JHipster Conf 2019 French keynote
JHipster Conf 2019 French keynoteJHipster Conf 2019 French keynote
JHipster Conf 2019 French keynote
 
Toptic 12 octobre2010
Toptic 12 octobre2010Toptic 12 octobre2010
Toptic 12 octobre2010
 
#Polyglottisme, une autre manière de développer une application
#Polyglottisme, une autre manière de développer une application#Polyglottisme, une autre manière de développer une application
#Polyglottisme, une autre manière de développer une application
 
Embarquer le web dans un smartphone Firefox OS - RMLL 2015
Embarquer le web dans un smartphone Firefox OS - RMLL 2015Embarquer le web dans un smartphone Firefox OS - RMLL 2015
Embarquer le web dans un smartphone Firefox OS - RMLL 2015
 
Utilitaires, petits mais ... costaud
Utilitaires, petits mais ... costaudUtilitaires, petits mais ... costaud
Utilitaires, petits mais ... costaud
 

Plus de Jean-Baptiste Claramonte

Construire un data lake managé - GDG Paris - Juin 2019
Construire un data lake managé - GDG Paris - Juin 2019Construire un data lake managé - GDG Paris - Juin 2019
Construire un data lake managé - GDG Paris - Juin 2019
Jean-Baptiste Claramonte
 
Hands on drone challenge - xebicon'18
Hands on  drone challenge - xebicon'18Hands on  drone challenge - xebicon'18
Hands on drone challenge - xebicon'18
Jean-Baptiste Claramonte
 
Kubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration DockerKubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration Docker
Jean-Baptiste Claramonte
 
kubernetes, pourquoi et comment
kubernetes, pourquoi et commentkubernetes, pourquoi et comment
kubernetes, pourquoi et comment
Jean-Baptiste Claramonte
 
Ecosysteme mesos university - devoxx france - 8 avril2015
Ecosysteme   mesos university - devoxx france - 8 avril2015Ecosysteme   mesos university - devoxx france - 8 avril2015
Ecosysteme mesos university - devoxx france - 8 avril2015
Jean-Baptiste Claramonte
 
Google Compute Engine
Google Compute EngineGoogle Compute Engine
Google Compute Engine
Jean-Baptiste Claramonte
 

Plus de Jean-Baptiste Claramonte (6)

Construire un data lake managé - GDG Paris - Juin 2019
Construire un data lake managé - GDG Paris - Juin 2019Construire un data lake managé - GDG Paris - Juin 2019
Construire un data lake managé - GDG Paris - Juin 2019
 
Hands on drone challenge - xebicon'18
Hands on  drone challenge - xebicon'18Hands on  drone challenge - xebicon'18
Hands on drone challenge - xebicon'18
 
Kubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration DockerKubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration Docker
 
kubernetes, pourquoi et comment
kubernetes, pourquoi et commentkubernetes, pourquoi et comment
kubernetes, pourquoi et comment
 
Ecosysteme mesos university - devoxx france - 8 avril2015
Ecosysteme   mesos university - devoxx france - 8 avril2015Ecosysteme   mesos university - devoxx france - 8 avril2015
Ecosysteme mesos university - devoxx france - 8 avril2015
 
Google Compute Engine
Google Compute EngineGoogle Compute Engine
Google Compute Engine
 

Introduction à Unikernel (Breizhcamp 2017)