Vous êtes sur la page 1sur 87

Cours

Virtualisation et cloud

3LF TIC (2022-2023)

Mme Hajer DERBEL (hajer.derbel@enetcom.usf.tn)


Plan du cours

 Chapitre 1:
 Introduction
 Chapitre 2:
 Virtualisation de systèmes et de réseaux
 Chapitre 3:
 Infrastructure virtualisée
 Chapitre 4:
 Cloud Computing

2 Cloud et virtualisation - Mme DERBEL


Chapitre 1

Introduction
Chapitre 1: introduction
 Plan du chapitre
1. Rappels: machine physique et système d’exploitation
2. Concept de base de la virtualisation de systèmes

4 Cloud et virtualisation - Mme DERBEL


Rappel: machine physique et
système d’exploitation
Ordinateur, machine physique
 Un ordinateur est une machine physique qui permet le traitement de
l’information d’une façon automatique et programmable.
 Il contient un ensemble de ressources matérielles permettant
l’exécution des traitements voulus par les utilisateurs.
 Parmi les composants principaux d’une machine physique:
 Processeur (CPU):
 Permet le traitement de l’information
 Mémoire (RAM):
 Assure le stockage temporaire de l’information lors du traitement
 Élément(s) de stockage persistant (Disque ):
 Permet le stockage persistant de l’information avant/après traitement
 Unité(s) d’entrée/sortie:
 Permet le recueil et/ou la visualisation, la communication des
informations.

6 Cloud et virtualisation - Mme DERBEL


Qu’est ce qu’un système d’exploitation

 Un ordinateur est constitué


 De programmes / applications
 D’un système d’exploitation
 Du matériel

 Le système d'exploitation (SE, en anglais Operating System ou OS)


est un ensemble de programmes responsables de la liaison entre les
ressources matérielles d'un ordinateur (Hardware) et les applications
de l'utilisateur (Software).

7 Cloud et virtualisation - Mme DERBEL


Qu’est ce qu’un système d’exploitation
 Rôles d’un système d’exploitation:
 Abstraire le matériel pour le programmeur
 Cacher la complexité du matériel
 Fournir une interface virtuelle de la machine
 Protéger
 Protection entre utilisateurs (droits d’accès aux fichiers, espaces mémoires des
processus séparés)
 Protection du matériel
 Partager les ressources
 Partage du CPU (ordonnancement des processus)
 Accès concurrents à un périphérique
 Les systèmes d’exploitation des serveurs sont dédiés:
 Faciliter la gestion et l’administration des services réseau

8 Cloud et virtualisation - Mme DERBEL


Qu’est ce qu’un système d’exploitation
 Le principal composant d’un système d’exploitation est le noyau.
 Le noyau est la partie du système d’exploitation qui communique
directement avec le matériel.
 Le noyau un ensemble de gestionnaire d’interruptions, chargés en
mémoire au démarrage du système.
 Lorsqu’une application souhaite accéder à une ressource, ou plus généralement
invoquer une fonction du SE, elle procède à un appel système.
 Appel système désigne le moment où un programme s'interrompt pour
demander au système d'exploitation d'accomplir pour lui une certaine tâche

9 Cloud et virtualisation - Mme DERBEL


Vers la virtualisation de Systèmes
La virtualisation est l’ensemble techniques logicielles et matérielles
permettant de fournir un ensemble de ressources informatiques utilisables
indépendamment de la plate forme matériel.
Elle consiste à la séparation des parties logicielles et matérielles d’un
ordinateur dans le cas de la virtualisation de système  la virtualisation
de systèmes est l’ensemble de techniques permettant de faire tourner
plusieurs systèmes d’exploitation sur une même machine physique.

10 Cloud et virtualisation - Mme DERBEL


Concept de base de la virtualisation
de systèmes
Concept de base de la virtualisation de
système
Architecture traditionnelle Architecture virtualisée
• un système d’exploitation sur une •Ajout d’une couche d’abstraction
machine •Possibilités d’exécuter plusieurs
• Exécution de plusieurs applications OS sur la même machine physique
sur un serveur augmente le risque •Chaque machine virtuelle possède
d’interruption du service global ses propres applications et système
•En général, 1 serveur = 1 application d’exploitation

12 Cloud et virtualisation - Mme DERBEL


Concept de base de la virtualisation de
systèmes
Virtualisation de systèmes:
 Il s’agit d’une couche d’abstraction qui découple le système
d'exploitation du matériel afin de délivrer une meilleure utilisation et
flexibilité des ressources de traitement fournies par le matériel.
 Le fait d’exécuter plusieurs systèmes d’exploitation, en même temps,
sur une seule machine physique (serveur).
 C’est l’hyperviseur (VMM: virtual machine monitor) qui permet de réaliser
cette couche d’abstraction et cohabiter ainsi plusieurs systèmes
d’exploitation invités.
VM
Applications Applications Applications
Applications OS invité OS invité OS invité
Virtualisation
OS OS Hôte / Hyperviseur
de serveur

Serveur physique Serveur physique (Hôte)

13 Cloud et virtualisation - Mme DERBEL


Lexique
 Hôte: serveur physique
 OS Hôte: système d’exploitation de l’hôte
 Hyperviseur: couche logicielle permettant de réaliser l’abstraction du
matériel et gérer les machines virtuelles
 OS invité: système d’exploitation exécuté au sein d’une machine
virtuelle
 VM : machine virtuelle composée de:
 Système d’exploitation invité,
 Composants virtuels (CPU, RAM, disque dur, interface réseau, et autres
ressources nécessaires) emballés dans un ensemble de fichiers
 Applications (logiciels).

14 Cloud et virtualisation - Mme DERBEL


Principes de la virtualisation de systèmes

