cours sur le cloud et la virtualisationconcept de virtualisation tel qu’il existe de nos jours est...

52
REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE Ministère de l’enseignement supérieur et de la recherche scientifique Université Larbi Ben M’hidi- Oum El Bouaghi- Faculté des Sciences Exactes et des Sciences de la Nature et de la Vie Département de Mathématiques et Informatique Cours Sur Le Cloud et la Virtualisation Niveau : 2 ème année Master Spécialité : Architecture Distribuée Proposé par Dr. ZERTAL Soumia Edition 2.0 2019/2020

Upload: others

Post on 06-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE

Ministère de l’enseignement supérieur et de la recherche scientifique

Université Larbi Ben M’hidi- Oum El Bouaghi-

Faculté des Sciences Exactes et des Sciences de la Nature et de la Vie Département de Mathématiques et Informatique

Cours Sur

Le Cloud et la Virtualisation

Niveau : 2ème année Master

Spécialité : Architecture Distribuée

Proposé par

Dr. ZERTAL Soumia

Edition 2.0

2019/2020

Page 2: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

Table des matières Préambule ..............................................................................................................................2

Chapitre I: Virtualisation ................................................................................................3

1. Introduction ....................................................................................................................4

2. Terminologie ..................................................................................................................5

3. La virtualisation ..............................................................................................................6

4. Historique .......................................................................................................................6

5. Pourquoi virtualiser.........................................................................................................8

6. Avantages liés à la virtualisation .....................................................................................9

7. Différence entre consolidation, rationalisation et concentration ? .................................. 10

8. Hyperviseur .................................................................................................................. 12

9. Les différents type de la virtualisation ........................................................................... 16

10. Les principales solutions ............................................................................................ 20

11. La virtualisation VS Les conteneurs ........................................................................... 23

12. La virtualisation de stockage ...................................................................................... 24

Activité Pratique 1: Etude de cas : Virtualisation .................................................................. 31

Chapitre II Cloud computing........................................................................................... 36

1. Introduction .................................................................................................................. 37

2. Historique ..................................................................................................................... 37

3. Définition du Cloud Computing .................................................................................... 39

4. Les caractéristiques du Cloud Computing ..................................................................... 40

5. Modèles de services ...................................................................................................... 41

6. Modèles de déploiement du Cloud ................................................................................ 43

7. Les avantages et les inconvénients du Cloud ................................................................. 45

8. Les principaux acteurs du Cloud Computing ................................................................. 46

9. Cloud et la virtualisation ............................................................................................... 47

Activité Pratique 2 ................................................................................................................ 49

Références ............................................................................................................................ 51

Page 3: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

Préambule

Le présent document s'agit d'un support de cours concernant la matière intitulée « Cloud et

Virtualisation », enseigné au Département de Mathématiques et d'Informatique à l'université

d'Oum El Bouaghi et destiné aux étudiants de la deuxième année Master en informatique, option

architecture distribuée.

L’objectif de ce cours vise à donner aux étudiants une :

Compréhension sur les principes de la virtualisation ;

Manipulation des différents concepts de la virtualisation à travers des outils

pratiques ;

Découverte de la notion du Cloud Computing et ses applications ;

Connaissance des plateformes Cloud les plus connues et de manipuler les services

offerts par au moins une de ses plateformes.

Afin d'atteindre l'objectif tracé, nous avons déployé tous les efforts pour approcher ce travail

dans plusieurs aspects et nous avons synthétisé les informations les plus pertinentes en nous

appuyant sur des sources variées (ouvrages, notes de cours, articles, sites internet…). Tout en

respectant le canevas officiel défini par le ministère de l'enseignement supérieur et de la

recherche scientifique. Pour rendre le cours plus attractif, nous avons ajouté des séances de TP,

dont le but est de faciliter la pratique des notions théoriques vues dans le cours.

Néanmoins, nous avons conscience que ce document restera partiel, tronqué et non exhaustif.

C'est pour cette raison que nous essayons de veiller à une actualisation permanente, dont le but

est d'enrichir son contenu. Ainsi, nous serions reconnaissant aux lecteurs de nous signaler toute

erreur ou de nous proposer des suggestions dans ce sens.

Juin 2019

Dr. ZERTAL Soumia.

Page 4: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

Chapitre I

Virtualisation

Sommaire

Chapitre I: Virtualisation ................................................................................................3

1. Introduction ....................................................................................................................4

2. Terminologie ..................................................................................................................5

3. La virtualisation ..............................................................................................................6

4. Historique .......................................................................................................................6

5. Pourquoi virtualiser.........................................................................................................8

6. Avantages liés à la virtualisation .....................................................................................9

7. Différence entre consolidation, rationalisation et concentration ? .................................. 10

8. Hyperviseur .................................................................................................................. 12

9. Les différents type de la virtualisation ........................................................................... 16

10. Les principales solutions ............................................................................................ 20

11. La virtualisation VS Les conteneurs ........................................................................... 23

12. La virtualisation de stockage ...................................................................................... 24

Activité Pratique 1: Etude de cas : Virtualisation .................................................................. 31

Page 5: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

1. Introduction

L’informatique s’est considérablement développée les vingt dernières années, jusqu’à

devenir quasiment indispensable pour chacun d’entre nous et davantage encore pour les

entreprises. Parmi les nouvelles technologies qui ont un impact important aujourd’hui, il y a

notamment les ordinateurs personnels, les téléphones portables, les tablettes tactiles et les objets

connectés. C’est une fois qu’ils sont connectés à l’Internet que l’utilisation de ces appareils

devient réellement intéressante. Le graphique ci-dessous (cf. Figure 1) nous permet de constater

que le nombre d’utilisateurs connectés à l’Internet a augmenté très rapidement à partir du début

des années 2000. Cette année-là, le nombre d'utilisateurs d'Internet dans le monde s'élevait à

3.9 milliards environ.

Figure 1 : Évolution du nombre d’utilisateurs de l’Internet dans le monde.

