Vous êtes sur la page 1sur 39

Virtualisation et Cloud Computing

Pr. Mostapha Zbakh


mostapha.zbakh@gmail.com
2022 - 2023
Objectifs:

La première partie de ce cours montre l’intérêt de la virtualisation, quoi et comment virtualiser.


Les différentes techniques de la virtualisation sont détaillées. La construction et la gestion d’une architecture
virtualisée sont aussi abordées.
La deuxième partie introduit les concepts du cloud computing et de ses services offerts. Elle présente de
manière détaillée, à travers quelques technologies :
 La configuration du cloud,
 Le déploiement d’applications pour le cloud,
 Migration d’applications entre les différents clouds
 Simulateur Cloud : cas de CloudSim

Virtualisation et Cloud Computing Pr M. Zbakh 2


Avant de commencer ? :

1. Virtualisation : définition, pourquoi on virtualise, qu’est ce qu’on virtualise?


2. Avec quels outils (solutions)?
3. Taux d’utilisations des outils en pourcentage? Comparaison des outils?
4. Différents types de virtualisation?
5. Domaines d’applications?
6. Cloud : Définition? Pourquoi , qu’est ce qu’on peut faire avec?
7. Les différents modes du cloud ?
8. Les différents architectures du cloud?
9. Les différents opérateurs du cloud?
10. Les différentes applications du cloud?
11. MapReduce in cloud?
12. Load balaning in cloud ?
13. Fog/Edge compting?
14. How to secure a virtualized architecture ?
15. How to secure a cloud ?

Virtualisation et Cloud Computing Pr M. Zbakh 3


Sommaire :

I. Introduction générale
II. Virtualisation
1. Introduction
2. Les hyperviseurs
 Hyperviseur de type 1
 Hyperviseur de type 2
3. Les différents types de la Virtualisation
 Virtualisation complète
 Para-virtualisation
 Les Isolateurs
4. Historique de la virtualisation
5. Les principales solutions: XEN, KVM, VMware ESX, Hyper-V, OpenVZ, LXC
6. Domaines d’application
7. La Virtualisation de Stockage
8. Construction et gestion d’une infrastructure virtuelle, cas de Proxmox
9. Conteneurisation : Fonctionnement, Avantages et Inconvénients par rapport
à la virtualisation
10. Cas de Docker.

Virtualisation et Cloud Computing Pr M. Zbakh 4


III. Cloud Computing
1. Concepts, définitions et architecture du cloud computing
2. Multiplier les applications sur le cloud
3. Les services disponibles
4. Les architectures du cloud computing
5. Les composantes des plateformes PaaS et IaaS, SaaS
6. Les principales offres IaaS et PaaS
7. Les différents acteurs du Cloud
8. Les technologies Edge Computing & Fog Computing
9. OpenStack : Fonctionnement, Architecture logique, Architecture conceptuelle, Gestion d’accès
10. Autres technologies similaire : Vmware vCloud, Microsoft System Center, IBM SmartCloud
11. Déploiement d’applications pour le cloud
12. Cas d’Ansible : Fonctionnalités, Exemple de déploiement, Avantages et Inconvénients, Intégration de
politiques de sécurité
13. Slurm Workload Manager : Définitions et Fonctionnalités
14. Automatiser le déploiement d’application sur le Cloud
15. Migration d’applications entre les clouds
16. Cas du cloud Kubernetes
17. Simulateur Cloud : CloudSim

Virtualisation et Cloud Computing Pr M. Zbakh 5


IV. Sécurité de la virtualisation et du Cloud Computing
1. La sécurité en général
 Les principes de la sécurité informatique
 Les types d’attaques usuels
2. Sécurité de la virtualisation et du cloud
 La sécurité dans la virtualisation
 La sécurité dans le cloud
3. Les solutions de sécurité du cloud et de la virtualisation
 Les solutions de sécurité : outils non techniques
 Les solutions de sécurité : outils techniques
 Les solutions de sécurité au niveau « hyperviseur »
 Les solutions de sauvegarde, back-up, restauration
 Les solution futures de cryptage et de chiffrement
 Les autres approches

Virtualisation et Cloud Computing Pr M. Zbakh 6


Bibliographie

[1] Kenneth Hess, Amy Newman, Virtualisation en pratique, pearson, 2012


