Support de cours

Transcription

Support de cours
SMB137 - Cinquième partie
Virtualisation de Systèmes
Rémi LEBLOND
http://remileblond.fr/category/cnam/smb137/
Conservatoire National des Arts et Métiers - Centre de Strasbourg
https://github.com/remileblond67/CNAM_SMB137
16 janvier 2016
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Plan
1
Qu’est-ce que la virtualisation ?
2
Les composants de la virtualisation
3
Les différentes approches de virtualisation
4
Application de la virtualisation
2/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Système virtuel
Usages de la virtualisation
Les intérêts de la virtualisation
Critères d’évaluation
Qu’est-ce que la virtualisation ?
Qu’est-ce qu’un composant virtuel ?
apparence fonctionnelle 6= structure physique
mémoire, systèmes de fichiers... machine complète
Virtualisation de systèmes :
fait fonctionner X systèmes sur Y machines physiques
généralement, X 6= Y
Finalités
maintenabilité
consolidation
souplesse
5/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Système virtuel
Usages de la virtualisation
Les intérêts de la virtualisation
Critères d’évaluation
Historique
En grande partie développé au centre scientifique de Cambridge
d’IBM
En collaboration avec le MIT
Mise au point du système expérimental CP/CMS
Devenu ensuite VM/CMS
Commercialisé sur IBM OS/360
1965 : introduction du temps partagé
rétro-compatibilité par émulation des séries 1400 ou 7094 (logiciel et
micro-code)
repris ensuite sur l’ensemble de la gamme mainframe
Vers 1985-90 : virtualisation pour les ordinateurs personnels
émulation de différents systèmes (ordinateur, consoles...)
support purement logiciel ou adossé à du matériel additionnel
(processeur... )
7/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Système virtuel
Usages de la virtualisation
Les intérêts de la virtualisation
Critères d’évaluation
Historique
Exemples d’émulateurs sur ordinateurs personnels
Commodore Amiga à la pointe
Processeurs hétérogènes : 80386 et 80486, 68xxx, et PPC
Possibilité de lancer d’autres systèmes d’exploitation
Dos / Windows, Macintosh, Unix, Atari...
SideCar et PC Task sur PC
Emplant et ShapeShifter sur Macintosh
Figure: Amiga 500, 1987
8/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Système virtuel
Usages de la virtualisation
Les intérêts de la virtualisation
Critères d’évaluation
Historique
Après 1990 : solutions Unix
Architectures NUMA des Superdome d’HP (PA-RISC et IA-64)
E10000/E15000 de Sun (UltraSparc).
Après 1995 : émulation de machines anciennes
Atari, Amiga, Amstrad et les consoles NES, SNES, Neo-Geo AES
Début 2000 : explosion des solutions de virtualisation professionnelles
sur x86
commerciales : VmWare en tête, VirtualPC, Virtual Server
libres : Xen, KVM, QEMU, Bochs, Linux-VServer, Virtual Box
9/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Système virtuel
Usages de la virtualisation
Les intérêts de la virtualisation
Critères d’évaluation
Usages de la virtualisation
Émulateur :
VirtualPC, Parallels Desktop, Apple Rosetta
Outil d’infrastructure :
VmWare ESX, Microsoft Hyper-V Server, Citrix XenServer
Support d’applications :
JVM Java, CLR .Net
10/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Système virtuel
Usages de la virtualisation
Les intérêts de la virtualisation
Critères d’évaluation
Comparaison avec une architecture physique
●
11/71
Machine physique
●
Machines virtuelles
Traitement
Traitement
Traitement
Noyau
Noyau
Noyau
MV1
MV2
MV3
Traitement
Interface
de
programmation
Noyau
Implémentation de la machine
virtuelle
Matériel
Matériel
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Système virtuel
Usages de la virtualisation
Les intérêts de la virtualisation
Critères d’évaluation
Exemple de combinaison de machines virtuelles
12/71
Machines virtuelles
Applet
JVM
Windows NT
VMWARE
Linux
AIX
IBM VM/OS
Matériel
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Système virtuel
Usages de la virtualisation
Les intérêts de la virtualisation
Critères d’évaluation
Pourquoi un tel essor ?
Systèmes centraux
concentration des centres de traitement
Micro-informatique
multiplication du nombre de serveurs
difficulté de maintenance
dépense énergétique
Nécessité de re-centraliser
Trois problèmes
Sous-utilisation des ressources, adaptation aux besoins, équilibrage de
charge
Difficultés de maintenance et de sécurisation
Moindre efficacité énergétique
14/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Système virtuel
Usages de la virtualisation
Les intérêts de la virtualisation
Critères d’évaluation
Intérêts de la virtualisation
Utilisation optimale des ressources
mutualisation du matériel
facilité d’adaptation à la charge
allocation dynamique des ressources
Facilité d’installation, de gestion et de paramétrage
réplication
points de reprise
plan de reprise/continuité facilités (PRA/PCA)
Optimisation de la consommation énergétique
15/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Système virtuel
Usages de la virtualisation
Les intérêts de la virtualisation
Critères d’évaluation
Domaines d’application
Permet de mettre en place des serveurs virtuels dédiés (VDS)
partage de ressource
autonomie et le contrôle total du serveur
hébergement mutualisé
Améliore la disponibilité des serveurs ou des services
répartition de charge
reprise automatique sur incident
Facilite les tests
Simulation d’architectures complexes et hétérogènes
Facilité de mise en œuvre
Clonage et points de reprise
16/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Système virtuel
Usages de la virtualisation
Les intérêts de la virtualisation
Critères d’évaluation
Les critères d’évaluation de la virtualisation
18/71
La transparence
Le fonctionnement du système non modifié par la virtualisation
Le cloisonnement
fonctionnement indépendant
pas d’interférence entre machines virtuelles
Les performances
minimisation des pertes liées à la virtualisation (overhead)
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
L’hyperviseur
L’émulateur
Support matériel
Implémentation de l’hyperviseur
21/71
Placé entre le matériel et le système d’exploitation
Utilisé pour les émulations de bas niveau
Implémentation :
soit gère directement toutes les ressources (type 1)
soit hébergé par un système hôte (type 2)
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
L’hyperviseur
L’émulateur
Support matériel
L’hyperviseur natif - type 1
22/71
Différents noms
hyperviseur de type 1
hyperviseur natif
émulation ”bare metal”
Noyau simplifié
allégé
optimisé pour accueillir des OS invités
Support matériel de bas niveau :
pas de support spécifique
paravirtualisation
instructions de virtualisation matérielle (AMD-V et Intel-VT)
Virtualisation complète
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
L’hyperviseur
L’émulateur
Support matériel
Hyperviseur natif - type 1
Cas de la gestion directe des ressources
23/71
Applications
OS
invité
Applications
OS
invité
Applications
Applications
OS
invité
OS
invité
Hyperviseur
Matériel
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
L’hyperviseur
L’émulateur
Support matériel
Exemples de solutions - type 1
Solutions logicielles
CP/CMS d’IBM, ancêtre de z/VM
Xen (OpenSource), racheté par Citrix
Oracle VM
ESX Server de VMware
Hyper-V de Microsoft
Kernel-based Virtual Machine : QEmu / KVM (OpenSource)
Proxmox, OpenSource - Proxmox Server Solutions GmbH
Solutions matérielles
Intégration de l’hyperviseur dans le micrologiciel (firmware)
Hyperviseur Virtage d’Hitachi
24/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
L’hyperviseur
L’émulateur
Support matériel
Hyperviseur de type 2
Logiciel qui s’exécute à l’intérieur d’un autre OS
OS hôte
OS invité
troisième niveau d’exécution au-dessus du matériel
perte de performance (overhead)
Exemples
VMware Server (ex GSX), Workstation, Fusion
Open source QEMU
Microsoft Virtual PC et VirtualServer
VirtualBox d’Oracle
Parallels Workstation de SWsoft et Parallels Desktop
25/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
L’hyperviseur
L’émulateur
Support matériel
Hyperviseur de type 2
26/71
Applications
Applications
Applications
OS
invité
OS
invité
OS
invité
Applications
Hyperviseur
OS hôte
Matériel
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
L’hyperviseur
L’émulateur
Support matériel
Hyperviseurs de type 1 ou 2
27/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
L’hyperviseur
L’émulateur
Support matériel
L’émulation du processeur
29/71
Simulation du processeur
traduction de chaque instruction destinée à la CPU
Couteux en performances
émulation de très bas niveau
overhead important
Viable uniquement si le système hôte et beaucoup plus puissant que
le système invité :
Atari, Playstation 1, Apple ][, GameBoy, Palm...
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
L’hyperviseur
L’émulateur
Support matériel
L’émulation du processeur
Exemples de solutions
QEMU, émulateur OpenSource
fonctionne ou émule x86, PPC ou Sparc
VirtualPC, racheté par Microsoft en 2003
émulation d’un PC sur Mac PPC
Roseta, d’Apple
30/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
L’hyperviseur
L’émulateur
Support matériel
Émulation d’un système hôte
Prise en charge d’une autre API, d’un autre format de fichier
exécutable que le système cible
Impact beaucoup plus léger sur les performances
Niveau d’abstraction nettement plus élevé
Exemples
Prise en charge de programmes Windows sur MacOsX ou Linux sur
PC x86
31/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
L’hyperviseur
L’émulateur
Support matériel
Émulation d’un système hôte
Wine
Implémentation de l’API Win32
Linux, MacOsX et autres Unix
Deux possibilités :
Utilisation des DLL Windows
Ré-écriture à partir des spécifications externes (logiciel libre)
Excellentes performances
parfois meilleures que sous Windows
émulation de haut niveau
API système et non instructions processeur
32/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
L’hyperviseur
L’émulateur
Support matériel
Support matériel
Solutions matérielles :
Intégration au processeur :
instructions spécifiques, niveaux de privilèges
Virtualisation des accès mémoire :
MMU cloisonnables
Aide au développement de systèmes virtualisés :
Simplification de la virtualisation logicielle
Optimisation des performances
Doit nécessairement être exploité par du logiciel
34/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
L’hyperviseur
L’émulateur
Support matériel
Support matériel
Exemples de support matériel
Hyperviseur IBM Power6 et Micro-partitionnement AIX
Mainframes : VM/CMS
Sun LDOM (hyperviseur pour la gestion de ”logical domains”)
Sun E10k/E15k
HP Superdome
AMD-V (anciennement Pacifica)
Intel VT (anciennement Vanderpool)
35/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
L’hyperviseur
L’émulateur
Support matériel
Instructions dédiées à la virtualisation
Habituellement
noyau en Ring 0
programmes utilisateur en Ring 3
seul l’OS hôte à accès au Ring 0
Technologie de partition processeur
technologie de décalage géré par le BIOS
OS invité exploite le Ring 2 lorsqu’il croit
accéder au Ring 0
Implémentations
36/71
VT-x (Virtual Technology) - 2003 - EPT
(Extended Page Table) sur Nehalem
AMD-V
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Isolation (cloisonnement)
La paravirtualisation
La virtualisation complète
Le cloisonnement
39/71
Partitionnement d’un système d’exploitation
tous les OS invités sont du même type
isolés les uns des autres
Séparation en plusieurs environnements
tous sont régis par l’OS hôte
chaque processus ne peut interagir qu’avec les ressources et processus
de son contexte
Partionnement de serveurs
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Isolation (cloisonnement)
La paravirtualisation
La virtualisation complète
Le cloisonnement
Exemple d’Unix : chroot
Isolement d’applications dans des contextes cloisonnés
mini-système
accès limités
ne contient que les programmes et les ressources nécessaires
Utilisation d’un noyau unique
Solution légère à mettre en oeuvre (faible overhead)
protection du système (serveur FTP, par exemple)
cohabitation d’applications incompatibles (bibliothèques)
Exemple d’utilisation de bash
chroot /home/debian bash -i
40/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Isolation (cloisonnement)
La paravirtualisation
La virtualisation complète
Le cloisement
Exemple de Linux VServer
Patch Linux + outils
Basé sur les Security Context
serveurs virtuels Privés (VPS)
base utilisateurs propre
isolé de tous les autres VPS, mais partage les
mêmes ressources matérielles
Permet d’exploiter de multiples systèmes sur un
système hôte
41/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Isolation (cloisonnement)
La paravirtualisation
La virtualisation complète
La paravirtualisation
Plus bas niveau que l’isolation
S’appuie sur une couche hyperviseur
bas niveau : interface avec les ressources matérielles
présente une machine générique spécifique
accueille des OS variés (invités)
Nécessite une adaptation des systèmes invités
OS modifié pour la paravirtualisation
interfaces spéciales → drivers
adaptation du système hôte et des systèmes invités
43/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Isolation (cloisonnement)
La paravirtualisation
La virtualisation complète
La paravirtualisation
Exemple de KVM / Virtio
44/71
Virtual Input-Output
branche officielle du noyau Linux
OS invité : module du noyau Linux
OS hôte : outils spécifiques (Linux et Windows)
Pilote spécifique
Traduit les demandes d’E/S en appel de haut niveau
ajout dans une liste FIFO exploitée par le système hôte
Support cartes réseau et contrôleurs de disques
Nécessite une adaptation du système invité
uniquement pour des OS ouverts
Linux
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Isolation (cloisonnement)
La paravirtualisation
La virtualisation complète
La virtualisation complète
46/71
Hyperviseur de bas niveau
émulation du niveau matériel
aucune modification de l’OS invité
transparence
les OS invités n’ont pas conscience d’être virtualisés
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
Virtualisation de serveurs
Utilisation traditionnelle de la virtualisation
Exemples de solutions
Microsoft Hyper-V Server
VMWare vSphere Hypervisor (anciennement ESXi)
Citrix XenServer
Oracle VM Server
Proxmox VE
49/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
Exemple
Proxmox Virtual Environment
50/71
Solution libre de virtualisation
Virtualisation ”bare metal”
containers Linux (OpenVZ)
paravirtalisation (KVM / Virtio)
virtualisation complète (KVM sur Intel-VT ou AMD-V)
Inclut :
système d’exploitation complet (Debian Lenny 64 bits)
partitionnement de disque dur avec LVM2
outil de sauvegarde
support du clustering avec migration à chaud des VM
outil Web d’administration et de surveillance
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
Virtualisation du poste client
VDI : Virtual Desktop Infrastructure :
H-VDI : Hosted VDI :
52/71
Hyperviseur centralisé
Client léger
Déport d’affichage (RCP, ICA)
Local-VDI : Hyperviseur local
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
Virtualisation d’application
54/71
Emulation de plateforme :
Wine : émulation d’application Windows sur Linux
JVM, CLR : machine virtuelle Java/.Net
Encapsulation :
VMware ThinApp
Microsoft APP-V
Citrix XenApp
Conteneur d’application :
Docker
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
Conteneur d’application : Docker
55/71
Figure: Logo de Docker
Conteneurs applicatifs [2]
Abstraction de l’OS → gestion des ressources nécessaires
→
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
Conteneur d’application : Docker
56/71
Figure: L’écosystème Docker
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
AuFS : union de systèmes de fichiers[1]
57/71
AuFS : Another Union File System
implémenté sur la base d’UnionFS (Union File System)
rendre accessible au travers d’un montage la superposition, l’union, de
plusieurs répertoires
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
Le Hub Docker
58/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
Conteneur d’application : Docker
59/71
Lancer un système Debian avec une commande interactive (shell) :
docker run -ti debian
Lancer un système Debian avec redirection du répertoire /root :
docker run -ti -v /Users/remi/debian/:/root debian
Lancer un système Debian en service, avec redirection du port 80 sur
8080 :
docker run -ti -p 8080:80 -v /Users/remi/debian/:/root
debian
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
Infrastructure as code : le Dockerfile
FROM debian
MAINTAINER Rémi LEBLOND <[email protected]>
RUN apt-get update
RUN apt-get -y install nginx
RUN apt-get -y install vim
ADD index.html /var/www/html/
ADD script.sh /root/
RUN chmod +x /root/script.sh
EXPOSE 80
CMD ["/root/script.sh"]
60/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
Docker compose
web:
build: .
ports:
- 8080:80
links:
- db
db:
image: tutum/mongodb
ports:
- 27017:27017
- 28017:28017
61/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
Les cinq caractéristiques du Cloud Computing [3]
1
Accès réseau universel
Accessible via le réseau, quel que soit le terminal
2
Mise en commun de ressources
pooling des ressources logiques (puissance de calcul, capacité de
stockage, bande passante disponible)
ne tient pas compte des ressources physiques (nombre de serveurs,
taille de disques ou nombre de processeurs)
3
Elasticité
Possibilité d’adapter rapidement les ressources à ses besoins, dans un
sens comme dans l’autre
4
Libre-Service
Traitement automatique des demandes de ressources
5
Service mesurable et facturable
facturation à l’usage, en fonction de la consommation de ressources
63/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
Les différents niveaux de prise en charge
SaaS : Software as a Service
Mise à disposition d’applications
PaaS : Platform as a Service
Mise à disposition de plateformes de haut niveau
IaaS : Infrastructure as a Service
Mise à disposition d’une infrastructure virtuelle complète
64/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
Les différents niveaux de prise en charge [3]
65/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
SaaS : Software as a Service [4]
Logiciel consommé sous la forme d’un service
Aucune visibilité sur la plateforme et l’infrastructure mises en oeuvre
Niveau d’abstraction : l’application
Exemples de fournisseurs
Google Docs, Office 365, Sales Force, Adobe Creative Cloud, Apple
iCloud, DropBox, ...
66/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
PaaS : Platform as a Service
Mise à disposition d’une plateforme sur laquelle des développeurs
peuvent déployer des applications
Exemples :
Serveur d’application (J2EE...), serveur Web, API...
Serveur de base de données (SQL, NoSQL... )
Niveau d’abstraction : la plateforme
Exemples de fournisseurs
Google App Engine (serveurs Google ou AppScale), Microsoft Azure...
67/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
IaaS : Infrastructure as a Service
L’entreprise gère :
les systèmes d’exploitation des serveurs
les logiciels applicatifs (exécutables, paramétrages, l’intégration SOA,
les bases de données)
Le fournisseur Cloud gère :
le matériel serveur
les couches de virtualisation
le stockage
les réseaux
Niveau d’abstraction : l’infrastructure logique
Exemples de fournisseurs
Cloud Power, Desktone, Infoserv, Provectio, DotRiver...
68/71
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
Exemple d’IaaS : OpenStack
69/71
Plateforme OpenSource
double licence GPL, LGPL
Compatible avec de nombreux hyperviseurs
KVM, Xen, VmWare...
Soutenu par de nombreux acteurs importants
NASA, IBM, Dell, HP, Cisco, NTT, Redhat, Canonical...
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
OpenStack : les composants de base
70/71
OpenStack Compute :
gestion de l’exécution
communications réseau
OpenStack Object Storage :
gestion du stockage des données
OpenStack Image Service :
gestion des images de référence des machines virtuelles
image de base et snapshot
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie
Qu’est-ce que la virtualisation ?
Les composants de la virtualisation
Les différentes approches de virtualisation
Application de la virtualisation
Virtualisation
Virtualisation
Virtualisation
Virtualisation
de serveurs
du poste client (VDI)
d’application
et Cloud Computing
Bibliographie I
71/71
Fhh.
Aufs : Unir les contenus de répertoires.
Docker inc.
What is docker ?
SysDis.
Cloud computing : Définitions et notions de base.
http://communication.sysdis.fr/2012/05/09/
cloud-computing-dfinitions-et-notions-de-base/, 11 2013.
Wikipédia.
Software as a service.
http://en.wikipedia.org/wiki/Software_as_a_service, 11
2013.
Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie

Documents pareils