Plusieurs VM s’exécutent Chaque VM s’exécute dans un


simultanément sur le même environnement propre isolé des
serveur physique autres VMs (isolation)

Les VMs sont indépendantes du


Une VM est enregistrée dans un
matériel. Ces VMs peuvent
ensemble de fichiers. Pour
s’exécuter sur différents
migrer ou copier une VM il suffit
serveurs sans avoir besoin de
de copier ses fichiers associés
modifications
15 Cloud et virtualisation - Mme DERBEL
Avantages de la virtualisation de systèmes
 Consolidation: Optimisation du taux d’utilisation des ressources des
serveurs
 Rationalisation: Suppression des serveurs superflus (inutiles)
 Concentration: Réduction de l’espace occupé par les serveurs
Conséquences:
 La Réduction des coûts:
 Augmentation considérable du taux d’utilisation des ressources (atteindre des
taux d’utilisation important du CPU, stockage, etc.) Réduction du nombre de
serveurs physiques utilisés et à maintenir.
 Réduction de la consommation de l’énergie due aux fonctionnement des
serveurs et leur conditionnement (climatisation).
 Amélioration de la disponibilité des serveurs:
 Une plus grande souplesse pour gérer l’évolution des besoins
informatiques.

16 Cloud et virtualisation - Mme DERBEL


Inconvénients de la virtualisation de
systèmes
 Point de défaillance unique: une fois le serveur physique en panne,
toutes les VMs dessus sont inaccessibles (dans le cas ou on travaille
sur un seul serveur),
 Utilisation de machine physique puissantes,
 Complexité accrue da l’analyse des erreurs de fonctionnement et de
la localisation de problème,
 Un manque de standardisation implique souvent un problème
d’interopérabilité entre les solutions de virtualisation.

17 Cloud et virtualisation - Mme DERBEL


Domaines de virtualisation
 La virtualisation peut toucher plusieurs domaines:
 Virtualisation des serveurs (des systèmes d’exploitation):
 Faire tourner plusieurs systèmes d’exploitation simultanément sur la
même machine physique.
 Virtualisation de réseaux: Couvre plusieurs aspects différents:
 Les réseaux virtuels VLAN
 Réseau superposé (Overlay Network) et les réseaux définis par logiciels
(Software Defined Network)
 Configuration et mise en réseau de machines virtuelles.
 Virtualisation de stockage
 Création des volumes de stockage logique partageable à partir d’espaces
de stockage physiques (regroupement de disques, stockage réseau).
 Virtualisation d’application
 Virtualisation de bureau (VDI Virtual Desktop Infrastructure)
 Virtualisation de Datacenter

18 Cloud et virtualisation - Mme DERBEL


Chapitre 2
Solutions de la virtualisation de
systèmes
Plan du chapitre
 Hyperviseur (couche de virtualisation)

 Différentes solutions de virtualisation de systèmes

20 Cloud et virtualisation - Mme DERBEL


Hyperviseur (couche de
virtualisation)
Hyperviseur
 Hyperviseur ou gestionnaire de machine virtuelle VMM (VM Monitor)
 Couche logicielle permettant de créer, d’exécuter et de gérer des machines
virtuelles indépendantes sur le même serveur physique.
 Il est responsable de la gestion des ressources de l’OS invité incluant
son CPU, sa RAM et ses autres ressources dont il a besoin.
 En apparence, chaque OS invité a l'exclusivité du CPU, de la RAM et de
toutes les autres ressources de l'hôte.
 En réalité, l'hyperviseur contrôle le processeur et les ressources de l'hôte,
en allouant alternativement à chaque OS ce dont il a besoin.
 Dans un environnement physique, un OS communique directement
avec le matériel sur lequel il est installé.
 Dans un environnement virtualisé, grâce à l’hyperviseur, les opérations
sur le disque dur (lecture/écriture), les appels mémoire et les
commandes CPU se font sans conflit avec un autre OS.

22 Cloud et virtualisation - Mme DERBEL


Types d’hyperviseurs
 Il existe deux types d’hyperviseurs:
 Hyperviseur de type 1: appelé aussi natif (En: bare metal)
 logiciel de virtualisation de systèmes
 Installé directement sur une plateforme matérielle.

 Hyperviseur de type 2: appelé aussi hébergé (En: hosted)


 Logiciel de virtualisation de systèmes
 Il s’exécute à l’intérieur d’un autre système d’exploitation.

23 Cloud et virtualisation - Mme DERBEL


Hyperviseur de Type 2 (hébergé ou hosted)
 Il s’installe sur un système d’exploitation (d’où le nom type 2) et
recrée un environnement d’exécution complet pour un
programme ou un système invité.

 Toutes les opérations de l’invité sont interceptées et traduites


(traduction binaire) pour être exécutées par l’environnement
hôte, ce qui est une méthode très consommatrice de ressources.

 Solution destinée à des usages de


test et n’est pas adaptée à des
contextes de production.

24 Cloud et virtualisation - Mme DERBEL


Hyperviseur de Type 1 (natif ou bare metal)
 Un hyperviseur de Type 1 est un logiciel qui s’exécute directement sur
une plateforme matérielle.
 On peut trouver des hyperviseurs type1 intégrés en tant que modules au
niveau d’un système d’exploitation.
 L’hyperviseur de Type 1 ne fait pas de traduction binaire les
performances sont très proches d’un environnement non virtualisé.

 Un maximum de ressources peut


être alloué aux machines
virtuelles
 Dédié environnement de
production

25 Cloud et virtualisation - Mme DERBEL