[2] N. GRASSA, « Cours Virtualisation et Cloud », http://n.grassa.free.fr/cours/cours_virtualisation_et_Cloud.pdf
[3] D.BRULEY. « Vmware : Vsphère et View », ENI, 2ème Edition.
[4] Linux Magazine : « Testez le Cloud », GNU/Linux Magazine 142.
[5] Livre blanc : Sécurité et Virtualisation, David GELIBERT , Farid SMILI , Jérôme DEROCK , Loïc RATSIHORIMANANA ,
Mickaël DREYER , Thomas GERVAISE, 2012
[6] J.R. Winkler, La sécurité dans cloud, techniques pour une informatique en nuage sécurisée, pearson, 2011

Virtualisation et Cloud Computing Pr M. Zbakh 7


Quelques produits (Virtualisation & Cloud):

Docker Container

Création et Gestion des machines virtuelles Automatiser le déploiement et la gestion des applications
conteneurisées

https://aws.amazon.com

Virtualisation et Cloud Computing Pr M. Zbakh 8


INTRODUCTION GÉNÉRALE

 De nombreuses capacités apportées par les outils de la virtualisation, ce qui a poussé les
responsables informatiques de plusieurs entreprises de se tourner vers cette
technologie

 Il s’agit de configurer une machine physique en y installant plusieurs machines virtuelles

 D’où, la possibilité d’utiliser plusieurs systèmes d’exploitation sur une même machine.
Mais cette technologie prend toute son importance, surtout pour les serveurs en
optimisant la capacité et la puissance

Virtualisation et Cloud Computing Pr M. Zbakh 9


INTRODUCTION GÉNÉRALE

 En réalité, ce n’est pas la virtualisation qui a attiré les entreprises, mais plutôt un
nouveau concept : « l’informatique dans les nuages », couramment appelé « le Cloud
Computing »

 Ce principe offre à ses utilisateurs un moyen simple de stocker des données à la


demande, d’effectuer des traitements informatiques lourds.

 La virtualisation n’est donc que le moyen de mettre au point une solution cloud

Virtualisation et Cloud Computing Pr M. Zbakh 10


INTRODUCTION GÉNÉRALE

 Cependant aucun système n’est fiable, surtout en informatique. Le premier frein à


l’adoption du cloud est lié à la sécurité de leurs informations, comme on peut le voir à
travers des exemples de failles aujourd’hui (Sony, Amazon…)

 Désormais, Il faut en plus penser aux problèmes concernant les contraintes


d’accessibilité et la dépendance au réseau

 Et au-delà de la notion de confiance qu’on accorde au cloud computing, le problème du


cryptage des informations est, lui aussi, un réel soucis

Virtualisation et Cloud Computing Pr M. Zbakh 11


INTRODUCTION GÉNÉRALE

 Face à cette tendance à vouloir adopter le cloud computing, plusieurs questions


peuvent être soulevées :
 comment peut-on définir le cloud computing ?
 Quels modèles et solutions existent ?
 Pourquoi la virtualisation et le cloud sont des outils attractifs pour les
entreprises et quelles en sont les limites ?
 Comment assurer l’intégrité des données ?
 Comment fiabiliser l’accès et les échanges de données ?

 Ce cours abordera de nombreux éléments permettant de:


 comprendre ce qu’est le cloud computing,
 avec quelles technologies il fonctionne,
 la valeur ajoutée apportée aux entreprises
 mais également les risques liés à son utilisation.
 Il présentera également les problématiques de sécurité et les solutions
existantes.

Virtualisation et Cloud Computing Pr M. Zbakh 12


VIRTUALISATION

Virtualisation et Cloud Computing Pr M. Zbakh 13


VIRTUALISATION

Virtualisation et Cloud Computing Pr M. Zbakh 14


VIRTUALISATION

Virtualisation et Cloud Computing Pr M. Zbakh 15


VIRTUALISATION
Example with multi Core technology

Virtualisation et Cloud Computing Pr M. Zbakh 16


VIRTUALISATION

Virtualisation et Cloud Computing Pr M. Zbakh 17


VIRTUALISATION

Virtualisation et Cloud Computing Pr M. Zbakh 18


VIRTUALISATION

 Un serveur est un ordinateur utilisé à distance depuis différents