(https://fr.statista.com/statistiques/571074/nombre-d-utilisateurs-d-internet-dans-le-monde-2005--/)

Un accès plus facile aux ordinateurs, la modernisation des pays du monde et une plus large

utilisation des smartphones a permis aux personnes d'utiliser Internet plus fréquemment et de

manière plus pratique. Cependant, la pénétration d'Internet se rapporte souvent à l'état actuel de

développement des réseaux de communications. En janvier 2016, il y avait environ 680 millions

d'utilisateurs d'Internet au total en Chine et 282 millions d'utilisateurs d'Internet au total aux

États-Unis. Cependant, l'accès à Internet haut débit varie selon la région en raison des

infrastructures, du développement des marchés Internet et des connexions mobiles.

Page 6: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

Cisco prévoit que la croissance du trafic mobile mondial (de 2014 à 2019) va dépasser la

croissance du trafic fixe mondial par un facteur de trois (cf. Figure 2). Parmi les facteurs qui

devraient permettre d’observer cette tendance, Cisco parle des utilisateurs mobiles qui seront

de plus en plus nombreux. L’équipementier estime à 5,2 milliards le nombre d’utilisateurs

mobile en 2019 soit plus de 69% de la population mondiale (contre 4,3 milliards en 2014, soit

près de 59% de la population mondiale).

Figure 2 : Évolution du trafic de données à partir d’appareils fixes et mobiles.

Par conséquent, il a fallu trouver des solutions pour stocker la masse gigantesque de données

présente sur Internet et concevoir de nouvelles façons d’accéder à ces données de façon simple.

Depuis plusieurs années, la virtualisation et le Cloud Computing font partie des solutions pour

stocker de grandes quantités de données et les rendre disponibles pour un client

indépendamment de sa localisation et de l’appareil qu’il utilise.

2. Terminologie

2.1.Système Hôte

Le système hôte est la machine physique qui héberge les machines virtuelles.

2.2.Hyperviseur

L'hyperviseur est une plateforme de virtualisation, qui permet l’abstraction la couche matérielle

de la machine hôte. Il permet aussi l'exécution des différents systèmes invités sur le système

hôte. Il gère leur fonctionnement et fournit l'isolation entre les systèmes invités.

Page 7: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

2.3.Système Invité

Le système invité est l'instance du système d'exploitation qui s'exécute dans l'environnement

virtuel du système hôte. Il est encore appelé machine virtuelle (VM : Virtual Machine).

3. La virtualisation

La virtualisation est utilisée pour générer un système physique simulé sur un système physique

réel. Elle permet d’utiliser une ressource informatique virtuelle à partir d’une machine physique

réelle. Dans la plupart des cas, il existe de multiples systèmes physiques simulés. C'est dans ce

sens que la virtualisation est utilisée pour créer une densité de systèmes. Nous pouvons avoir

plusieurs systèmes virtuels, appelés machines virtuelles, fonctionnant sur un seul système

physique. Ces systèmes virtuels partagent l'utilisation des ressources physiques tels qu’un

processeur, une interface réseau ou un disque dur, ces derniers sont allouées à une machine

virtuelle pour que celle-ci fonctionne comme une machine physique. Lorsqu’un système virtuel

n'utilise pas les ressources d'un système physique, celles-ci peuvent être utilisées par un autre

système virtuel. Dans un environnement non virtualisé, les ressources du système peuvent être

inactives pendant une période de temps.

Aujourd’hui, pour qu’un ordinateur puisse héberger plusieurs machines virtuelles de façon

optimale, il est nécessaire qu’il soit composé de ressources matérielles suffisamment puissantes.

En résumé, la virtualisation consiste à utiliser les technologies de l’information et de la

communication, matérielles et logicielles, dans le but d’héberger plusieurs systèmes

d’exploitation différents sur une unique machine physique.

La virtualisation permet d’ajouter une couche d'abstraction qui sépare le système

d'exploitation du matériel afin de délivrer une meilleure utilisation et flexibilité des ressources

de traitement.

4. Historique

La virtualisation n’est pas un concept nouveau :

4.1.Apparaît dans les 1960's avec CP/CMS

La virtualisation remonte aux années 1960, à un moment où l’informatique est peu

présente et le matériel informatique est encore très peu présent dans les entreprises. A l’époque,

la virtualisation concerne les mainframes, qui sont des ordinateurs puissants permettant

d’effectuer un grand nombre de traitements. Au vu de la grande capacité de calcul de ces grosses

machines, il était important d’optimiser l’utilisation de celles-ci afin d’éviter qu’elles ne

Page 8: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

travaillent inutilement. C’est d’ailleurs un problème qui est toujours d’actualité aujourd’hui

avec les serveurs modernes.

Dans ce but, la première entreprise ayant développé la virtualisation est IBM®. La société a

développé l’IBM System/360 model 67 qui permettait le fonctionnement du temps partagé qui

n’a pas réellement abouti. Cependant, IBM® a lancé un nouveau système qui utilisait la

virtualisation pour mettre en œuvre le temps partagé et observer l’interaction entre les systèmes

d’exploitation et le matériel informatique. Le système apparu en 1967 est le CP/CMS (Control

Program/Cambridge Monitor System puis Console Monitor System). La particularité qui le

caractérise est que son code source était libre, par conséquent l’ensemble des clients d’IBM®

pouvait y accéder gratuitement. Le terme CP (Control Program) correspondait à un programme

de contrôle permettant de créer l’environnement d’une machine virtuelle. CP permettait à un

utilisateur de gérer une machine virtuelle depuis un terminal. Le CMS (Console Monitor

System) était défini comme un simple système d’exploitation interactif mono-utilisateur. La

qualité de ce système CP/CMS était perceptible car, à cette époque, il était déjà possible

d’exécuter plusieurs copies de CMS simultanément sur les machines virtuelles CP sans

impacter les performances. Le système CP/CMS a largement évolué durant cette période et était

donc une innovation importante à l’époque.

En effet, c’est un système qui a beaucoup inspiré la virtualisation telle qu’on la connait de nos

jours. L’environnement était grandement virtualisé avec CP/CMS, toute machine virtuelle était

dotée de ses propres périphériques virtuels sur la base du type de matériel physique du système.

Il y a eu plusieurs versions de CP/CMS :

- La première a été CP-40/CMS, c’est celle qui a permis de mettre en œuvre l’architecture

de la machine virtuelle CP/CMS.

- Par la suite, la CP-67/CMS a été développé pour l’IBM System/360 model 67.

- Enfin, la CP-370/CMS a été développé pour l’IBM System/370 mais n’a jamais été mise

sur le marché.

4.2.La commercialisation du système d’exploitation VM/370 en 1972

C’est à partir de la version CP-370/CMS d’IBM que le système d’exploitation VM/370 a été

commercialisé en 1972. Dans la version « moderne » de la virtualisation, c’est l’hyperviseur

qui a pris le rôle du CP d’IBM®. L’entreprise qui a introduit et dévoilé au grand public le

concept de virtualisation tel qu’il existe de nos jours est VMWare®.

Page 9: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

4.3.Le développement de VMWare

- Au cours des années 80-90 apparaît l’architecture x86 et les PC se déploie auprès d’un

grand nombre d’utilisateurs. Le besoin de virtualiser pour optimiser les machines se fait

moins sentir.

- C’est en 1999 que cette nouvelle société sort VMWare Workstation™ 1.0, et elle a

réussi à virtualiser un poste x86. Ceci ouvre la porte à plus de possibilité et relance

l’envie pour les sociétés informatiques de développer de nouvelles fonctionnalités pour

optimiser et offrir plus de flexibilité.

4.4. Les années 2000

- Dès l’an 2000, IBM®, Dell® et Compaq® rejoignent VMware® en tant que partenaires

pour publier en 2001 VMware GSX Server™ 1.0 et ESX Server™ 1.0. VMWare® se

développe rapidement et atteint le nombre d’un million d’utilisateurs en 2002.

- Le produit VMotion™, lancé en 2003, est considéré comme étant une avancée

importante dans le domaine car il permet de transférer des machines virtuelles depuis

une machine physique vers une autre.

- Intel ® et Cisco® deviennent actionnaires de la société en 2007, après son introduction

en bourse. Au-delà des intérêts financiers que ces sociétés ont en commun, cela

permettra de mettre en place des partenariats basés sur la technologie dans le futur.

4.5.Actuellement

- VMWare et Microsoft sont les deux grands acteurs de la virtualisation de serveurs.

Aujourd’hui les entreprises les plus avancés dépassent un taux de virtualisation de 75%.

Ce marché représente aujourd’hui environ 5,5 milliards € et une croissance de 6% sur

l’année 2015-2016.

- A l’heure actuelle, la virtualisation est très connue. On entend parler de virtualisation

de serveur, de Virtualbox, de baremetal, mais aussi de virtualisation de poste de travail,

de VDI, et de virtualisation dans les jeux-vidéos avec les émulateurs.

5. Pourquoi virtualiser

Qu'attendent les entreprises de la virtualisation ?

- La réduction du nombre de serveurs.

- La réduction de l'espace occupé dans les datacenters.

- La réduction de la consommation énergétique des datacenters.

- Réduction des coûts d'administration.

Page 10: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

- Amélioration de la flexibilité et de la rapidité des services.

- Amélioration de la qualité de services.

6. Avantages liés à la virtualisation

Depuis plusieurs années, la notion de virtualisation se développe considérablement jusqu’à

devenir un élément très important dans le domaine de l’informatique. Si la virtualisation a pris

une telle place aujourd’hui, c’est parce qu’elle comporte différents avantages qui ne peuvent

pas être négligés, notamment par les entreprises qui ont un grand besoin en ressources

informatiques. En effet, la virtualisation est avant tout très intéressante pour faire des économies

de différentes sortes (matérielles, énergétiques, financières). Plusieurs aspects démontrent pour

quelles raisons la virtualisation a pris autant d’ampleur de nos jours.

6.1.Améliorer le déploiement

L’intégration d’éléments informatiques matériels ou logiciels et la migration vers de nouveaux

systèmes d’exploitation peuvent souvent devenir des sources de problèmes pour les

administrateurs systèmes. En effet, l’installation et la configuration de nouveaux serveurs

physiques et systèmes d’exploitation peuvent prendre un certain temps, sans parler de la

migration des applications hébergées sur les anciens serveurs. Par ailleurs, dans certains cas,

une seule application peut bloquer la mise à jour du système d’exploitation d’un serveur et par

conséquent, toutes les autres applications sont également condamnées à rester sur le système

d’exploitation actuel. Pour l’exemple expliqué ci-dessus, la virtualisation permettrait que le

système ne pouvant pas être mis à jour devienne une machine virtuelle sur laquelle serait

hébergée l’application qui fonctionne uniquement sur ce système d’exploitation. Par contre, les

autres applications pourraient être hébergées sur une autre machine virtuelle fonctionnant avec

le système d’exploitation mis à jour.

6.2.Optimiser la portabilité

La rapidité de la gestion des machines virtuelles fait partie des avantages de l’utilisation de la

virtualisation. Avec la virtualisation, il est possible de déplacer des machines virtuelles d’un

serveur physique à un autre de façon simple et rapide. C’est un élément important lors

d’opération de maintenance ou d’indisponibilités imprévues d’une machine physique. Par

ailleurs, les machines virtuelles s’adaptent simplement en fonction des différents types

d’infrastructures physiques qui les hébergent. Dans le cas de la virtualisation sur un ordinateur,

les machines virtuelles s’exécutent et fonctionnent indépendamment du type de matériel

physique comme les cartes mères ou les différents types de périphériques.

Page 11: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

6.3.Utiliser des logiciels prévus pour divers environnements

En virtualisant, la majorité des systèmes d’exploitation sont exécutables sur d’autres systèmes

d’exploitation. Ce principe permet à un utilisateur d’avoir accès à des applications prévues à la

base pour un grand nombre d’autres systèmes d’exploitation. Cela est réalisable en déployant

plusieurs machines virtuelles sur un unique ordinateur physique. Sur la base de ce principe, les

possibilités de travail avec une multitude de logiciels prévus pour différents systèmes

d’exploitation sont très grandes et deviennent accessibles à tous sans devoir acquérir du matériel

physique dédié à chaque système utilisé. Pour illustrer cela, prenons le cas d’un utilisateur qui

possède un ordinateur fonctionnant sous Windows®. Avec la virtualisation, son ordinateur peut

exécuter une machine virtuelle Linux™ et par extension, les logiciels prévus pour ce dernier.

6.4.Réduire les coûts

En faisant le choix de la virtualisation dans leurs infrastructures techniques, les entreprises ne

négligent pas les importantes économies qu’elles peuvent potentiellement réaliser. Tout

d’abord, la réduction des coûts est clairement perceptible au niveau du matériel, car avec

l’utilisation de machines virtuelles, le besoin d’acquisition de machines physiques a

logiquement tendance à diminuer. Par conséquent, étant donné que les machines virtuelles

utilisent les éléments d’une même machine physique et communiquent via ceux-ci, l’achat de

matériel réseau tel que les routeurs est aussi considérablement réduit. Par ailleurs, le fait de

posséder moins de machines physiques implique également un gain de place dans les locaux de

l’entreprise ainsi que des économies d’énergie importantes, notamment dans les domaines du

refroidissement et de l’hébergement. Grâce à la simplification du déploiement, de la

maintenance, de la sauvegarde et d’autres opérations, la virtualisation permet aux

administrateurs de diminuer le temps de travail lié à ces sujets afin de participer à d’autres

projets.

7. Différence entre consolidation, rationalisation et concentration ?

Ces termes pouvant être employés de façon inappropriée, redéfinissons chacun des termes

suivants : consolidation, rationalisation et concentration.

7.1.Consolidation

C’est le fait d’optimiser le taux d’utilisation des serveurs. Ne faire tourner qu’une seule

application sur des serveurs engendre une perte car les serveurs ne sont exploités qu’à seulement

Page 12: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

10% de leur performance (voir beaucoup moins dans certain cas). La consolidation permet

d’atteindre des taux d’utilisation beaucoup plus importants (cf. Figure 3).

Figure 3 : Consolidation des serveurs

(http://yannickprie.net/archives/VEILLE-2009-2012/2012/cloudsec/partie1/01.html)

7.2.Rationalisation

C’est le fait de supprimer les superflus et les équipements redondants sans utilité. L’exemple le

plus frappant concerne les différents composants d’un serveur comme les cartes Raid, les cartes

HBA, les disques durs. Le fait de rationaliser l’infrastructure réduit de façon drastique le

nombre de tous ces équipements matériels.

Outre l’aspect financier et les économies réelles apportées par la rationalisation, les avantages

concernent aussi une réduction importante de la gestion de ces équipements au quotidien qui

est souvent une perte de temps.

7.3.Concentration

La concentration permet de réduire l’espace pour mettre plus de serveurs dans un espace réduit.

Il existe plusieurs niveaux de concentration : les formats Rack, les serveurs Lame ou les formats

Tour. C’est le nombre de U (1U vaut 44.45 millimètres) qui détermine la hauteur d’un serveur.

Les serveurs Lame (Blade serveurs) sont les systèmes les plus optimisés en terme de

concentration puisqu’aujourd’hui il est possible d’héberger jusqu’à 16 serveurs Lames dans un

chassis 10 U. Ils permettent également de rationnaliser l’équipement car il y a beaucoup moins

de cablâge et d’équipement redondants.

En revanche, ils n’offrent pas de consolidation car le taux d’utilisation sur un serveur Lame est

le même qu’un serveur Tour ou Rack.

Les serveurs Lame associés à la virtualisation apportent consolidation, rationalisation et

concentration. Pour certaines entreprises qui hébergent un nombre important de serveurs

Page 13: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

(plusieurs centaines) l’association Lame avec la virtualisation est un choix technique

fondamental.

8. Hyperviseur

La virtualisation est implémentée par l'utilisation d'hyperviseur, celui-ci fournit réellement

les capacités de virtualisation. Il agit comme un intermédiaire entre le système physique

(système hôte), et le système virtualisé (système invité). Les hyperviseurs nécessitent des

différents composants installés sur le système hôte pour assurer la virtualisation. En outre, les

hyperviseurs offrent plusieurs options pour les systèmes d'exploitation invités.

L’hyperviseur a 2 rôles majeurs :

8.1.Créer des ressources virtuelles propres à chaque VM

Dans un premier temps, il crée pour chaque VM des ressources virtuelles (cf. Figure 4). Les

VMs ne vont pas aller se servir directement dans les ressources de la machine hôte, tout

simplement car elles n’ont pas conscience d’être des VM hébergées sur un hôte. Et comme

n’importe quelle machine physique, une VM aura donc son propre disque dur, sa mémoire, son

processeur et ses périphériques, à la différence près que tout cela sera virtuel.

Figure 4 : Création des ressources virtuelles propres à chaque VM

Page 14: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

8.2.Répartir ses propres ressources

• Dans un second temps, l’hyperviseur joue le rôle de chef d’orchestre pour allouer à

chaque VM les ressources dont elles ont besoin, au bon moment et dans les bonnes

quantités (mais dans une certaine limite qui aura été fixée).

8.3.Les types des hyperviseurs

Il existe deux types d’hyperviseur :

- Hyperviseurs de type 1 : ils sont particulièrement utiles dans des grosses architectures

réseaux d’entreprise, qui nécessitent des optimisations de coûts et de maintenance, tout

en améliorant la robustesse face aux pannes.

- Hyperviseurs de type 2 : Ils sont effectivement adaptés pour les petites infrastructures.

De façon générale, ils sont adaptés dans le cas où vous avez une seule machine et que

vous voulez faire des tests multiplateformes (d’application, d’OS, de

communication…).

Ces deux types d’hyperviseurs correspondent à deux usages distincts et ne sont donc pas

interchangeables.

8.3.1. Hyperviseur de type-1

Les hyperviseurs de type 1 s’exécutent directement sur la plateforme matérielle, sans OS

intermédiaire. Il gère les accès des noyaux des systèmes d’exploitation invités à l’architecture

matérielle sous-jacente. A cet effet, plusieurs systèmes d’exploitation peuvent être exécutés

quasiment directement au-dessus du matériel, sans être dépendant d’un OS hôte (cf. Figure 5).

Par exemple lorsqu’on installe l’hyperviseur ESXi , il efface complètement le système

d’exploitation et les données avant de les remplacer.

Figure 5 : Hyperviseur de type 1 (l’hyperviseur Xen)

(https://wiki.xen.org/wiki/Xen_Project_Software_Overview)

Page 15: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

Ce type d’hyperviseur s’utilise dans un contexte complètement différent de l’hyperviseur de

type 2, cela vient principalement de ses performances bien supérieures, rendues possibles car :

- D’une part, l’hyperviseur possède un accès direct aux ressources (sans passer par un

OS) ;

- D’autre part, la totalité des ressources est dédiée aux VMs.

Ce type d’hyperviseur est destiné à héberger entre une dizaine et une vingtaine de VMs. Il

nécessite donc des serveurs très robustes et performants, et le coût pour les utiliser est souvent

très élevé.

Les hyperviseurs de type 1 sont utilisés en entreprise pour plusieurs raisons, comme par

exemple :

• réduire les coûts matériels et de maintenance ;

• optimiser les ressources physiques ;

• répartir la charge dynamiquement ;

• permettre la haute disponibilité des serveurs ;

• créer des VM de pré-production pour les tester en environnement réel avant de les mettre

en production.

C’est avec cette technique de virtualisation que fonctionnent par exemple : Xen, Hyper-V,

vSphere.

8.3.2. Hyperviseur de type-2

Les hyperviseurs de type 2, ou hosted hypervisor (hyperviseur hébergé), est le plus facile

à mettre en place. Il s’installe comme n’importe quelle application, qui se situe au-dessus de

l’OS hôte. Le système d'exploitation contrôle l'accès au matériel physique. L'hyperviseur agit

comme un système de contrôle entre le système d'exploitation hôte et les systèmes

d'exploitation invités (cf. Figure 6). Il permet, une fois installé, de créer des VMs indépendantes

de l’OS hôte.

Il est donc considéré comme n’importe quelle application et n’a aucune priorité sur les

ressources de l’hôte.

Page 16: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

Figure 6 : Hyperviseur de type-2

(http://www-igm.univ mlv.fr/~dr/XPOSE2008/virtualisation/definitions.html)

Un hyperviseur de type 2 est une application qui est assez gourmande en mémoire et CPU. Il

faut fermer un maximum d’applications pendant son utilisation

Les utilisations d’un hyperviseur de type 2 sont multiples. Elles sont assez faciles à mettre en

place et très efficaces pour répondre aux besoins du type :

1. tester un OS sans formater votre machine physique ;

2. tester ou utiliser régulièrement une application sur un OS en particulier ;

3. simuler une deuxième machine et faire des tests de communication simples ;

4. créer un petit réseau de plusieurs VM pour tester des protocoles réseau, des règles de

pare-feu, configurer un serveur de supervision ou autre.

Du fait que ces hyperviseurs soient installés sur un OS hôte, ils ont des performances

limitées et hébergent des VM qui peuvent par conséquent être instables.

Ces hyperviseurs ne sont pas faits pour créer des VMs de production, mais uniquement pour

du développement, des tests et de l’usage personnel.

Les principaux hyperviseurs de type 2 sont les suivants :

1. Oracle VirtualBox ;

2. VMWare Workstation (Player et Pro) et VMware Fusion (pour Mac).

Page 17: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

9. Les différents type de la virtualisation

Pour pouvoir faire tourner différents systèmes d’exploitation simultanément sur un même

matériel, les hyperviseurs utilisent différentes technologies de virtualisation.

Les technologies les plus utilisées sont :

- La virtualisation complète (Full Virtualization)

- La paravirtualisation (Paravirtualization)

- La virtualisation assistée au niveau matériel

9.1.Les architectures des processeurs x86

Avant de comprendre comment fonctionnent ces techniques, il est nécessaire de connaitre les

architectures des processeurs x86.

Les architectures des processeurs x86 offrent quatre niveaux de privilèges (Ring 0 à 3).

Ring 0= Kernel mode, Ring 3= mode utilisateur (cf. Figure 7).

Figure 7 : L’architecture des processeurs x86

Les niveaux d’exécution, ou Rings, définissent les privilèges d’exécution des programmes. Plus

un programme est installé sur un niveau bas, plus il exerce de contrôle sur le système. L’OS

dispose de plus haut niveau de contrôle et accède directement aux ressources en s’exécutant sur

le Ring 0.

Les applications tournent sur le Ring 3, le plus élevé. Elles ne peuvent pas modifier ce qui

s’exécute sur des Rings inférieurs au leur. Une application ne peut pas arrêter l’OS, alors que

l’OS peut arrêter une application.

Les Rings 1 et 2 définissent des privilèges de moindre importance que ceux du Ring 0.

Page 18: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

9.2.Virtualisation complète (Full Virtualization using binary translation)

La virtualisation complète consiste à émuler un environnement matériel complet sur chaque

machine virtuelle (VM). Chaque VM (système invité) dispose donc de son propre contingent

de ressources hardwares virtuelles données par l’hyperviseur et peut exécuter des applications

sur cette base.

VMware a développé en 1988 une technique appelée translation binaire (Binary

Translation) permettant de placer l’hyperviseur en Ring 0, déplacer les OS à un niveau

supérieur (Ring 1) tout en leur garantissant un niveau de privilège supérieur à ceux des

applicatifs (Ring 3) (cf. Figure 8).

Figure 8 : La virtualisation complète

Les OS étant conçus pour s’exécuter sur le Ring 0, ils vérifient régulièrement leur

positionnement, car certaines instructions ne s’exécutent que si elles viennent du Ring 0.

VMware utilise la translation binaire en interceptant certaines requêtes ce qui permet de leurrer

l’OS invité sur la place qu’il occupe réellement sur le système.

La translation binaire modifie certaines instructions provenant du Guest OS avant de les

envoyer pour traitement aux processeurs physiques.

Le système s’exécutant dans la machine virtuelle est un système d’exploitation à part

entière, tel qu’on pourrait en installer sur une machine physique : Microsoft Windows,

GNU/Linux, Mac OS X, etc. Cette particularité est la caractéristique principale de la

virtualisation complète : les systèmes invités n’ont pas à être modifiés pour être utilisés dans

Page 19: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

une machine virtuelle utilisant une technologie de virtualisation. Dans la pratique, c’est le cas

pour les systèmes d’exploitation et les machines virtuelles les plus répandus.

L’avantage de cette technique est qu’elle ne nécessite aucune modification au niveau du

noyau du Guest OS car la translation binaire est exécutée au niveau du code binaire par le

processeur.

Exemples :

Microsoft VirtualPC et Microsoft VirtualServer

VirtualBox

VMware Server, VMware Player, VMware Workstation, VMware Fusion

Avantage : le système d’exploitation hôte n’est pas conscient d’être virtualisé et aucune

modification du système d’exploitation n’est nécessaire. Cela permet d’avoir une compatibilité

avec de nombreux systèmes d’exploitation.

Inconvénient : la translation binaire nécessite un travail supplémentaire de la part du CPU

pour faire la translation binaire (appelé overhead).

9.3.Para-virtualisation

La para-virtualisation est l’autre technique développée notamment par XenServer de Citrix.

Elle évite d'utiliser un système hôte complet pour faire la virtualisation. A la place, un noyau

très léger de système d'exploitation hôte est utilisé. L’hyperviseur met simplement à disposition

une interface de programmation (API) qui permet aux systèmes d’exploitation invités d’accéder

directement au matériel physique du système hôte (cf. Figure 9).

Elle consiste à modifier les OS invités (la couche du noyau) pour permettre de s’exécuter

ailleurs que sur le Ring 0.

Le Guest OS est conscient d’être virtualisé et modifie certaines instructions bas niveau avant

de les envoyer au hardware. Il n’y a donc pas d’interception d’instructions ni de translation

binaire.

Page 20: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

Figure 9 : La para-virtualisation

La para-virtualisation offre donc un avantage de performance par rapport à la virtualisation

complète. Cependant, il faut pour cela au préalable que le noyau du système d’exploitation

invité ait été porté sur l’API. Ainsi, seuls les systèmes invités modifiés peuvent être para-

virtualisés. Les fournisseurs de systèmes propriétaires - tels que Microsoft Windows -

n’autorisent généralement pas de telles modifications.

Parmi les hyperviseurs qui permettent les para-virtualisations, on compte Xen et Oracle VM

Server for SPARC.

Drivers para-virtualisés

VMware a introduit certains aspects de la technique de para-virtualisation avec l’utilisation des

drivers para-virtualisés. Ces drivers spécifiques développés par VMware ont conscience de la

couche de virtualisation, ils communiquent plus facilement avec l’hyperviseur. Ils sont rajoutés

par les VMware Tools pour certains Guest OS. Les performances sont ainsi améliorées.

9.4. La Virtualisation assistée au niveau matériel

Pour simplifier la tâche de l’hyperviseur en évitant de mettre l’OS sur un Ring qui n’est pas

conçu pour lui ou modifier le noyau de l’OS, les processeurs Intel avec Intel VT (Virtualization

Technology) et AMD-V (Virtualization) introduisent un nouveau mode d’exécution, Celui-ci

est appelé Virtualisation assistée au niveau matériel (Hardware Assisted Virtualization),

Il comporte un niveau racine (Root), correspondant à des Rings inférieurs à 0, et un niveau

normal, correspondant aux anciens Rings de 0 à 3. Ce niveau privilégié accède directement au

Page 21: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

matériel. Cela permet de recevoir directement certaines instructions provenant du Guest OS

pour limiter le travail de translation binaire (cf. Figure 10).

Figure 10 : La virtualisation assistée au niveau matériel

L’hyperviseur fonctionne en mode Racine (Root Mode) avec le niveau de contrôle le plus

élevé. Les systèmes d’exploitation invités fonctionnent sur le Ring 0. Ils occupent bien

l’emplacement pour lequel ils ont été conçus.

Il n’est plus besoin de modifier les Guest OS, ni d’utiliser de translation binaire (la translation

binaire est cependant toujours nécessaire pour certains jeux d’instructions).

Ce nouveau niveau racine réduit considérablement l’overhead. Cette évolution du jeu

d’instructions fluidifie également le partage des ressources physiques entre les machines

virtuelles.

Grâce à cette assistance matérielle dans le processeur, les architectures x86 s’affranchissent

d’un certain nombre de barrières techniques.

10. Les principales solutions

La virtualisation a pris davantage d’importance durant les 15 dernières années depuis

l’émergence de VMWare® sur le marché.

10.1. Xen

Xen est un logiciel libre de virtualisation. Il est développé par l'université de Cambridge au

Royaume-Uni. Xen permet d'exécuter plusieurs systèmes d'exploitation (et leurs applications)

Page 22: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

de manière isolée sur une même machine physique sur plate-forme x86, x86-64, IA- 64 et

PowerPC (bientôt sur SPARC). Les systèmes d'exploitation invités partagent ainsi les

ressources de la machine hôte. Xen est un « paravirtualiseur » ou un « hyperviseur de type 1 ».

Les systèmes d'exploitation invités ont « conscience » du Xen sous-jacent, ils ont besoin d'être

« portés » (adaptés) pour fonctionner sur Xen.

Linux, NetBSD, FreeBSD (portage en cours), Plan 9 et GNU Hurd peuvent d'ores-et-déjà

fonctionner sur Xen.

10.2. KVM

KVM (Kernel-based Virtual Machine) est une machine virtuelle libre pour Linux. Elle

fonctionne sur les architectures x86 disposant des technologies Intel VT ou AMD SVM (AMD-

V). Le module a été intégré dans le noyau Linux depuis la version 2.6.20.

Contrairement à des programmes comme VirtualBox, KVM fait appel au noyau du système

d’exploitation de l’hébergeur pour émuler l’ordinateur ou le serveur physique. Pour faire

simple, KVM est un module de noyau chargeable pour Linux qui tire parti de technologies de

virtualisation matérielle comme Intel VT et AMD-V. Chaque machine virtuelle dispose d’une

UC, d’une RAM et d’une interface réseau qui lui est propres.

10.3. vSphere ESXi 6

vSphere ESXi 6 est un hyperviseur mis au point par la firme VMware. La version 6

de vSphere est sortie le 3 février 2015 et représente la dernière version stable de vSphere. De

plus, c'est l'une des solutions les plus complètes du marché des hyperviseurs. VSphere ESXi

6 est un hyperviseur de Type 1 et permet de gérer et virtualiser des ordinateurs ou des serveurs.

Un serveur vSphere ESXi 6 peut prendre en charge jusqu'à 1024 machines virtuelles et peut

supporter jusqu'à 480 CPU, 6 TB de RAM et jusqu'à 2048 disques durs virtuels par hôte.

Une Machine Virtuelle peut supporter jusqu'à 128 CPU virtuels, 4 TB de mémoire vive et des

disques virtuels jusqu'à 62 TB.

Outre la création de machine virtuelle, vSphere ESXi dispose de nombreuses fonctionnalités

qui permettent de gérer au mieux les différentes VMs. Parmi ces fonctionnalités, on trouve le :

- vMotion : vMotion est une fonctionnalité permettant la migration à chaud (sans avoir à

éteindre la VM) entre 2 hôtes ESXi. Ainsi lors d'une opération de maintenance, il n'y a

plus d'interruption de service. Il existe le même principe pour la partie stockage des VM

(Storage vMotion)

- vSphere HA : High Avaibaility est une fonctionnalité permettant un redémarrage

automatique des VM après une panne sur l'hôte.

Page 23: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

- vShield Endpoint : c'est un système d'antivirus/antimalware permettant de sécuriser les

VM sur l'hôte.

- Etc…

Ces fonctionnalités ne sont qu'une infime partie de celles proposées par vSphere. De plus, il

existe des fonctionnalités additionnelles, se présentant sous la forme d'Appliance, permettant

d'effectuer encore plus de tâches comme par exemple vSphere Replication.

vSphere ESXi 6 comporte trois types d'éditions (Standard, Entreprise, Entreprise Plus).

10.4. Hyper-V

Egalement connu sous le nom de Windows Server Virtualisation, est un système

de virtualisation basé sur un hyperviseur 64 bits de la version de Windows Server 2008. Il

permet à un serveur physique de devenir un Hyperviseur et ainsi gérer et héberger des machines

virtuelles communément appelées VM (virtual machines).

Grâce à cette technologie il est possible d’exécuter virtuellement plusieurs systèmes

d'exploitation sur une même machine physique et ainsi d'isoler ces systèmes d'exploitation les

uns des autres.

Les ressources de l'hyperviseur sont alors mutualisées pour différentes VM, ce qui présente un

intérêt économique car auparavant il fallait envisager une machine physique par serveur.

Il est possible d'utiliser la console Hyper-V sur Windows 7. Dans le sens inverse, de nombreux

systèmes d'exploitation peuvent tourner à l'intérieur de Hyper-V :

Bien évidemment pour les systèmes d'exploitation Microsoft Windows 10 (sauf Home

Edition), Windows 8.1, Windows 8, Windows 7 (sauf édition familiale), Windows

Vista SP1/SP2 (sauf édition familiale), Windows Server 2012, Windows Server

2008 x64 SP1/SP2 & R2, Windows Server 2003 x64 SP2 & R2 SP2, Windows

2000 SP4, Windows XP Professionnel SP2/SP3 & x64 SP2

Pour les systèmes d'exploitation Linux :

o SUSE Linux Enterprise Server 10 SP1/SP2 & 11.

o Red Hat Enterprise Linux 5.2 x64 et versions ultérieures.

o Ubuntu 12.04 LTS et versions ultérieures.

Page 24: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

10.5. OpenVZ

OpenVZ est une technologie de virtualisation de niveau système d'exploitation basée sur le

noyau Linux. OpenVZ permet à un serveur physique d'exécuter de multiples instances de

systèmes d'exploitation isolés, connus sous le nom de serveurs privés virtuels (VPS) ou

environnements virtuels (VE).

En comparaison aux machines virtuelles telles que VMware et aux technologies de

paravirtualisation telles que Xen, OpenVZ offre moins de flexibilité dans le choix du système

d'exploitation : le système d'exploitation invité et hôte doivent être de type Linux (bien que les

distributions de Linux peuvent être différentes dans des VEs différents). Cependant, la

virtualisation au niveau OS d'OpenVZ offre une meilleure performance, une meilleure

scalabilité, une meilleure densité, une meilleure gestion de ressource dynamique, et une

meilleure facilité d'administration que ses alternatives. Selon le site Web d'OpenVZ, cette

méthode de virtualisation introduirait une très faible pénalité sur les performances : 1 à 3% de

pertes seulement par rapport à un ordinateur physique.

OpenVZ est la base de Virtuozzo, un produit propriétaire fourni par SWsoft, Inc. OpenVZ est

distribué sous la Licence publique générale GNU version 2. OpenVZ comprend le noyau Linux

et un jeu de commandes utilisateurs.

10.6. LXC

Le noyau de Linux 2.6.24 intègre une prise en charge fondamentale de la conteneurisation pour

assurer une virtualisation au niveau du système d'exploitation et permettre à un même hôte

d'exécuter plusieurs instances Linux isolées, baptisées « conteneurs Linux », ou LXC (LinuX

Containers).

LXC repose sur la notion de groupes de contrôle Linux, les cgroups. Ici, chaque groupe de

contrôle offre aux applications une isolation totale des ressources (notamment processeur,

mémoire et accès E/S), et ce sans recourir à des machines virtuelles à part entière.

Les conteneurs Linux proposent également une isolation complète de leur espace de noms. Les

fonctions telles que les systèmes de fichiers, les ID réseau et les ID utilisateur, ainsi que tout

autre élément généralement associé aux systèmes d'exploitation, peuvent donc être considérés

comme « uniques » du point de vue de chaque conteneur.

11. La virtualisation VS Les conteneurs

La virtualisation utilise un hyperviseur pour émuler le matériel, ce qui permet d'exécuter

plusieurs systèmes d'exploitation en parallèle. Lorsque nous disposons des ressources et des

fonctionnalités limitées, il est nécessaire que nos applications soient légères et puissent être

Page 25: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

déployées de manière dense. Les conteneurs Linux s'exécutent en natif sur leur système

d'exploitation, qu'ils partagent entre eux. Nos applications et services restent ainsi légers et

s'exécutent rapidement en parallèle.

Les conteneurs Linux représentent une nouvelle évolution de la manière dont nous

développons, déployons et gérons des applications. Les images de conteneurs Linux permettent

d'assurer la portabilité et le contrôle des versions des applications. Les développeurs ont ainsi

la garantie que ce qui fonctionne sur leur ordinateur portable fonctionnera aussi dans

l'environnement de production. Un conteneur Linux mobilise moins de ressources qu'une

machine virtuelle. Il propose une interface standard (démarrage, arrêt, variables

d'environnement, etc.), assure l'isolation des applications et peut être géré plus facilement en

tant que module d'une application plus importante (plusieurs conteneurs) (cf. Figure 10).

Figure 10 : Virtualisation VS Conteneur

(

12. La virtualisation de stockage

Avec les usages actuels des moyens informatiques, le stockage des données peut poser

problème, le volume de données croît sans cesse, les applications exigent plus de performances

et le nouveau matériel est difficile à intégrer. Les environnements de stockage typiques utilisent

plusieurs périphériques de différents fabricants mais ils ne peuvent pas communiquer entre eux.

Il est alors compliqué de les gérer de manière centralisée, ils fonctionnent ainsi en silos et

deviennent rapidement obsolètes en quelques années. Une des réponses les plus efficaces à cette

problématique consiste à passer par des solutions de virtualisation du stockage.

Page 26: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

12.1. Définition de la virtualisation de stockage

La virtualisation du stockage est un concept qui vise à cartographier virtuellement les

différentes ressources de stockage d’une entreprise telles que les disques durs, la mémoire flash

ou les lecteurs de bandes et de les rendre disponibles comme un pool de stockage lié (data

Store).

Une solution de virtualisation établit ainsi une couche de virtualisation entre les serveurs

d’applications et le matériel de stockage existants afin que les applications n’aient plus besoin

de savoir sur quels disques, partitions ou sous-systèmes de stockage résident leurs données.

12.2. Avantages de la virtualisation de stockage

Tout le matériel de stockage peut maintenant cohabiter et fonctionner ensemble :

- La disponibilité augmente également avec la virtualisation du stockage car les

applications ne sont pas limitées à des ressources de stockage spécifiques et sont donc

isolées de la plupart des interruptions. Si un hôte tombe en panne, il existe un système

tiers qui peut détecter cette panne. Ce dernier effectue le transfert de toutes les VMs

s’exécutent sur cet hôte en panne vers un autre hôte fonctionnel (High Availability :

HA)

- De plus, la virtualisation du stockage permet de migrer automatiquement des données

vers une autre machine virtuelle qui assure en permanence les performances requises

pour les applications ( Vmotion ).

- En outre, la virtualisation du stockage permet généralement d’automatiser l’extension

de la capacité de stockage, réduisant ainsi le besoin de provisionnement manuel. Les

ressources de stockage peuvent être mises à jour à la volée sans affecter les

performances des applications, réduisant ainsi les temps d’arrêt.

La différence entre Vmotion et High Availability (HA) est que Vmotion est lancée par

l’administrateur tandis que HA est lancé par le système automatiquement dès qu’un hôte tombe

en panne (elle doit être activée).

Ainsi, les administrateurs peuvent identifier, provisionner et gérer le stockage distribué comme

s’il s’agissait d’une seule ressource consolidée ce qui permet de ne plus gaspiller de capacité.

Dans un contexte d’entreprise, la virtualisation du stockage est généralement mise en œuvre par

blocs. Les données sont alors divisées en blocs de taille égale et une adresse unique est attribuée

à chaque bloc de données. Cette dernière est stockée par le logiciel de virtualisation

(hyperviseur) dans la table de mappage centrale. La table de mappage contient donc toutes les

métadonnées nécessaires pour localiser l’emplacement physique d’un bloc de données. Ce

Page 27: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

mappage permet de gérer les données virtuelles indépendamment du contrôleur du support de

stockage physique, par exemple, pour les déplacer, les copier, les mettre en miroir ou les

répliquer.

12.3. Les architectures de stockage

12.3.1. Direct Attached Storage (DAS)

Direct Attached Storage ou Stockage à connexion directe, fait référence à un système de

stockage informatique qui est directement connecté au serveur ou ordinateur au lieu de transiter

par un réseau. Les machines virtuelles sont stockées en local et ne sont accessibles que par le

serveur qui héberge les VM. Par exemple, un disque dur d’un ordinateur ou d’un serveur est la

forme habituelle de stockage à connexion directe, de même pour les groupes de disques externes

au serveur, mais ceux-ci directement reliés par une interface SCSI (Small Computer System

Interface), SATA (Serial Advanced Technology Attachment) ou Serial Attached SCSI (SAS)

(cf. Figure 11).

Dans ce type de stockage :

• Espace de stockage des serveurs est non dynamique.

• Taux d’utilisation n’est pas optimal.

• Si un serveur tombe en panne, aucun autre serveur ne pourra accéder aux VM. Il faut

donc attendre que le serveur soit à nouveau opérationnel pour pouvoir redémarrer les

VM.

Avantage :

- C’est la solution la plus économique, elle est en outre très simple et rapide à mettre en

place, il n’est pas nécessaire d’avoir de compétence ou d’expertise stockage très

évoluée. Cette architecture est envisageable en environnement de production mais il faut

penser à mettre une solution de sauvegarde adaptée. Elle peut être la solution idéale pour

des petites et moyennes entreprises.

Inconvénient :

Les niveaux de services sont moins élevés. Les fonctionnalités évoluées telles que VMotion,

HA, …. ne sont pas disponibles. Il n’y a pas de gestion centralisée des VM.

Page 28: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

Figure 11 : L’architecture de stockage DAS

12.3.2. SAN (Storage Area Network)

Un réseau de stockage (SAN) est un réseau dédié permettant de mutualiser les ressources de

stockage.

Dans cette architecture, les machines virtuelles sont stockées sur la baie de stockage et sont

accessibles par plusieurs serveurs. Dans le cas où un serveur tombe en panne, un autre serveur

connecté au stockage peut accéder aux VM et les remettre rapidement et automatiquement en

production sans avoir à attendre que le serveur en panne soit de nouveau opérationnel. Cela

permet de limiter les interruptions de service. Cette architecture donne la possibilité d’exploiter

toutes les fonctionnalités évoluées telle que VMotion.

En outre, les architectures de ce type offrent d’excellentes performances, un niveau de sécurité

important avec la mise en place de redondance pour l’accès aux VM. Et grâce aux

fonctionnalités intégrées des baies de stockage telles que le mirroring ou la réplication de

données.

Il se différencie des autres systèmes de stockage par un accès aux disques en mode bloc. Dans

le cas du SAN, les baies de stockage n’apparaissent pas comme des volumes partagés sur le

réseau : en effet, elles sont directement accessibles en mode bloc par le système de fichiers des

serveurs en introduisant un niveau d’abstraction entre le serveur et le système de stockage, ce

qui donne plus de flexibilité aux administrateurs. En clair, chaque serveur voit l’espace disque

d’une baie SAN auquel il a accès comme son propre disque dur (cf. Figure 12).

Page 29: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

Figure 12 : L’architecture de stockage SAN

Des protocoles sont utilisés pour le transit des données sur le réseau SAN. Les plus courants

étant Fibre Channel et iSCSI .

Avantage :

- L’un des avantages du SAN est l’évolutivité de l’espace de stockage. L’espace disque

n’est plus limité par les caractéristiques des serveurs, et est évolutif à volonté par l’ajout

de disques ou de baies de stockage sur le SAN. L’espace de stockage physique mutualisé

pour les serveurs permet ainsi d’optimiser la gestion des disques.

- Les débits sur un réseau SAN en technologie Fibre Channel peuvent atteindre 32Gbit/s

(précédemment 1Gbit/s, 2, 4, 8 et 16) par lien en fibre optique, et assure le fait que la

requête envoyée par un serveur a bien été reçue et prise en compte par les systèmes de

stockage.

- Un autre avantage du SAN est qu’il peut également assurer la redondance du stockage,

c’est-à-dire l’accessibilité au système de stockage en cas de panne de l’un de ses

éléments, en doublant au minimum chacun des éléments du système (haute

disponibilité). De plus, il peut fonctionner dans un environnement complètement

hétérogène et donc le système d’exploitation des serveurs n’a aucune importance.

Inconvénient :

Le cout est plus élevé qu’un stockage local et il est nécessaire d’avoir des compétences sur le

stockage. Cela nécessite un travail en amont plus important.

Page 30: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

12.4. Gestion du stockage

1. Le Datastore

L’espace de stockage est vu comme un Datastore. Le Datastore est une représentation virtuelle

des ressources de stockage où sont stockées les machines virtuelles. Il masque la complexité

des différentes technologies et solutions de stockage du marché en proposant au serveur un

modèle uniforme quel que soit le stockage qui est en place.

2. Accès aux données par la machine virtuelle

- Quand une VM communique avec son disque virtuel (vmdk), elle envoie les

commandes SCSI.

- Le driver du Guest OS va communiquer avec son contrôleur SCSI (vSCSI).

- Le contrôleur virtuel SCSI transmet les commandes au VMkernel

- VMkernel localise le fichier sur le Datastore qui correspond au disque virtuel vmdk

ainsi que l’emplacement des blocs à modifier.

12.5. Protocoles de stockage SAN

12.5.1. iSCSI (Internet Small Computer System Interface)

iSCSI est un protocole de stockage en réseau basé sur le protocole IP destiné à relier les

installations de stockage de données. Le protocole iSCSI encapsule des commandes SCSI dans

des paquets TCP, puis les transmet sur le réseau Ethernet aux périphériques de stockage. Celui-

ci permet aux clients (appelés initiateurs) d’envoyer des commandes SCSI (CDB) à des

périphériques de stockage SCSI (cibles) sur des serveurs distants. Il s’agit d’un protocole utilisé

sur les réseaux SAN qui permet de rassembler les ressources de stockage dans un centre de

données tout en donnant l’illusion que le stockage est local. Contrairement au Fibre Channel

qui nécessite une infrastructure matérielle dédiée, iSCSI peut s’utiliser en conservant une

infrastructure existante.

Avantage :

iSCSI a été largement adopté dans beaucoup de secteurs d’activité car il utilise le réseau TCP/IP

de l’entreprise. Il n’est donc pas nécessaire de monter une architecture de stockage dédiée avec

des switchs FC, des cartes et des câbles spécifiques. Pour cette raison, dans certains

environnements cette solution est idéale car elle est beaucoup plus simple à mettre en place et

ne nécessite pas de compétences de stockage très évoluées. De plus ce protocole offre de très

bonnes performances.

Page 31: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

Inconvénient :

Les tests ont prouvé que c’est le protocole qui utilise le plus les ressources du CPU (jusqu’à

60% de temps CPU en plus que le processus FC dans le cas du iSCI software)

12.5.2. Fibre Channel

Fibre Channel est un autre protocole de stockage correspondant à la couche de transport sous-

jacente que les SAN utilisent pour transmettre des données. C’est le langage utilisé par les HBA

(Host Bus Adapter), les switchs et les contrôleurs d’une baie de stockage à l’intérieur d’un SAN

pour communiquer entre eux. Le protocole Fibre Channel est un langage de bas niveau, ce qui

signifie qu’il est simplement utilisé comme un langage entre le matériel réel et non les

applications qui s’exécutent dessus. C’est celui qui est le plus souvent mis en œuvre dans des

environnements de productions.

Avantage :

Il semble acquis aujourd’hui (en 2009) que le protocole fibre Chanel est le protocole le plus

performant en E/S et c’est celui qui consomme le moins de ressources CPU du serveur hôte

comparé au protocole iSCSI.

Inconvénient :

Le FC est la solution la plus coûteuse car elle nécessite de bâtir l’architecture de stockage et

d’investir dans des cartes HBA, des switchs FC et des câbles le plus souvent en fibre optique.

En outre, cette solution est plus complexe à mettre en place et nécessite des compétences

stockage pointues.

Page 32: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

Activité Pratique 1

Etude de cas : Virtualisation

Objectif général Etudier et manipuler pratiquement des outils de

virtualisation.

Objectifs

spécifiques

Etudier et comparer des outils de virtualisation.

Créer, configurer et faire communiquer des machines

virtuelles.

Mots clés virtualisation, hyperviseur de type1, hyperviseur de

type 2…

Page 33: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

Activité Pratique 1

Etude de cas : Virtualisation

Objectifs :

Etudier et comparer des outils de virtualisation ;

Créer, configurer et faire communiquer des machines virtuelles ;

Contexte générale :

Après avoir étudié théoriquement les principaux concepts liés à la virtualisation ; nous

allons essayer, à travers cette étude, d’étudier et de manipuler quelques outils de virtualisation.

Cette activité comporte deux parties :

- La première partie est purement théorique dans laquelle vous allez étudier un outil de

virtualisation (chaque étudiant choisit un outil/hyperviseur) pour réaliser à la fin une

étude comparative des principaux outils de virtualisation selon certain critères.

- La deuxième est consacrée à une utilisation pratique de ces outils choisis par les

étudiants.

Conditions de réalisation :

Durée de réalisation : 2 semaines partie 1 : 1 semaine ; partie 2 : 3 semaine

Exposés théoriques et pratiques : 2 séances = 3 heures

Travail à réaliser en binôme ou trinôme.

A rendre :

1 rapport théorique de la 1ère partie

1 manuel de création, de configuration et d’utilisation des machines virtuelles

Page 34: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

Partie 1 (la partie théorique) :

Il s’agit de répondre aux questions suivantes :

- Après avoir choisis un outil de virtualisation, effectuez une présentation et une étude de

cet outil, en se basant sur des critères tels que : types de virtualisation, OS supporté,

sécurité, Noms des solutions commerciales, Clients majoritaires, Arguments de vente,

Exemples de clients, Part de marché …

Partie 2 (TP) :

Vous devrez réaliser votre TP en choisissant une des études de cas citées ci-dessous :

1. Etude de cas n°01 (manipulation d’un hyperviseur de type2)

Vous êtes un développeur dans une petite entreprise et vous travaillez sur une

application multiplateforme qui sera utilisée en interne uniquement. L’entreprise dispose de

machines Android, Windows et Linux et vous souhaitez tester si votre application fonctionne

correctement dans cet environnement complexe, sachant que pour fonctionner elle doit

pouvoir :

envoyer régulièrement des requêtes aux autres machines ;

récupérer les mises à jour de sa base de données depuis un serveur distant accessible

via une URL.

Travail demandé

Pour réaliser le travail demandé, vous devrez suivre les étapes suivantes :

1. Installation de l’hyperviseur.

2. Création de de la VM : nous allons créer ici 3 VM :

1 VM Ubuntu ;

1 VM Windows 10 ;

1 VM Android.

3. Configuration réseau

Vous allez essayer différents modes de réseau et pour chaque mode vous récupérer

l’adresse IP des MV

- Expliquez le lien entre l’adresse IP et le mode de réseau choisi ?

- Choisissez le mode réseau le plus adapté à votre étude de cas ?

Page 35: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

4. Dupliquer, transporter, importer et exporter une VM.

Dupliquer : Clic droit sur la VM -> manage -> clone -> linked clone (besoin de l’original

pour fonctionner) ou full clone (prend plus de place)

Transporter : Clic droit sur la VM -> manage -> share -> move the virtual machine

Importer : Cela se fait lors de la création d’une nouvelle machine -> choisir un fichier

existant

Exporter : File -> Export to OVF

5. Partager des documents entre la VM et l’hôte.

Installation de VMWare Tools requise sur l’hôte et le client.

Clic droit -> Settings -> Options -> Shared folders Folder Sharing -> always enabled + Folder

(sélection d’un dossier + nom, possibilité de lecture seule) Lancement de la VM -> On retrouve

le dossier partagé.

6. Partager des périphériques entre la VM et l’hôte.

VM -> Removable Devices -> TOSHIBA -> Connect

7. Utiliser les instantanés (snapshots) :

Créer et restaurer. Un snapshot sert à sauvegarder l’état entier de la machine à un moment

donné. On peut créer plusieurs snapshots les unes à la suite des autres. Une fois la VM est

lancée, onglet VM -> Snapshot -> Take Snapshot (on rentre le nom et la description). Pour voir

les snapshots, onglet VM -> Snapshot -> Snapshots Manager. On peut également faire ces

opérations à l’aide de boutons situés sur la barre des tâches de VMWare Workstation.

8. Mettre les VMs dans un réseau privé.

Etude de cas n°02 (manipulation d’un hyperviseur de type1)

Une petite entreprise de vente en ligne composée de 5 personnes dispose dans son infrastructure

réseau de (cf. Figure 13) :

1 serveur mail ;

1 serveur web pour héberger son site ;

1 NAS pour stocker les fichiers et documents de travail des employés.

Page 36: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre 1 Virtualisation

Figure 13 : L’architecture demandée de TP

Travail demandé

1- Installer ESXi + configuration réseau (cf. Figure 14)

Figure 14 : L’installation demandée

2- Accéder à ESXi via un client web pour créer des VM

3- Faire communiquer les VMs entre elles.

Page 37: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Chapitre II

Cloud computing

Sommaire

1. Introduction .................................................................................................................. 37

2. Historique ..................................................................................................................... 37

3. Définition du Cloud Computing .................................................................................... 39

4. Les caractéristiques du Cloud Computing ..................................................................... 40

5. Modèles de services ...................................................................................................... 41

6. Modèles de déploiement du Cloud ................................................................................ 43

7. Les avantages et les inconvénients du Cloud ................................................................. 45

8. Les principaux acteurs du Cloud Computing ................................................................. 46

9. Cloud et la virtualisation ............................................................................................... 47

Activité Pratique 2 ................................................................................................................ 49

Références ............................................................................................................................ 51

Page 38: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

1. Introduction

Les progrès de la technologie de l'information exigent un nouveau paradigme informatique

qui prend en charge la fourniture des services informatique sans les installer sur les sites locaux

avec un cout minimal. Le Cloud Computing propose le même modèle décrit ci-dessus, il

présente des services qui sont fournis sur Internet d'une manière élastique, à la demande pour

laquelle les frais sont payés au moment de la libération des ressources. En général, un Cloud

est un paradigme technologique, qui est une extension de plusieurs technologies existantes à

savoir, le calcul parallèle et distribué, les architectures SOA (Service-Oriented Architecture),

la virtualisation, la mise en réseau, etc.

L'informatique distribuée, la virtualisation et l’internet fonctionnent comme des éléments de

base indispensables au Cloud Computing. C'est un paradigme informatique hautement

partageable où le traitement, le stockage, le réseau, les applications, etc. sont partagés. L'objectif

du Cloud Computing est de fournir, à la demande, des services sécurisés, qualitatifs, évolutifs,

rapides, plus réactifs, rentables et automatiquement provisionnés. Les services sont fournis de

manière transparente (localisation indépendante). Le Cloud Computing peut aider à améliorer

les performances de l'entreprise, tout en apportant une contribution pour contrôler le coût de

fourniture des ressources informatiques pour toute entreprise.

Ainsi, l’objectif principal de ce chapitre est d’éclaircir la notion de Cloud Computing en

présentant son historique et ses différentes définitions, ses principales caractéristiques, ses

différentes couches et modes de déploiements, ses avantages et inconvénients et une description

de ses principaux acteurs.

2. Historique

Le concept du Cloud Computing n'est pas vraiment nouveau puisqu'il fut introduit par John

McCarthy dès 1961avec l'idée d'un « système informatique disponible comme un outil public

». Il peut être considéré comme la cinquième évolution des architectures informatique d’après

Microsoft. Cette évolution peut être présentée selon les phases suivantes (cf. Figure 15) :

1- Elle débute en 1980 avec des entreprises de fourniture d’accès aux réseaux de recherche

régionaux aux Etats Unis d’Amérique. Et c'est seulement en 1989 que le premier

fournisseur d'Accès Internet (FAI 1.0) via le réseau téléphonique, est devenu

opérationnel. Ils ne permettent d'offrir qu'un accès limité au réseau Internet via le réseau

téléphonique afin d'assurer le raccordement des personnes où les entreprises ;

Page 39: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

2- La seconde phase est l’apparition de la deuxième génération des FAI 2.0 qui permet aux

navigateurs web d'utiliser la messagerie électronique et d'accéder aux serveurs mail ;

3- La troisième génération, le FAI 3.0 a connue l’apparition des centres de colocations qui

permet d’offrir, au navigateur web, la possibilité de télécommuniquer et de se connecter

avec d’autre réseaux Internet, d’accéder aux serveurs de stockage et de traitement, de

sécuriser les ressources physiques et le transfert des données. Il offre aux fournisseurs la

possibilité d’héberger des applications métiers des entreprises ;

4- La quatrième génération, le FAI 4.0. Un fournisseur de service d'applications (FSA)

(appelé aussi fournisseur d'applications en ligne) est une entreprise qui fournit des

logiciels où des services informatiques à ses clients à travers l’internet. Il met en place

des plateformes de génération d’applications à la demande, dont les « Software as a

Service » sont des dérivés (cf. Section 5.1). L’avantage de ce modèle est de fournir un

accès à des applications particulières (comme un programme de facturation médicale) en

utilisant un protocole standard comme le protocole http ;

5- La cinquième génération, le FAI 5.0, permet à un groupe d'utilisateur de partager les

mêmes ressources physiques (sous les modèles Infrastructure-as-a-Service) et logique

(Software-as-a-Service) en même temps et à moindre coût. Les FAI 5.0 fournissent

également un modèle économique, qui permet aux utilisateurs, de payer seulement les

ressources qu'ils utilisent, tel que Google et Salesforce ont lancé le premier site web

public pour les services Cloud en 1999.

Figure 15 : Evolution vers le Cloud.

Page 40: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

3. Définition du Cloud Computing

Il n’existe pas actuellement une définition exacte du concept du Cloud Computing acceptée

universellement par les chercheurs concernés. Des travaux de recherche ont été effectués juste

pour définir d’une manière claire le concept du Cloud, à titre d’exemple Vaquero et al, ont

consacré un article entier pour comparer entre plus de 20 définitions différentes à propos du

Cloud.

Nous avons trouvé plusieurs définitions. Dans ce qui suit, nous présentons quelques citations

relatives à sa définition qui nous paraissent les plus importantes :

Selon Cisco Systems, le leader mondial des technologies réseaux, le Cloud Computing

peut se définir comme suit : « IT resources and services that are abstracted from the

underlying infrastructure and provided “on-demand” and “at scale” in a multitenant

environment ». Autrement dit, le Cloud Computing est une plate-forme de mutualisation

informatique fournissant aux entreprises des services à la demande et à l’échelle avec

l'illusion d'une infinité de ressources.

Selon NIST (National Institutof Scienceand Technology), le Cloud Computing est

défini comme suit: « Cloud computing is a model for enabling ubiquitous, convenient,

on-demand network access to a shared pool of configurable computing resources (e.g.,

networks, servers, storage, applications, and services) that can be rapidly provisioned

and released with minimal management effort or service provider interaction ».

Autrement dit, Le Cloud Computing est un modèle permettant d’accéder à travers le

réseau, à la demande, à un ensemble de ressources informatique partagées et

configurables (les réseaux, les serveurs, des capacités de stockage, des applications, et

les services), qui sont rapidement mobilisables et libérables avec le moindre effort

d’administration ou d’intervention du fournisseur.

Selon Gartner, le Cloud est défini comme suit: « Cloud is a style of computing where

scalable and elastic IT-related capabilities are provided as a service to external

customers using Internet technologies». Autrement dit, le Cloud Computing est un type

d’informatique dans lequel des capacités très évolutives sont fournies sous forme de

service à plusieurs clients via les technologies Internet.

Amazon se réfère au Cloud Computing en tant que la fourniture à la demande de

puissance de calcul, de stockage de base de données, d'applications et d'autres

ressources informatiques à travers une plate-forme de services Cloud via Internet avec

un payement au fur et à mesure de ce que l’utilisateur a consommé. Soyons-nous

Page 41: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

utilisons des applications qui partagent des photos sur des millions d'utilisateurs mobiles

où nous utilisons des opérations critiques de l’entreprise, le Cloud offre un accès rapide

à des ressources informatiques flexibles et peu coûteuses.

A partir de ces quatre définitions, nous constatons que le Cloud Computing est basé sur

la technologie de virtualisation, qui consiste à partager des ressources informatiques

configurables d’un Data Center. A titre d’exemple, les réseaux, les serveurs, stockage de base

de données, puissance de calcul, d'applications, etc. Le Cloud fournit aussi à ses clients des

services à la demande, instantanés et élastiques avec facturation de ce qui a consommé.

4. Les caractéristiques du Cloud Computing

Selon NIST, le Cloud Computing comprend les cinq caractéristiques suivantes :

4.1. Accès libre-service et à la demande

Le service est fourni au client au moment de son besoin et de sa demande sans aucune

interaction avec le fournisseur du service. Autrement dit, le service à la demande permet aux

utilisateurs d'utiliser les ressources du Cloud, tel que le temps du serveur et la capacité de

stockage du réseau selon leurs besoins, et un accès libre qui consiste au provisionnement des

ressources sans interaction humaine entre l'utilisateur et le fournisseur de services.

4.2.Accès ubiquitaire au réseau

Les ressources sont accessibles sur le réseau depuis des plateformes hétérogènes (tablettes,

stations de travail, smartphones, etc.).

4.3.Mise en commun des ressources

Les mêmes ressources sont mises en commun et assignées aux différents clients de manière

dynamique. Sur le Cloud une même application peut être utilisée par plusieurs clients en même

temps, en préservant la sécurité et les données privées de chaque client. Cela est possible en

utilisant des outils de virtualisation qui permettent de partager un serveur entre plusieurs

utilisateurs. Les différentes ressources physiques et virtuelles (par exemple, le stockage, le

traitement, la mémoire et la bande passante du réseau) sont attribuées dynamiquement et

réaffectées aux clients en fonction de la demande des consommateurs. Le client ne peut pas

contrôler l’emplacement exact des ressources fournies. Néanmoins, il peut exiger

l’emplacement souhaité pour ses ressources par exemple le pays où le continent, à travers

l’intégration d’un niveau d’abstraction plus élevé.

Page 42: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

4.4.Elasticité rapide

L’élasticité rapide se réfère à la capacité du Cloud d’adapter (augmenter ou réduire)

l’allocation des ressources de façon rapide, souple, et efficace, selon les besoins de l’utilisateur.

Les capacités de calcul semblent à l’utilisateur comme un vaste réservoir de ressources

dynamiques qui peuvent être payées lorsque cela est nécessaire.

4.5.Service mesuré

L'utilisation des ressources peut être surveillée, contrôlée et signalée, offrant une

transparence pour le fournisseur et pour le consommateur du service utilisé. Le Cloud

Computing permet au client de payer à l'usage, uniquement ce qui a été consommé selon le type

de service (stockage, traitement, bande passante et comptes d'utilisateurs actifs, etc.) et le temps

d’utilisation du service.

5. Modèles de services

Le groupe de travail NIST a classé les services Cloud en trois modèles (couches), en fonction

de la nature du service, à savoir logiciel, plateforme où infrastructure (cf. Figure 16).

Figure 16 : Modèle de référence du Cloud Computing.

5.2.SaaS (Software as a Service)

C'est un modèle de déploiement d'applications, dans lequel un fournisseur (opérateurs SaaS)

loue une application logicielle en main de ses clients, en tant que service, à la demande.

Beaucoup de logiciels sont proposés en tant que service, comme les messageries en ligne, les

gestionnaires de la relation client "Customer Relationship Management" (CRM), les logiciels

de stockage comme flickr, la gestion des ressources humaines, comptabilité, Salesforce, etc.

Page 43: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

La mise en place des infrastructures, des serveurs d'hébergements et des systèmes

d'exploitations est entièrement assurée par les fournisseurs de services Cloud et elle est

totalement abstraite pour l’utilisateur. Ce dernier peut néanmoins configurer où personnaliser

son application via une API (Application Programming Interface) que le fournisseur met en

place pour ces clients afin qu’ils puissent configurer le SaaS selon leurs besoins. Egalement

l’utilisateur est libre de n’effectuer aucune mise à jour, c’est le rôle des fournisseurs qui doivent

contrôler l’accès et la mise à jour des SaaS qu’ils fournissent.

5.3.PaaS (Platform as a Service)

Ce modèle offre à l’utilisateur un ensemble de langage de programmation et des outils afin

de lui permettre de développer des applications logicielles (à titre d’exemple, des applications

web, des applications mobiles où des applications bureautiques), sans recourir au besoin

d’installer un outil dans son poste de travail local, et de déployer ces applications développées

sur une infrastructure Cloud du fournisseur. Ce dernier exerce un contrôle et une gestion

complète de l’infrastructure sous-jacente à l’application, néanmoins l’utilisateur/le développeur

exerce uniquement un contrôle sur les applications déployées.

Les services proposés par une plateforme en tant que service sont généralement accessible via

des interfaces Web publiques. Les plateformes de développement les plus connues sont

proposées par de grands éditeurs de logiciels en tant que services tels que Google App Engine1

et Windows Azure2.

5.4.IaaS (Infrastructure as a Service)

Ce modèle fournit une infrastructure sous la forme d’un service pour le déploiement et

l’exécution des applications, par exemple des serveurs, des capacités de calcul, des réseaux, un

espace de stockage, de bande passante etc. Ces services sont offerts via l’internet et sous une

forme de paiement à l’utilisation. Les clients de l’infrastructure ne paient que les ressources

qu’ils consomment. L’utilisateur contrôle les systèmes d’exploitation, la capacité de stockage,

et les applications déployées. Amazon EC2 (Amazon Elastic Compute Cloud)3 est un exemple

d'IaaS.

Pour simplifier ces notions, nous pouvons retenir qu’avec :

- Le SaaS : nous pouvons utiliser une application ;

1 http://appengine.google.com 2 https://azure.microsoft.com/fr-fr/ 3 https://aws.amazon.com/fr/ec2/

Page 44: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

- Le PaaS : nous pouvons développer et déployer une application ; et

- L’IaaS : nous pouvons héberger nos applications.

6. Modèles de déploiement du Cloud

Selon le groupe de travail NIST, les services Cloud peuvent être déployés suivant quatre

modèles, le Cloud privé, public, communautaire et hybride, correspondant à des usages

différents :

6.2.Le Cloud public

Le Cloud publique, est généralement ouvert pour une utilisation par le grand public sur

Internet. Le grand public peut être défini par des utilisateurs, un organisme commercial,

universitaire où gouvernemental, où une combinaison entre eux (cf. Figure 17).

Amazon, Google, Microsoft, et Salesforce proposent un Cloud public dans lequel n'importe

quel particulier où n’importe quelle entreprise peut y héberger ses applications, ses services où

ses données.

Figure 17 : Schéma de l’architecture de Cloud public.

6.3.Cloud privé

L’infrastructure Cloud est fournie à l’usage exclusif d’une seule organisation. Elle peut être

détenue, gérée et exploitée par l’organisation, un tiers, où une combinaison entre eux. Elle peut

exister au sein des locaux de l’organisation où en dehors de cette dernière. Eucalyptus,

OpenNebula et OpenStack sont des exemples de solution pour la mise en place du Cloud privé.

Page 45: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Donc la principale différence qui réside entre un Cloud public et un Cloud privé, est que les

ressources d’un Cloud privé sont destinées uniquement aux clients autorisés par l'organisation

qui possède les ressources, et elles ne peuvent pas être partagées avec d’autres clients de

l’extérieur, contrairement au Cloud public où les ressources peuvent être partagées par le grand

public.

Nous pouvons distinguer deux types de Cloud privé :

1- Les Clouds privés internes : dans ce type de Cloud, les applications, les ressources

physiques et virtuelles sont regroupées et gérées au sein de l’infrastructure possédée par

l’organisation.

2- Les Clouds privés externes : dans ce type de Cloud, les ressources sont destinées aux

besoins de l’entreprise, mais elles sont hébergées et déployées chez un fournisseur.

6.4.Le Cloud Communautaire

L'infrastructure Cloud est partagée par plusieurs organisations. Cette communauté

d’organisation peut partager les mêmes préoccupations, par exemple, les tâches de gestion de

ressources, la sécurisation des données, le déploiement d’applications, l’authentification, …

etc.

Ces ressources peuvent être détenues, gérées, et exploitées par un ou plusieurs organismes de

la communauté, un tiers, où une combinaison entre eux. Elles peuvent exister au sein où en

dehors des locaux des différents organismes de la communauté.

Des exemples de Cloud communautaires4 :

La GSA (General Services Administration) aux Etats Unis, qui a lancé un site

communautaire pour les organisations gouvernementales américaines.

Amadeus, est le fournisseur principal de solutions informatique à l’industrie du tourisme

et du voyage, crée par Air France, Lufthansa, Iberia et SAS, il y a 20 ans. Aujourd’hui

il est le premier acteur mondial dans le domaine des voyages, avec plus de 150

compagnies aériennes clientes, 280 millions de transactions quotidiennes et 2 500

informaticiens mobilisés.

CMed, startup lancée en 2010 pour créer un nouveau Cloud communautaire destiné aux

laboratoires pharmaceutiques. Suite à la normalisation et à l’harmonisation des

processus d’autorisation de mise sur le marché de nouveaux médicaments à travers le

4 https://blog.outscale.com/fr/le-cloud-communautaire-nouveau-modele-en-vogue

Page 46: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

monde, la startup a souhaité accompagner les laboratoires du monde entier dans leurs

travaux en créant son application Timaeus.

6.5.Cloud hybride

L’infrastructure d’un Cloud hybride est une composition de deux ou plusieurs infrastructures

Cloud distinctes (privé, communautaire, où public). Celles-ci demeurent des entités uniques,

mais sont liées par des technologies standardisées où propriétaires qui permettent la portabilité

des données et des applications entre les différentes infrastructures Cloud. Par exemple, on

pourra exporter nos applications dans un Cloud public, mais ces applications utiliseront

également des données stockées sur un Cloud privé, où bien procéder à la communication de

deux applications hébergées dans deux Cloud distincts.

7. Les avantages et les inconvénients du Cloud

Toute analyse sérieuse du Cloud Computing doit tenir compte des avantages et des

inconvénients offerts par cette technologie. Dans ce qui suit, nous allons montrer les avantages

et les inconvénients du Cloud Computing.

7.2.Avantages

Le Cloud Computing offre beaucoup d'avantages et de flexibilité à ses utilisateurs.

L'utilisateur peut opérer n'importe où et à tout moment de manière sécurisée. Vu le nombre

croissant d'appareils compatibles avec le Web qui sont utilisés aujourd’hui (par exemple, les

tablettes, les téléphones intelligents, etc.), l'accès à l'information et aux données doit être rapide

et plus simple. Certains de ces avantages, très pertinents concernent l'utilisation d'un Cloud

peuvent être les suivants :

1- Réduire le coût de gestion et de l’investissement initial : avec le Cloud les entreprises

ne se soucient pas de la gestion des ressources où du personnel nécessaire à la

supervision de leurs plateformes. Le Cloud minimise les risques commerciaux ;

2- Fournir une infrastructure dynamique qui offre des coûts réduits et des services

améliorés avec moins de coûts de développement et de maintenance ;

3- Fournir des services à la demande, flexibles, évolutifs, améliorés et adaptables grâce au

modèle de paiement à l’usage « Pay-as-you-go » ;

4- Fournir une disponibilité et des performances cohérentes avec des charges maximales

provisionnées automatiquement ;

5- Se rétablir rapidement et améliorer les capacités de restauration pour améliorer la

résilience des entreprises ;

Page 47: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

6- Fournir une capacité de traitement, de stockage, de réseau illimité, etc. de manière

élastique ;

7- Offrir des mises à jour automatiques de logiciels, compatibilité du format de document

améliorée et compatibilité améliorée entre les différents systèmes d'exploitation ;

8- Offrir une collaboration de groupe facile, c'est-à-dire une flexibilité pour les utilisateurs

à l'échelle mondiale de travailler sur le même projet ; et

9- Offrir un calcul respectueux de l'environnement car il utilise uniquement l'espace

serveur requis par l'application.

7.3.Les inconvénients du Cloud Computing

Certains des inconvénients lors de l'utilisation d'un Cloud sont comme suit :

1- Le Cloud nécessite un réseau avec une haute vitesse de communication et une

connectivité constante ;

2- Les données et les applications sur un Cloud public pourraient ne pas être très

sécurisées, ce qui pose le problème de la confidentialité et de la sécurité ; et

3- Nécessite une surveillance et une application constante des accords de niveau de service

(SLA).

8. Les principaux acteurs du Cloud Computing

Selon une récente recherche de Merrill Lynch, a été estimée que le marché du Cloud, atteint

160 milliards-$ dont 95 milliards-$, est consacré pour les applications commerciales et la

productivité d’entreprise, et 65 milliards-$ pour la production des publicités en ligne. Une autre

étude menée par Morgan Stanley a également identifié le Cloud comme l'une des principales

tendances technologiques. Récemment, l'industrie informatique se déplace vers la fourniture de

plate-forme en tant que service (PaaS) et de logiciels en tant que service (SaaS) pour les

consommateurs et les entreprises, indépendamment du lieu et du moment, le nombre de

plateformes Cloud disponibles augmentera. Dans cette section, nous comparons quelques

plateformes représentatives du Cloud :

Amazon Elastic Compute Cloud5 fournit un environnement informatique virtuel qui permet

à un utilisateur d'exécuter des applications basées sur Linux. L'utilisateur peut, soit créer une

nouvelle image machine Amazon AMI (Amazon Machine Image) contenant les applications,

les bibliothèques, les données et les paramètres de configuration associés, soit sélectionner une

5 https://aws.amazon.com/fr/ec2/

Page 48: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

bibliothèque d'AMI disponibles au niveau de la bibliothèque AMIs. L'utilisateur doit ensuite

charger (upload) les AMIs créées où sélectionnées vers Amazon Simple Storage Service (S3)

avant de commencer à démarrer, arrêter et surveiller les instances des AMIs chargées. Amazon

EC2 facture l'utilisateur à partir du moment où l'instance est activée, tandis qu'Amazon S3

facture les frais pour tout transfert de données (upload et download).

Google App Engine6 permet à un utilisateur d'exécuter des applications Web écrites à l'aide

du langage de programmation Python. Outre la prise en charge de la bibliothèque standard

Python, Google App Engine prend également en charge les API (Application Programming

Interfaces) pour les bases de données, les comptes Google, la recherche d'URL, la manipulation

des images et les services de messagerie. Google App Engine fournit également une console

d'administration basée sur le Web permettant à l'utilisateur de gérer facilement ses applications

Web en cours d'exécution. Actuellement, Google App Engine est utilisé gratuitement avec 500

Mo de stockage et environ 5 millions de pages vues par mois.

Microsoft Windows Azure7 est une Plateforme de développement basée sur un système

d'exploitation Cloud qui permet aux développeurs de créer leurs applications sur la base d'un

ensemble standard tel que REST, SOAP où http. Il s'agit d'une offre d'hébergement

(applications et données) et de services (workflow, stockage et synchronisation des données,

bus de messages, contacts…). Un ensemble d'API permet d'utiliser et d'accéder à cette plate-

forme et également aux services associés. Un environnement d'exécution (le « Live Operating

Environment ») permet une intégration étroite avec les principaux systèmes d'exploitation

existant (Windows, Mac OS et Windows Phone).

Salesforce.com8 : Salesforce est un éditeur de logiciels, basé à San Francisco aux États-

Unis. Il distribue des logiciels de gestion basés sur Internet et héberge des applications

d'entreprises. L'entreprise est surtout connue au niveau international pour ses solutions en

gestion de la relation client en mode SaaS, elle est devenue l'une des pionnières du modèle SaaS

notamment grâce à son outil historique de CRM.

9. Cloud et la virtualisation

Cette fameuse technologie (la virtualisation) fait abstraction des détails physiques du matériel

et fournit une virtualisation des ressources à un niveau applicatif très élevé. La virtualisation

forme la fondation et la base du Cloud Computing, car elle permet la possibilité de mettre en

6 http://appengine.google.com 7 https://azure.microsoft.com/fr-fr/ 8 https://www.salesforce.com/

Page 49: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

commun des ressources informatiques dans des clusters de serveurs et les attribuer/restituer

dynamiquement dans l’environnement virtuel destiné aux applications.

En résumé, le Cloud s’appuie sur la technologie de virtualisation pour atteindre le but de

fournir les ressources informatiques selon l’utilité de façon dynamique.

Page 50: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Activité Pratique 2

Etude de cas : Cloud Computing

Objectif général Découvrir et essayer pratiquement des Clouds.

Objectifs

spécifiques

Etudier la possibilité de migrer une application vers le

Cloud.

Découvrir et essayer pratiquement des clouds.

Page 51: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Activité Pratique 2

Etude de cas : Cloud Computing

Objectifs :

Etudier la possibilité de migration vers le Cloud, identification des opportunités et des

bénéfices

Découvrir et essayer pratiquement des Clouds ;

Contexte générale :

Après avoir étudié théoriquement les principaux concepts liés au Cloud ; nous allons

essayer, à travers cette étude, de découvrir et d’essayer pratiquement des Clouds.

Cette activité comporte deux parties :

- La première partie est purement théorique dans laquelle vous allez réaliser une étude

pour tester la capacité de migrer les services de votre entreprise (la mairie selon notre

étude de cas) vers le Cloud.

- La deuxième est consacrée à une utilisation pratique des services Cloud.

Conditions de réalisation :

Durée de réalisation : 4 semaines partie 1 : 1 semaine ; partie 2 : 3 semaine

Exposés pratiques : 2 séances = 6 heures

Travail à réaliser en binôme ou trinôme.

Livrables :

1 rapport théorique de la 1ère partie

1 rapport d’utilisation des services Cloud : il s’agit dans cette activité, d’étudier et de

manipuler réellement des Clouds. On vous propose ci-dessous trois exemples de

Cloud sur le marché. On vous demande de consulter les différents sites indiqués,

essayer des services du cloud :

1. Cas d'amazon (AWS)

2. Cas de Google Cloud

3. Cas de Rackspace 9

9 http://www.rackspace.com/cloud/

Page 52: Cours Sur Le Cloud et la Virtualisationconcept de virtualisation tel qu’il existe de nos jours est VMWare®. Chapitre 1 Virtualisation 4.3.Le développement de VMWare - Au cours

Références 1. Bakshi, K. (2009). Cisco cloud computing-data center strategy, architecture, and

solutions point of view white paper for us public sector 1st edition.

2. Benfenatki, H., Da Silva, C. F., Benharkat, A. N., & Ghodous, P. (2014). Cloud-

Based Business Applications Development Methodology. In WETICE Conference

(WETICE), 2014 IEEE 23rd International (pp. 275-280). IEEE.

3. Buyya, R., Yeo, C. S., & Venugopal, S. (2008). Market-oriented cloud computing:

Vision, hype, and reality for delivering it services as computing utilities. In High

Performance Computing and Communications, HPCC'08. 10th IEEE International

Conference on, IEEE, 5-13.

4. Clearley, D. W. (2010). Cloud Computing ‘Key initiative overview’ by Gartner.

5. Eric. M (2011). Virtualisation avec VMware vSphere 4. ISBN:978-2-7460-6079-1,

ISSN: 1767-1590.

6. GRASSA, N. (2014) .Cours Virtualisation et Cloud.

7. Hess, K., & Newman, A. (2010). Virtualisation en pratique. Pearson.

8. M. Vaquero, L., R.Merino, L., Caceres, J., & Lindner, M. (2009). A Break in the

Clouds: Towards a Cloud Definition. ACM SIGCOMM Computer Communication

Review, 39(1), 50-55. Doi: 10.1145/1496091.1496100.

9. M. Vaquero, L., R.Merino, L., Caceres, J., & Lindner, M. (2009). A Break in the

Clouds: Towards a Cloud Definition. ACM SIGCOMM Computer Communication

Review, 39(1), 50-55. Doi: 10.1145/1496091.1496100

10. Mathew, S., & Varia, J. (2014). Overview of amazon web services. Amazon

Whitepapers.

11. Mell, P. M., & Grance, T. (2011). Sp 800-145. The NIST Definition of Cloud

Computing.

12. Miller, M. (2008). Cloud computing: Web-based applications that change the way

you work and collaborate online. Que publishing.

13. Portnoy, M. (2012). Virtualization essentials (Vol. 19). John Wiley & Sons.

14. Rountree, D., & Castrillo, I. (2013). The basics of cloud computing: Understanding

the fundamentals of cloud computing in theory and practice. Newnes.

15. Sajid, M., & Raza, Z. (2013). Cloud computing: Issues & challenges.

In International Conference on Cloud, Big Data and Trust. 20(13), 13-15.

16. Saouli,H. (2015). Découverte de services web via le Cloud Computing à base

d’agents mobiles. doctoral thesis. University of Mohamed Khider, Biskra, Algeria.