Exemples d’hyperviseurs
 Vmware vSphere:
 Hyperviseur: ESXi
 Gestionnaire de hôte: vCenter Server
 Mircosoft Windows server:
 Hyperviseur: Hyper-V
 Gestionnaire de hôte: System Center Virtual Machine Manager
 Citrix:
 Hyperviseur: Xen
 Redhat:
 Hyperviseur: KVM, oVirt
 Proxmox:
 Hyperviseur: Proxmox PVE
 Huawei FusionSphere:
 Hyperviseur: Xen

26 Cloud et virtualisation - Mme DERBEL


Différentes solutions de
virtualisation de systèmes
(virtualisation de CPU)
Différentes solutions de virtualisation de
systèmes
 Un jeu d'instructions est l'ensemble des instructions machines qu'un
processeur d'ordinateur peut exécuter (ex. x86)
 Il définit la manière dont un processeur traite et exécute différentes
instructions transmises par l’OS et les programmes logiciels.
 Les instructions sont interprétées directement par le processeur.
 Cas des instructions critiques, exemple, arrêt système:
 Dans le cas de la virtualisation, ces instructions seront-elles transmises
directement au CPU pour exécution, ou doivent-elles avoir un traitement
particulier (ex. traduction)?
 Besoin de moyens spécifiques dans le cas de la virtualisation:
virtualisation du CPU
 Il existe 3 techniques de virtualisation de CPU:
 Virtualisation complète: Virtualisation de CPU basée sur un logiciel
 Para-virtualisation: Virtualisation du noyau
 Virtualisation matérielle (ou Virtualisation assistée par le matériel):
Virtualisation de CPU assistée par matériel

28 Cloud et virtualisation - Mme DERBEL


Virtualisation complète
 Première génération de la virtualisation pour les serveurs x86.
 Émulation complète du noyau
 Toutes les instructions critiques de l’OS invité sont interceptées et
traduites par l’hyperviseur pour être exécutées.
 C’est une méthode très consommatrice de ressources.
 Utilisation d’un hyperviseur au dessus de l’OS hôte permettant de faire
tourner des systèmes d’exploitations natifs (non modifiés).
 N’empêche pas les applications invitées de s’exécuter nativement.

 Avantage:
 Le système d'exploitation invité n'a pas conscience d'être virtualisé. Il n'a
donc pas besoin d'être adapté/modifié.
 Inconvénient:
 Grande complexité et performances limitées

29 Cloud et virtualisation - Mme DERBEL


Para-virtualisation
 La para-virtualisation évite d'utiliser un OS hôte complet pour faire la
virtualisation.
 A la place, un noyau système léger (hyperviseur type1) est utilisé.
 L’hyperviseur ne fait pas de traduction binaire.
 Modification des codes binaires des OS invités:
 OS invité modifié
 Dans ce cas, l’OS invité a conscience d'être virtualisé.
 Avantage:
 La para-virtualisation permet aux hyperviseurs d'être plus simples et aux
VM d’atteindre un niveau de performance proche du réel.
 Pas de traduction des instructions.
 Inconvénients:
 Les OS invités doivent être modifiés pour s’exécuter dans un
environnement virtualisé

30 Cloud et virtualisation - Mme DERBEL


Virtualisation matérielle
 La virtualisation matérielle est une technique de virtualisation qui
permet une virtualisation complète efficace en utilisant les capacités
matérielles, principalement le CPU de l’hôte.
 Le support de la virtualisation est intégré aux processeurs: en plus des
autres modes (superviseur et utilisateur), les processeurs qui
supportent la virtualisation matérielle incluent un nouveau mode
d’exécution du processeur:
 Mode Extension de Machine Virtuelle (Virtual Machine Extension, VMX).
 Ajout de nouvelles d’instructions qui permettent d’entrer et de sortir du
mode d’exécution virtuel.

 Intel et AMD ont implanté leurs


technologies de virtualisation
(extension du jeux d'instructions
dédiée à la virtualisation)
 AMD-V: AMD Virtualization
 Intel VT: Intel Virtualization
Technology
31 Cloud et virtualisation - Mme DERBEL
32 Cloud et virtualisation - Mme DERBEL
Mise en réseau de VM
(Réseau Virtuel)
Virtualisation de réseaux

VM bleue VM rouge Réseau bleu Réseau rouge


Virtualisation

Serveur Réseau
physique physique

Virtualisation de serveur Virtualisation de réseau


Exécuter plusieurs serveurs virtuels sur un Exécuter plusieurs réseaux virtuels sur
serveur physique un réseau physique
Chaque serveur virtuel a l’illusion de Chaque réseau virtuel a l’illusion de
fonctionner en tant que serveur physique fonctionner comme un réseau physique

34 Cloud et virtualisation - Mme DERBEL


Virtualisation de réseaux
 Un réseau virtuel est constitué d'une ou plusieurs VM configurées pour
accéder aux ressources réseau locales ou externes. Ce type de réseau
est configuré pour utiliser ou pas une carte réseau physique.
 C’est différent du réseau physique qui connecte les hôtes.
 Des liaisons Ethernet virtuelles permettent à des VM de communiquer
entre elles (sans qu'il soit nécessaire de leur affecter du matériel
physique).
 Les cartes réseaux virtuelles sont émulés, gérés, configurés et contrôlés
par l’hyperviseur et reliés à des switch virtuels qui à leur tour peuvent être
reliés aux interfaces réseaux physiques
 Un Switch virtuel fonctionne de manière similaire à un commutateur
physique
 Le Switch virtuel est relié à une ou des cartes réseau physiques associées
au serveur hôte pour connecter le réseau virtuel au réseau physique.

35 Cloud et virtualisation - Mme DERBEL


.
Aperçu de la virtualisation des réseaux
Machines Hôte 1 Hôte 2
Virtuelles
VM 1 VM 2 VM 3 VM 1 VM 2 VM 3
Réseau
Cartes réseau Virtuel
virtuelles