postes de travail, ou autres serveurs

 Un serveur possède des ressources matérielles, principalement


CPU, GPU, mémoire, disques et interfaces réseau

 Ces ressources sont utilisées par des applications en s’appuyant


sur un système d’exploitation

Virtualisation et Cloud Computing Pr M. Zbakh 19


VIRTUALISATION

 La virtualisation est un ensemble de techniques matérielles


et/ou logicielles qui autorisent l’exécution de plusieurs
applications indépendantes sur une même machine hôte

 Grâce à la virtualisation, il est possible d’exécuter plusieurs


systèmes d’exploitation (OS invité) sur un même serveur

 On parle d’environnement virtuel « Virtual Environment – VE »


ou de « Serveur privé virtuel :Virtual Private Server – VPS »

Virtualisation et Cloud Computing Pr M. Zbakh 20


VIRTUALISATION
 Pour bénéficier de cette technologie, il faut équiper la machine
d’un logiciel de virtualisation permettant d’ajouter une couche de
virtualisation, appelée hyperviseur

 L’hyperviseur masque les véritables ressources physiques de la


machine afin de proposer des ressources différentes et spécifiques
en fonction des applications existantes

 Il y a une totale indépendance entre le matériel et les applications

 Le logiciel de virtualisation simule autant de machines virtuelles


que de systèmes d’exploitation souhaité,

Virtualisation et Cloud Computing Pr M. Zbakh 21


Virtualisation et Cloud Computing Pr M. Zbakh 22
Virtualisation et Cloud Computing Pr M. Zbakh 23
Virtualisation et Cloud Computing Pr M. Zbakh 24
 Chaque OS croit qu’il est installé seul sur la machine mais en réalité,
plusieurs OS peuvent fonctionner en parallèle en partageant les
mêmes ressources

 Le principe de la virtualisation est donc un principe de partage :


les différents systèmes d’exploitation partagent les ressources du
serveur ( CPU, GPU, Mémoires, …)

 Pour être utile de manière opérationnelle, la virtualisation doit


respecter deux principes fondamentaux :

Architecture virtualisée

Virtualisation et Cloud Computing Pr M. Zbakh 25


• Le cloisonnement : chaque système d’exploitation a un
fonctionnement indépendant, et ne peut interférer avec les
autres en aucune manière

• La transparence : le fait de fonctionner en mode virtualisé


ne change rien au fonctionnement du système d’exploitation
et a fortiori des applications

La transparence implique la compatibilité : toutes


les applications peuvent tourner sur un système virtualisé,
et leur fonctionnement n’est en rien modifié Architecture virtualisée

Virtualisation et Cloud Computing Pr M. Zbakh 26


HYPERVISEURS
Un hyperviseur est une plateforme de virtualisation qui permet à plusieurs
systèmes d’exploitation de fonctionner sur une même machine physique en
même temps

Deux types d’hyperviseurs :

HYPERVISEUR DE TYPE 1

 Un hyperviseur de Type 1, ou natif, est un logiciel qui s’exécute


directement sur une plateforme matérielle. Cette plateforme est alors
considérée comme outil de contrôle de système d’exploitation

 Un système d’exploitation secondaire peut, de ce fait, être exécuté au-


dessus du matériel

Virtualisation et Cloud Computing Pr M. Zbakh 27


HYPERVISEURS

 L’hyperviseur de type 1 est un noyau hôte allégé et optimisé pour ne faire


tourner initialement que des noyaux de systèmes d’exploitation invités
adaptés et optimisés à cette architecture spécifique, ces systèmes invités
ayant "conscience" d’être virtualisés

 Sur des processeurs ayant les instructions de virtualisation matérielle


(AMD-V et Intel VT), le système d’exploitation invité n’a plus besoin d’être
modifié pour pouvoir être exécuté dans un hyperviseur de type 1

Virtualisation et Cloud Computing Pr M. Zbakh 28


Examples : Xen, Oracle VM, ESX Server de Vmware.

Virtualisation et Cloud Computing Pr M. Zbakh 29


HYPERVISEUR DE TYPE 2

 Un hyperviseur de Type 2 est un logiciel qui s’exécute à


l’intérieur d’un autre système d’exploitation

 Un système d’exploitation invité s’exécutera donc en troisième


