Vous êtes sur la page 1sur 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
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
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.
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
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.
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.
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
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®.
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.
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.
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
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
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


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)
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.
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).


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.
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
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.
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
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)
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.
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.
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
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.
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
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.
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).
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.
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.
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.
Chapitre 1 Virtualisation

Activité Pratique 1
Etude de cas : Virtualisation

Etudier et manipuler pratiquement des outils de


Objectif général
virtualisation.
Etudier et comparer des outils de virtualisation.
Objectifs
Créer, configurer et faire communiquer des machines
spécifiques
virtuelles.
virtualisation, hyperviseur de type1, hyperviseur de
Mots clés
type 2…
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
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 ?
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.
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.
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
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 ;
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.


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
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é.
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.
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 Engine 1
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/
- 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é.
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 communautaires 4 :


 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
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 ;
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/
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 Azure 7 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/
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.
Activité Pratique 2
Etude de cas : Cloud Computing

Objectif général Découvrir et essayer pratiquement des Clouds.

Etudier la possibilité de migrer une application vers le


Objectifs
Cloud.
spécifiques
Découvrir et essayer pratiquement des clouds.
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/
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.

Vous aimerez peut-être aussi