Switch
Virtuel
Hyperviseur Hyperviseur

Serveur
Physique

Cartes réseau Réseau


physiques Physique

Switch
Physique

36 Cloud et virtualisation - Mme DERBEL


Réseau entre VM et hyperviseur
 Les applications dans une VM communiquent
avec le monde extérieur à travers la carte
réseau virtuelle de la VM.
 L’hyperviseur est le gestionnaire du trafic
réseau en entrée ou en sortie de chaque VM.
 L’émulateur réseau reçoit les requêtes réseau
venant des VMs depuis leurs cartes réseau
virtuelles.
 Les requêtes sont envoyées ainsi à la carte
réseau physique de l’hôte.
 Les réponses suivent le chemin inverse.

37 Cloud et virtualisation - Mme DERBEL


Switch Virtuel
 Fonctionne de manière similaire qu’un Switch Ethernet physique:
 Permet aux VMs connectées à ses ports (virtuels) de communiquer
ensemble et former un réseau (virtuel).
 Supporte la notion des VLANs.
 Il est créé et géré au niveau de l’hyperviseur.
 Il peut être connecté (à travers ses ports virtuels) à une ou plusieurs
cartes réseau physiques de l’hôte:
 Cela permet de connecter le réseau virtuel (les VMs) au réseau physique.
 Cela permet aussi de connecter ensemble les réseaux virtuels (les VMs)
hébergés sur des hôtes différents.
 Les Switchs virtuels permettent de réaliser les cas de figure suivants:
 Communications des VMs d’un même hôte ensemble.
 Communications des VMs d’un hôte avec des VMs sur d’autres hôtes.
 Communications des VMs avec l’extérieur.
 On peut créer plusieurs Switch virtuel sur le même hôte.
38 Cloud et virtualisation - Mme DERBEL
Réseau de VMs dans un hyperviseur
 Plusieurs Switchs virtuels VM1 VM2
peuvent être créés sur le
même hôte.
 Un Switch virtuel interne
permet de connecter des VMs
du même hôte.
 Utile pour isoler une VM (VM2)
 Permet de garder un trafic
interne (entre VM1 et VM2) à
l’intérieur d’un hôte,
 Trafic interne plus rapide,
 Trafic non visible par les outils
d’analyse réseau ordinaire.
 Un Switch virtuel externe sert à
connecter les VMs avec l’extérieur
aussi.
39 Cloud et virtualisation - Mme DERBEL
Chapitre 3
Infrastructure virtualisée
Architectures de stockage
DAS, NAS, SAN
Architectures de stockage
 Différentes architectures de stockage

 Stockage local
 DAS: Direct Attached Storage

 Stockage Réseau
 NAS: Network Attached Storage
 SAN: Storage Area Network

42 Cloud et virtualisation - Mme DERBEL


DAS: Direct Attached Storage
 Comme son nom l’indique,
au niveau du DAS, la baie Réseau
Serveur 1 Host Bus Adapter
de disque est directement LAN
DB

connectée au serveur. DAS #1


 Il est impossible de relier un
Serveur 2
disque à plusieurs machines FTP
simultanément.
DAS #2
 L’espace libre sur les
disques de chaque serveur Serveur 3
AD
ne peut pas être redistribuée
Client
entre les serveurs DAS #3
allocation d’espace disque
Serveur N
non optimisée
DAS #N

43 Cloud et virtualisation - Mme DERBEL


Solution au DAS
 Solution aux problèmes du DAS: Simplifier la gestion du stockage en
séparant les données et le serveurs.
Notion de stockage réseau (NAS et SAN)
Serveur 1 Serveur 1

Serveur 2 Serveur 2

Serveur 3 Serveur 3

Serveur 4 Serveur 4

44 Cloud et virtualisation - Mme DERBEL


NAS: Network Attached Storage
 NAS: Serveur de stockage directement attaché au réseau IP fournissant
un service de partage de fichiers aux clients et aux serveurs d’un
environnement hétérogène
 NAS: Serveur spécifique (Redondance de nombreux composants de ce
serveur) avec un OS spécifique
 Les stations de travail et les serveurs accèdent généralement aux NAS via
un protocole réseau tel que TCP/IP et des applications telles que Network
File System (NFS) , Common Internet File System (CIFS) , etc.
 Transfert en mode fichier
Serveur 1 LAN public

Serveur 2

NAS

Client
45 Cloud et virtualisation - Mme DERBEL
SAN : Storage Area Network
 Les disques durs ne sont pas reliés directement aux serveurs
cependant les baies de stockage sont directement accessibles.
Chaque serveur voit l’espace disque d’une baie auquel il a accès
comme son propre disque dur.
mutualisation des ressources de stockage
 Idéale pour des applications ayant besoin de performances disques
ou de grosses capacités de stockage (Sauvegarde, SGBD,
Virtualisation…)
 Transfert en mode bloc
Réseau de stockage
Serveur 1 (haute performance)
LAN
SAN

Serveur 2
Client
46 Cloud et virtualisation - Mme DERBEL
Comparison entre les solutions de stockage
 Le NAS fait référence à un périphérique précis, relié au LAN et
potentiellement accessible par tous les usagers du réseau.
 Le SAN fait référence à un réseau de données à part entière, en
parallèle du LAN

47 Cloud et virtualisation - Mme DERBEL


Stockage des VM et
migration à chaud des VM
Stockage de VM dans un environnement
virtualisé
 Le stockage des données dans un environnement virtualisé peut
être:
 Local: dans les disques durs des hôtes.
 Partagé: dans les disques durs des serveurs dédiés pour le stockage des
données et qui sont partagés sur le réseau.
 Généralement
 Le stockage local peut être utilisé pour enregistrer les copies et les