niveau au-dessus du matériel

 Les systèmes d’exploitation invités n’ayant pas conscience


d’être virtualisés, ils n’ont pas besoin d’être adaptés

 Exemples : VMware Workstation, VMware Fusion,


Hyperviseur open source QEMU, Microsoft Virtual PC et
Virtual Server, Virtual Box d’Oracle, Parallels Workstation de
SWsoft et Parallels Desktop

Virtualisation et Cloud Computing Pr M. Zbakh 30


TROIS TYPES DE VIRTUALISATION

VIRTUALISATION COMPLÈTE

 La virtualisation complète permet de faire


fonctionner n’importe quel système d’exploitation
en tant qu’invité dans une machine virtuelle

 Pour l’utilisateur final, ce type de virtualisation est


la plus simple à mettre en place et est la plus
pratique
Virtualisation complète

Virtualisation et Cloud Computing Pr M. Zbakh 31


PRINCIPE DE VIRTUALISATION COMPLÈTE

L’hyperviseur crée un environnement virtuel complet simulant un nouvel


ordinateur complet, avec du "faux matériel". Le système d’exploitation
invité (installé dans la machine virtuelle) ne communique qu’avec ce faux
matériel simulé

MAIS IL Y A DES LIMITATIONS …

 Ce type de virtualisation ne permet de virtualiser que des systèmes


d’exploitation prévus pour la même architecture matérielle que le
processeur physique de l’ordinateur hôte

 Par exemple, un ordinateur équipé d’un processeur Intel x86 sera


incapable de virtualiser un système d’exploitation prévu pour
fonctionner dans une architecture PowerPC.

Quelques hyperviseurs de virtualisation complète:


- VirtualBox
- VMWare Player, VMWare Workstation
- Parallels Desktop for Windows et Linux
- KVM 32
PARA-VIRTUALISATION

 La paravirtualisation fait intervenir un hyperviseur

 Il s’agit d’un noyau allégé au dessus duquel viendront se


greffer les systèmes invités

 Contrairement à un système traditionnel de machines


virtuelles où la virtualisation est transparente, avec la
paravirtualisation, le système invité doit avoir conscience Para-virtualisation
qu’il tourne dans un environnement virtuel ce qui implique
d’employer un noyau modifié.

Virtualisation et Cloud Computing Pr M. Zbakh 33


PARA-VIRTUALISATION

 Ce type de virtualisation permet des performances bien


plus importantes que la virtualisation totale assistée par
matériel vue précédemment

 Quelques hyperviseurs de virtualisation assisté:

- XEN
- VMWare ESX/ESXi
- Hyper-V (Microsoft) Para-virtualisation

Virtualisation et Cloud Computing Pr M. Zbakh 34


ISOLATEURS

 Un isolateur est un logiciel permettant d’isoler l’exécution des applications


dans ce qui sont appelés des contextes, ou bien zones d’exécution

 Un isolateur permet ainsi de faire tourner plusieurs fois la même application


dans un mode multi-instance « plusieurs instances d’exécution »

 Cette solution est très performante, du fait du peu d’overhead


« temps passé par un système à ne rien faire d’autre que se gérer »,
mais les environnements virtualisés ne sont pas complètement isolés

 La performance est donc bonne, cependant

On ne peut pas vraiment parler de virtualisation de systèmes d’exploitation

Virtualisation et Cloud Computing Pr M. Zbakh 35


ISOLATEURS

Isolateur

 Uniquement liés aux systèmes Linux, les isolateurs sont en fait composés
de plusieurs éléments et peuvent prendre plusieurs formes.

Virtualisation et Cloud Computing Pr M. Zbakh 36


ISOLATEURS

Exemples des Isolateurs:

• Linux-VServer (isolation des processus en espace utilisateur)


• Chroot (isolation changement de racine)
• BSD Jail (isolation en espace utilisateur)
• OpenVZ : libre (partitionnement au niveau noyau sous Linux)
• LXC : libre (usage des Groups du noyau Linux)
Isolateur

Virtualisation et Cloud Computing Pr M. Zbakh 37


Virtualisation et Cloud Computing Pr M. Zbakh 38
Virtualisation et Cloud Computing Pr M. Zbakh 39

Vous aimerez peut-être aussi