images de VMs.
 Le stockage partagé doit être utilisé pour assurer ces services: la
migration de VM, la haute disponibilité et la tolérance au pannes.

49 Cloud et virtualisation - Mme DERBEL


Stockage de VM dans un environnement
virtualisé
 On utilise un SAN dans un environnement virtuel généralement pour
enregistrer les VM (une VM est un ensemble de fichiers stockés sur un
périphérique de stockage).
 l’utilisation de l’architecture SAN et le regroupement de serveurs facilite le
déplacement des VMs.

50 Cloud et virtualisation - Mme DERBEL


Regroupement de serveur
 Généralement, la migration de VM doit être faite entre nœuds
partageant certaines caractéristiques:
 Gestion et supervision commune, espace de stockage partagé ou distribué,
 Infrastructure réseau dédiée pour éviter les latences.
 Ces nœuds doivent être préconfigurés à l’avance pour pouvoir offrir de
tel services.
 La mise en groupe de ces nœuds s’appelle clustering, et le résultat est
un cluster (grappe de serveur).
 Une fois configuré, les services de haute disponibilité peuvent être activés.
 Cela permet l’automatisation de la migration des VMs selon des règles et
des politiques configurables,
 La décision de migration devient automatique et motivée par:
 Répartition de charge entre nœud pour optimiser de la consommation
énergétique.
 Assurer la continuité de service en cas de panne d’un nœud physique.

51 Cloud et virtualisation - Mme DERBEL


Migration de VM: principe
 La migration de VM est le processus de déplacement d’une VM dans
son état d’un hôte physique vers un autre.
 Si elle est en cours d’exécution, cela doit être avec transparence, sans
déconnexion du client ou de l’application exécutée.
 L’état d’une VM en cours d’exécution inclut l’état de:
 La mémoire (volatile et non-volatile), le(s) CPU virtuel, le stockage, et
périphériques connectés et la connectivité réseau.
 Raisons:
 Panne, maintenance ou mise à jour de l’hôte d’origine,
 Surcharge de l’hôte d’origine: limites atteintes de ses capacités,
 Équilibrage des charges entre hôtes,
 Optimisation de la consommation de l’énergie.
 Il existe 2 stratégies de migration:
 Migration à froid,
 Migration à chaud (live migration).

52 Cloud et virtualisation - Mme DERBEL


Migration à chaud
 La VM est déplacée en cours de son exécution en temps réel:
 L’état de la mémoire, du stockage et de la connectivité réseau sont
transférés de l’hôte source vers l’hôte destination.
 La VM n’est pas éteinte ni mise en pause, elle doit continuer à fournir ses
services sans interruption.
 La tâche la plus difficile dans ce type de processus est la copie de la
mémoire alors que la VM est en cours d’exécution:
 L’état de la mémoire est variable tant que la VM fonctionne.
 Généralement, avant de pouvoir migrer à chaud une VM d’un hôte
vers l’autre il faut que celle-ci soit stockée dans un espace de
stockage partagé entre ces deux hôtes tel qu’un SAN
 Principaux raisons de la migration à chaud (dynamique) des VM:
 Assurer la haute disponibilité (HA)
 Assurer l’équilibrage de charges (Load balancing)
 Etc.

53 Cloud et virtualisation - Mme DERBEL


Migration à chaud de VM
 Migration à chaud d’une VM entre deux hôtes partageant le même
espace de stockage et appartenant au même cluster.
 Cette migration s'effectue en 3 étapes :
-recherche d'un hôte de
cible
-réserver un conteneur sur
l'hôte distant en lui envoyant
une requête de réservation
VM en cours en y indiquant les ressources
d’exécution sur l’hôte nécessaires à la machine
virtuelle
source
Copie de la mémoire:
Les données relatives à la
VM qui sont enregistrées au
niveau de la mémoire sont
transférées à travers le
réseau de l’hôte source à
l’hôte cible.
VM en cours
Basculement automatique
d’exécution sur l’hôte de serveur
cible
54 Cloud et virtualisation - Mme DERBEL
Exemple d’infrastructure virtualisée

55 Cloud et virtualisation - Mme DERBEL


Chapitre 4
Cloud
Computing
Chapitre 4

Le concept du Cloud Computing

 1) Définition
 2) Modèles de service Cloud
 3) Modèles de déploiement Cloud

57 Cloud et virtualisation - Mme DERBEL


le Cloud, il est où?
 Le Cloud n’est qu’une couche logicielle supplémentaire au-dessus de la
virtualisation et qui a permis :
 L’automatisation de l’utilisation à la demande des services de la virtualisation
(création de VM, gestion de VM, déploiement, etc.) à travers le réseau
(internet),
 Le déploiement rapide de VMs et des applications développées,
 La mise en œuvre de nouveau paradigme de développement et de
déploiement d’applications dans des environnements cloud,
 La supervision et le suivi de l’utilisation de ces services par les utilisateurs,
 La mesure et la facturation des services consommés (abonnements
périodiques ou selon le temps d’utilisation),
 La location de ressources informatiques au lieu de les acquérir,
 La mutualisation des infrastructures informatiques pour des entreprises
différentes.
 Ainsi, le Cloud est devenu un concept de mise en œuvre d’un système
d’information d’entreprise.
58 Cloud et virtualisation - Mme DERBEL
1) Cloud Computing CC: Définition
 Cloud: nuage, c’est le terme qui représente Internet
 Computing: calcul, pour faire référence à la puissance de calcul,
autrement dit, de traitement qu’on peut avoir.
 Définition selon Gartner :
 CC is a style of computing in which scalable and elastic IT-enabled capabilities
are delivered as a service using internet technologies.
 C’est un « style » de calcul dans lequel des capacités informatiques évolutives
et élastiques sont fournies en tant que service à l'aide d’Internet.
 Définition selon NIST (National Institute of Standards and Technology):
 CC is a model for enabling convenient, on-demand network access to a
shared pool of configurable computing resources that can be rapidly
provisioned and released with minimal management effort or service provider
interaction.
 C'est un modèle permettant un accès réseau pratique et à la demande à un
pool partagé de ressources informatiques configurables qui peuvent être
rapidement provisionnés et libérés avec un effort de gestion ou une interaction
avec le fournisseur de services minimal.
59 Cloud et virtualisation - Mme DERBEL
Caractéristiques du CC (selon NIST)
 Cinq caractéristiques essentielles
1. Libre Service à la demande (On-demand self-service)
2. Large accès au réseau (Broad network access)
3. Mutualisation des ressources (Resource pooling)
4. Élasticité rapide (Rapid elasticity)
5. Service mesuré /payé selon la consommation (Measured service/
Pay per use)
 Les solutions cloud reposent principalement sur des technologies de
virtualisation et d’automatisation.
 Trois caractéristiques clés du Cloud le différencient de l’informatique
traditionnelle :
 Mutualisation et allocation dynamique de capacité (adaptation élastique aux
variations de charge).
 Services à la place de produits technologiques avec mise à jour en continu
et automatique.
 Self-service et paiement à l’usage (en fonction de ce que l’on consomme).

60 Cloud et virtualisation - Mme DERBEL


Avantages
 Il existe plusieurs avantages de passer au concept Cloud, parmi
lesquels, 3 avantages particuliers séduisent les entreprises:
 1) Rapidité de déploiement :
 Au besoin de ressources informatiques, il faut acquérir, installer et configurer
toutes les pièces nécessaires  délai trop long.
 Avec une solution cloud, l'équipement fonctionne déjà chez le CP et on peut
commencer à utiliser le service en un temps record (~ quelques minutes).
 2) Pas de coûts initiaux importants:
 Au lieu d’investir des sommes énormes pour l’achat (et la maintenance)
d’équipements informatiques nécessaires au démarrage de son activité,
l’entreprise ne dépense que ce qu’elle consomme dans le Cloud.
 3) Extensibilité rapide
 Quand les limites des ressources louées sont atteintes, l’augmentation de
capacité est réalisée immédiatement à la demande en profitant de la
disponibilité des ressources d’un CP.

61 Cloud et virtualisation - Mme DERBEL


2) Modèles de service Cloud
 Un modèle de service Cloud est un ensemble de services
informatiques offerts par un fournisseur.
 Un CP est responsable de la fourniture des ressources requises au
fonctionnement des services offerts à un consommateur Cloud dans
le cadre d'un contrat de service prédéfini et convenu d'un commun
accord appelé SLA (Service Level Agreement).
 NIST définie 3 modèles de service Cloud:
 IaaS: Infrastructure as a Service
 IaaS désigne la mise à disposition de ressources matérielles (puissance de
calcul, espace de stockage) sous forme de serveurs “virtualisés” avec des
capacités évolutives.
 PaaS: Platform as a Service
 Il s’agit d’offrir des ressources machines et de l’espace de stockage, mais une
plateforme d’exécution pour un logiciel.
 SaaS: Software as a Service
 C’est l’application qui est mise à disposition de l’utilisateur final.

62 Cloud et virtualisation - Mme DERBEL


Répartition des responsabilités suivant les
modèles de services

63 Cloud et virtualisation - Mme DERBEL


Autres modèles dérivés du SaaS
 Database as a Service DBaaS:
 C’est une forme spécifique du SaaS spécialisée dans la fourniture
d’opérations liées aux bases de données.
 Permet au CP de fournir les fonctionnalités des bases de données à
des consommateurs multiples.
 Des services mutuels supplémentaires peuvent être inclus:
 Élasticité, multi-tenance sécurisée, protection contre les attaques,
sauvegarde, etc.
 Communication as a Service CaaS:
 Des services de communications sont fournis sous forme de SaaS:
 Voix sur IP, vidéoconférence, messagerie instantanée, etc.
 Anything as a Service XaaS:
 En combinant tous les modèles, tous peut être fournit sous forme de
service IT à travers le Cloud.

64 Cloud et virtualisation - Mme DERBEL


Responsabilité
 L’existence de différents modèles de services dans le Cloud implique
des niveaux de responsabilité différents pour chaque modèle.
 La responsabilité peut être divisée sur les différentes parties:
 Consommateur du service Cloud: selon le modèle, il peut être l’utilisateur
final (SaaS), le développeur/intégrateur (PaaS), l’administrateur (IaaS).
 Fournisseur du service Cloud: celui qui vend/loue le service au
consommateur
 Fournisseur de l’infrastructure Cloud: celui qui héberge le service Cloud dans
son infrastructure.

65 Cloud Computing - Mme DERBEL


3) Modèle de déploiement Cloud
 Afin de mettre en œuvre les valeurs des modèles de services Cloud et
pour permettre aux utilisateurs d’en profiter, un modèle de déploiement
Cloud doit être choisi.
 Le choix du modèle peut largement impacter une organisation ainsi que
son métier.
 C’est pour cela qu’une grande attention et une planification minutieuse
doivent être considérées lors de l’implémentation d’un déploiement
Cloud dans une entreprise.
 Une étude préalable doit être faite pour évaluer l’impact et les bénéfices
de ce changement sur un système d’information existant.
 Officiellement selon NIST, il existe 3 types de déploiement Cloud:
 Cloud privé,
 Cloud public,
 Cloud hybride.

66 Cloud et virtualisation - Mme DERBEL


Cloud privé
 Un cloud privé est un modèle de déploiement Cloud où l’infrastructure
matérielle est possédée par une seule organisation.
 L’accès au service Cloud est restreint aux membres de l’organisation et,
le cas échéant, ses partenaires.
 La maintenance de l’infrastructure ainsi que des services Cloud est
assuré par l’organisation, à travers une équipe locale interne ou une
entreprise spécialisée sous-traitante.
 Dans un cloud privé, l’organisation propriétaire est le fournisseur et
consommateur du cloud en même temps.
 Elle assure l’entière responsabilité de bout en bout sur tous les niveaux.
 Elle a le contrôle totale sur toutes les ressources.
 La mise en œuvre d’un cloud privé est souvent motivé par le besoin de
maintenir le contrôle totale pour des raisons légales ou sécuritaire:
 Exemple: les banques ont des contraintes de confidentialité qui les
interdisent d’externaliser les données.

67 Cloud et virtualisation - Mme DERBEL


Cloud public
 Un cloud public est une énorme infrastructure de ressources
informatiques possédée par une organisation CP et dont l’utilisation est
destinée à des consommateurs externes via le réseau Internet.
 L’accès au cloud public est destiné à tous:
 Des particuliers (grand public).
 Des entreprises, des organisations, etc.
 Le consommateur a juste besoin d’un terminal (PC, Téléphone,
Tablette, etc.) et d’un accès Internet.
 La maintenance d’infrastructure physique est la responsabilité du CP
mais la responsabilité des services Cloud dépend du modèle utilisé et
du contrat SLA entre les entités impliquées.
 Les consommateurs sont facturés selon 2 modèles:
 Abonnement mensuel,
 Facturation à l’utilisation (par heure).
 Exemple de grand fournisseurs: Amazon, Google, Microsoft, IBM, OVH.
68 Cloud et virtualisation - Mme DERBEL
Cloud public (suite)
 Avantages:
 Plus d’élasticité et d’évolutivité par rapport au cloud privé:
 Grandes capacités des fournisseurs CP permettant d’avoir des ressources
« infinies »,
 Plus besoin d’un grand coût d’investissement initial dans le matériel,
 Pas de gestion et de maintenance matériels,
 Consommation à l’utilisation
 Inconvénients:
 Dépendance exclusive à internet et forte à ses services comme DNS,
 Une rupture de contrat avec le CP peut provoquer une coupure
immédiate des services,
 Délocalisation des données sensibles (sécurité, etc)
 Risques de perte de contrôle,
 Manque de confiance dans les CPs.
69 Cloud et virtualisation - Mme DERBEL
Cloud hybride
 Un cloud hybride est un modèle qui combine le cloud privé et public
pour assurer le fonctionnement d’une même organisation.
 Une organisation peut :
 Posséder un cloud privé pour exécuter des applications spécifiques pour des
raisons de sécurité,
 Utiliser les services d’un cloud public pour héberger d’autres applications,
fichiers et bases de données non critiques.
 Ce modèle permet de:
 Profiter des avantages d’évolutivité et de rentabilité du cloud public,
 Éviter d’exposer des données critiques et sensibles à un tier (CP).

70 Cloud et virtualisation - Mme DERBEL


Plateformes d’orchestration
 Un cloud est basé sur les technologies de virtualisation des systèmes
d’exploitation, de stockage et de réseau.
 Les demandes de création des ressources virtuelles ne cesse
d’augmenter et implique:
 Gestion lourde des cycles de vie de ces ressources,
 Gestion des accès distants à ces ressources,
 Besoin de mesurer l’utilisation de ces ressources en vue de facturation.
 Les plateformes d’orchestration fournissent l’automatisation de ces
demandes et de la gestion d’un environnement cloud:
 Gestion de VM et des services cloud à travers un navigateur web: création
des VM et services, lancement, arrêt, déploiement, intégration, etc.
 Gestion des accès aux ressources créées: identification des utilisateurs et
attribution d’autorisations,
 Tableau de bord (Dashboard): Supervision des services consommés et suivi
de la consommation en temps réel.
  Facilité et rapidité du déploiement des services et applications
71 Cloud et virtualisation - Mme DERBEL
Chapitre 5

Conteneurisation: virtualisation
d’application
1. Principe de conteneurisation
2. Image de conteneur
3. Conteneurs Docker

72 Cloud et virtualisation - Mme DERBEL


Principe de la conteneurisation
Conteneurisation
VM1 VM2
 La virtualisation d’OS permet d’avoir une
App App
VM complète:
OS invité 1 OS invité 2
 Très bénéfique pour plusieurs utilisations.
Apps
 Mais, présente certains inconvénients: Hyperviseur
 Consommation de ressources et Hyperviseur
OS hôte
affaiblissement de performances,
Hôte
 Couche d’OS complète inutile pour
certaines circonstances. Virtualisation d’OS
 Souvent, on a besoin seulement de
l’application qui va tourner sur une VM: App1 App2
 L’application a besoin de certains modules Isolateur Isolateur
Apps
de l’OS (bin et lib) et non pas d’un OS. Conteneur Conteneur

 Un conteneur permet de fournir les OS hôte


modules nécessaires à l’exécution d’une
Hôte
application dans un environnement isolé.
Virtualisation d’App
74 Cloud et virtualisation - Mme DERBEL
Conteneurisation

75 Cloud et virtualisation - Mme DERBEL


Conteneur (container)
 Un conteneur est une partie logique servant à isoler les applications sur un même
serveur. Plutôt que de répliquer entièrement un système d'exploitation pour chaque
application, comme dans une VM, les conteneurs permettent aux applications
d'un serveur de partager le même noyau du système d'exploitation. Ce système
d'exploitation partagé est appelé OS hôte.
 Un conteneur est une encapsulation des composants nécessaires à l’exécution
d’une application (micro-service) au dessus du noyau de l’OS hôte.
 Les composants nécessaires incluent entre autres:
 Fichiers binaires exécutables (binary files),
 Bibliothèques (librairies), outils système (system tools), dépendances à d’autres
applications,
 Fichiers de configuration d’environnement (réseau, etc.) et d’exécution (path)

 Un conteneur s'appuie sur le noyau, mais le noyau ne fournit pas toutes


les API et tous les services dont une application a besoin pour s'exécuter:
 La plupart d'entre eux sont fournis par des fichiers système (bibliothèques) qui
s'exécutent au-dessus du noyau en mode utilisateur.

76 Cloud et virtualisation - Mme DERBEL


Conteneur (suite)
 Le conteneur permet de créer un environnement léger et isolé sans
influence:
 sur l’OS hôte et ainsi que ses applications,
 ni sur d’autres conteneurs hébergés sur le même OS hôte.
 Le conteneur peut être déplacé d’un hôte vers un autre sans affecter
les fonctionnalités de l’application qu’il encapsule:
 Migration facile et légère du conteneur grâce à l’absence de la couche
OS.
 Toute modification n'affecte que le conteneur et est ignorée lorsqu'il
est supprimé.
 Une fois supprimé, toute donnée manipulée au sein du conteneur sera
perdue.
 Pour enregistrer des données, le conteneur peut monter un stockage
persistant (disque) ou un partage/envoi de fichiers à travers le réseau.

77 Cloud et virtualisation - Mme DERBEL


Image de conteneur
Image de conteneur
 Les conteneurs sont créés à partir d’image de conteneur.
 Une image de conteneur est un ensemble de fichiers statiques non
modifiables organisés en une pile de couches qui réside sur un hôte
local ou dans un registre de conteneurs distant.
 L'image du conteneur se compose :
 des fichiers de l’OS cible en mode utilisateur nécessaires pour prendre en
charge une application,
 de tous les environnements d'exécution ou dépendances de l’application, et
 de tout autre fichier de configuration divers dont l’application a besoin pour
s'exécuter correctement.
 L’image peut être vu comme un modèle de conteneur à instancier.
 Un conteneur est en quelque sorte une instance d’image en cours
d’exécution.
 Si une image est supprimée, tous les conteneurs dépendants d’elle le seront
aussi.

79 Cloud et virtualisation - Mme DERBEL


Image de conteneur: exemple
 Si on veut déployer une application web dans un
serveur LAMP (Linux Apache MySQL PHP) sous
forme d’un conteneur, l’image à instancier doit
contenir:
 Une couche des fichiers systèmes et librairies de l’OS
cible (ex. Ubuntu) nécessaires à l’exécution de Apache,
MySQL et PHP.
 Une couche Apache pour démarrer le serveur Web avec
les fichiers de configuration
 Une couche MySQL qui contiendra le système de
gestion de bases de données MySQL
 Une couche PHP contenant un interpréteur PHP avec
bibliothèques requises.
 Il suffit donc de:
 Télécharger une image qui contient ces couches,
 Instancier un conteneur (avec un moteur de conteneur)
à partir de cette image, et
 Développer/Déployer l’application voulue dans le
conteneur créé.

80 Cloud et virtualisation - Mme DERBEL


Conteneur Docker
Environnement d’exécution de conteneur
 La création et l’exécution des conteneurs requièrent un logiciel
spécifique appelé environnement d’exécution de conteneur (Container
runtime):
 Comme JRE (Java Runtime Environment) pour les applications Java.
 C’est l’équivalent de l’hyperviseur dans la virtualisation de systèmes.
 C’est le responsable de la création d’environnement isolé pour
l’exécution d’application et donc faire fonctionner le conteneur.
 C’est lui qui communique avec le noyau de l’OS hôte pour :
 Charger une image de conteneur (décompression et chargement),
 Gérer le cycle de vie du conteneur.
 Appliquer les politiques d’accès et de sécurité pour l’exécution de conteneur.
 runC environnement d’exécution de Docker: basé sur LXC avec de
nouvelles fonctionnalités qui facilitent la création d’image et la mobilité
des conteneurs entre hôtes.

82 Cloud et virtualisation - Mme DERBEL


Moteur de conteneur
 Un moteur de conteneur (Container engine) est une couche logicielle
haut niveau qui se base sur un runtime pour l’utilisation des
conteneurs.
 Les moteurs de conteneurs permettent généralement de:
 Gérer les entrées des utilisateurs,
 Gérer les entrées via les API (pour être utilisé par d’autres logiciels),
 Extraire l'image du conteneur d'un serveur de registre,
 Utilisez le pilote graphique pour décompresser et étendre les images de
conteneur sur le disque
 Préparer les points de montage pour les conteneurs, généralement en
utilisant le stockage copy-on-write (COW).
 Préparer les données nécessaires à transmettre au runtime pour lancer le
conteneur correctement.
 Appeler le runtime du conteneur.
 Exemple: Docker (projet containerd) et LXD (basé sur LXC).

83 Cloud et virtualisation - Mme DERBEL


Cas du docker
 Architecture du moteur Docker
 Le client Docker prend les commandes et envoie ces commandes au
démon via l'API. Le démon Docker est responsable de
l'implémentation de ces commandes à l'aide
des bibliothèques containerd et runc.

84 Cloud et virtualisation - Mme DERBEL


Cas du docker

85 Cloud et virtualisation - Mme DERBEL


Analogie avec la programmation
Docker program
mation

Texte dockerfile Code


source source
modèle image exécutable

instance Conteneur Objet


instancié

86 Cloud et virtualisation - Mme DERBEL


Image de conteneur (cas du docker)

87 Cloud et virtualisation - Mme DERBEL

Vous aimerez peut-être aussi