master cloud
TRANSCRIPT
-
Ecole Doctorale Sciences et Technologies
Mmoire de MASTERE
NTSID
N dordre: 2011 63
Rpublique Tunisienne Ministre de lEnseignement Suprieur,
Et de la Recherche Scientifique
Universit de Sfax cole Nationale dIngnieurs de Sfax
MEMOIRE
Prsent
Lcole Nationale dIngnieurs de Sfax
en vue de lobtention du
MASTERE
Nouvelles Technologies des Systmes Informatiques Ddis
Par
Meriam MAHJOUB (Ingnieur Informatique)
tude et exprimentations du Cloud Computing pour le monitoring des applications orientes services
Soutenu le 03 septembre 2011, devant le jury compos de :
M. Maher BEN JEMAA Prsident
M. Maher KHEMAKHEM Rapporteur
M. Mohamed JMAIEL Encadreur
M. Riadh BEN HALIMA Invit
Mlle. Afef MDHAFFAR Invite
-
A mes parents Zouhaier et Samia
A mes surs Wafa et Rania
A mon frre Mohamed
A tous ceux qui comptent pour moi
Je vous aime !
i
-
Remerciements
C'est avec un grand plaisir que je rserve cette page en signe de gratitude et
de profonde reconnaissance tous ceux qui ont bien voulu apporter l'assistance
ncessaire au bon droulement de ce travail.
Je veux d'abord remercier mon encadreur M. Mohamed Jmaiel, professeur
l'Ecole Nationale d'Ingnieurs de Sfax, pour la conance qu'il m'a accord en accep-
tant de diriger mes travaux de mastre. Qu'il trouve dans ce travail l'expression de
ma profonde gratitude.
Mes vifs remerciements s'adressent galement M. Riadh Ben Halima, assistant
l'Ecole Nationale d'Ingnieurs de Sfax, pour la qualit de son co-encadrement,
ses remarques pertinentes et ses encouragements continus. J'apprcie ses grandes
qualits morales et son extrme modestie. Qu'il trouve dans ce travail l'expression
de mon profond respect et mon innie reconnaissance.
Je remercie vivement Mlle. Afef Mdhaar pour son assistance et ses encourage-
ments tout au long du mastre.
Je tiens remercier M. Maher Ben Jemaa, matre de confrences l'Ecole Na-
tionale d'Ingnieurs de Sfax pour l'honneur qu'il m'a fait en acceptant de prsider
le jury de mon mastre.
Je remercie galement M. Maher Khemakhem, matre de confrences l'Institut
Suprieur de Gestion de Sousse, d'avoir accept de juger mes travaux de mastre.
Je n'oublierais pas remercier les membres de l'unit de recherche ReDCAD,
pour la bonne ambiance.
Je remercie particulirement mes parents, mes surs et mon frre pour leur
patience et leur soutien tout au long de ce mastre. Ainsi je tiens leur ddier ce
modeste travail.
ii
-
Table des matires
Introduction gnrale 1
1 Etat de l'art 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Le Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Les types de Cloud Computing . . . . . . . . . . . . . . . . . 4
1.2.2 Les services de Cloud Computing . . . . . . . . . . . . . . . . 5
1.3 La virtualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.1 Dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.2 Techniques de virtualisation . . . . . . . . . . . . . . . . . . . 7
1.3.3 Solutions de virtualisation . . . . . . . . . . . . . . . . . . . . 11
1.4 Solutions IaaS open source de Cloud Computing . . . . . . . . . . . 14
1.4.1 Eucalyptus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.2 OpenNebula . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.3 Nimbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.4 Xen Cloud Platform . . . . . . . . . . . . . . . . . . . . . . . 19
1.4.5 AbiCloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.6 OpenStack . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.7 Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.5 Les acteurs du march du Cloud Computing . . . . . . . . . . . . . . 27
1.5.1 Amazon Web Services . . . . . . . . . . . . . . . . . . . . . . 27
1.5.2 Microsoft Azure . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.5.3 Google App Engine . . . . . . . . . . . . . . . . . . . . . . . . 28
1.5.4 Google Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
iii
-
TABLE DES MATIRES TABLE DES MATIRES
1.5.5 Force.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.5.6 OVH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.5.7 Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.6 Cloud Computing et techniques de virtualisation . . . . . . . . . . . . 31
1.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2 Le Cloud Computing et les services Web 34
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2 Les couches du Cloud Computing . . . . . . . . . . . . . . . . . . . . 34
2.3 Les services Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.1 Dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3.2 Cycle de vie d'un service Web . . . . . . . . . . . . . . . . . . 36
2.3.3 Les concepts associs . . . . . . . . . . . . . . . . . . . . . . . 36
2.4 Performance des services Web . . . . . . . . . . . . . . . . . . . . . . 37
2.5 Techniques de mesure de la QdS . . . . . . . . . . . . . . . . . . . . . 39
2.5.1 Le Timer insr dans le code . . . . . . . . . . . . . . . . . . . 39
2.5.2 Utilisation de l'approche oriente aspect . . . . . . . . . . . . 39
2.5.3 Autres techniques . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.6 Architecture de mesure de la qualit de service . . . . . . . . . . . . . 40
2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3 Exprimentations et validation d'AOP4CSM sur le Cloud 43
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2 Mise en place d'AOP4CSM . . . . . . . . . . . . . . . . . . . . . . . . 43
3.2.1 Couche infrastructure . . . . . . . . . . . . . . . . . . . . . . . 43
3.2.2 Couche plateforme . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2.3 Couche software . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3 Environnement de dploiement . . . . . . . . . . . . . . . . . . . . . 46
3.3.1 MiniCloud d'OVH . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3.2 Conguration et dploiement . . . . . . . . . . . . . . . . . . 47
3.4 Exprimentations d'AOP4CSM . . . . . . . . . . . . . . . . . . . . . 48
3.4.1 Rsultats exprimentaux . . . . . . . . . . . . . . . . . . . . . 48
iv
-
Table des matires
3.4.2 Surcot d'AOP4CSM . . . . . . . . . . . . . . . . . . . . . . . 53
3.4.3 Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Conclusion gnrale et perspectives 55
Bibliographie 57
annexe 61
.1 Etapes d'installation d'Eucalyptus . . . . . . . . . . . . . . . . . . . . 62
.1.1 Etape 1 : Prparation du front end . . . . . . . . . . . . . . . 62
.1.2 Etape 2 : Prparation du nud . . . . . . . . . . . . . . . . . 63
.1.3 Etape 3 : Enregistrement et intgration des composants d'Eu-
calyptus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
.1.4 Etape 4 : Utilisation d'Eucalyptus . . . . . . . . . . . . . . . . 67
v
-
Table des gures
1.1 Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Les dirents niveaux des services du Cloud Computing . . . . . . . . 6
1.3 Isolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Paravirtualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Virtualisation complte . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6 Architecture d'Eucalyptus . . . . . . . . . . . . . . . . . . . . . . . . 16
1.7 Architecture d'OpenNebula . . . . . . . . . . . . . . . . . . . . . . . 17
1.8 Architecture de Nimbus . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.9 Architecture de Xen Cloud Platform . . . . . . . . . . . . . . . . . . 19
1.10 Architecture d'AbiCloud . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.11 Architecture d'OpenStack . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1 Architecture gnrale du Cloud Computing . . . . . . . . . . . . . . . 35
2.2 Cycle de vie d'un service Web . . . . . . . . . . . . . . . . . . . . . . 37
2.3 Architecture de mesure de la QdS . . . . . . . . . . . . . . . . . . . . 38
2.4 Architecture de dploiement d'AOP4CSM . . . . . . . . . . . . . . . 41
3.1 Composants d'Eucalyptus . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2 Architecture de dploiement sur le Cloud . . . . . . . . . . . . . . . . 47
3.3 Evolution du temps de rponse . . . . . . . . . . . . . . . . . . . . . 50
3.4 Evolution du temps d'excution . . . . . . . . . . . . . . . . . . . . . 51
3.5 Evolution du temps de communication . . . . . . . . . . . . . . . . . 51
3.6 Reprsentation des requtes servies en fonction du nombre de clients . 52
3.7 Mesure de la disponibilit . . . . . . . . . . . . . . . . . . . . . . . . 53
vi
-
Table des figures
3.8 Evolution du temps de rponse avec et sans AOP4CSM . . . . . . . . 54
vii
-
Liste des tableaux
1.1 Techniques de virtualisation . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Solutions de virtualisation . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3 Solutions IaaS open source de Cloud Computing . . . . . . . . . . . . 24
1.4 Acteurs du Cloud Computing . . . . . . . . . . . . . . . . . . . . . . 30
1.5 Cloud Computing et techniques de virtualisation utilises . . . . . . . 32
3.1 Conguration matrielle ncessaire pour la mise en place d'un Cloud
avec Eucalyptus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2 Conguration matrielle et logicielle . . . . . . . . . . . . . . . . . . . 47
3.3 Les mesures de la QdS . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.4 Comparaison des rsultats avec et sans AOP4CSM . . . . . . . . . . 54
viii
-
Introduction Gnrale
Avec la gnralisation d'Internet, le dveloppement des rseaux haut dbit, la
location d'application et le paiement l'usage rsultent de l'apparition d'un nouveau
concept : Le "Cloud Computing". Celui-ci consiste en une interconnexion et une
coopration de ressources informatiques, situes dans diverses structures internes,
externes ou mixtes et dont le mode d'accs est bas sur les protocoles et standards
Internet. Le Cloud Computing est devenu ainsi, le sujet le plus dbattu aujourd'hui
dans le secteur des technologies de l'information. Le consensus qui se dgage est que
le Cloud Computing jouera un rle de plus en plus important dans les oprations
informatiques des entreprises au cours des annes venir. C'est pour cela que ce
travail de mastre s'intresse au concept du Cloud Computing. Ainsi, nous avons
men une tude exhaustive sur les alternatives open-sources des plateformes du
Cloud Computing. Ceci nous a permis d'avoir et de prsenter une ide riche sur les
techniques disponibles pour la cration d'un environnement du Cloud.
En outre, le succs de la technologie d'Internet a apport une nouvelle branche
de composants logiciels, connue sous le nom de services Web. Les services Web
demeurent aujourd'hui un acteur majeur dans la mise en uvre des applications
distribues. Outre leur capacit d'interconnecter diverses donnes dans des milieux
htrognes, ils sont caractriss par leur rutilisabilit ainsi que leur indpendance
de la plateforme de dploiement. Avec la prolifration du Cloud Computing, les
fournisseurs de service ont tendance dployer leurs services sur ce nouvel environ-
nement.
Cependant, les services Web ne peuvent tre considrs comme ecaces que
s'ils rpondent temps aux contraintes des utilisateurs naux tels que le temps
de rponse. Ainsi, toute augmentation du temps de rponse d'un service Web est
1
-
Introduction Gnrale
considre comme une dgradation de ses performances, voire mme une panne.
Le monitoring de la Qualit de Service (QdS) constitue donc une tape primor-
diale pour la satisfaction des besoins des clients. Plusieurs solutions de monitoring
existent actuellement. Parmi les quelles, nous citons AOP4CSM [39], une approche
de monitoring dveloppe au sein de l'quipe ReDCAD. Il s'agit d'une approche non
invasive, conue principalement pour les services du Cloud et permettant la collecte
des paramtres de la QdS. L'objectif de ce travail est d'exprimenter sur les envi-
ronnements du Cloud Computing l'approche AOP4CSM [39] et de montrer par la
suite son ecacit.
Pour ce faire, nous avons opt pour une solution IaaS commerciale du Cloud
Computing pour mette en place notre propre environnement du Cloud savoir le
MiniCloud d'OVH. Ainsi, nous avons ralis des exprimentations l'chelle du
Cloud Computing (MiniCloud d'OVH) pour valider AOP4CSM [39]. En se basant
sur des mesures rptes plusieurs fois, nous avons dgag les courbes de variation
de la QdS qui peuvent tre utilises par la suite comme rfrences soit lors de la
dcouverte soit lors d'une analyse de l'tat du service.
Le prsent travail s'articule autour de trois chapitres : Dans le premier chapitre,
nous expliquons, d'une part, quelques gnralits propos du Cloud Computing et
d'autre part, tudions et prsentons des solutions du Cloud Computing existantes.
Le deuxime chapitre dtaille la notion de la qualit de service dans les services Web
ainsi que les techniques existantes pour les observer. De plus, il prsente les dtails de
notre propre contribution savoir notre architecture d'exprimentation sur le Cloud
Computing. Le dernier chapitre est consacr la description des exprimentations
eectues ainsi que l'analyse et l'interprtation des rsultats obtenus. Ce rapport est
cltur par une conclusion et des perspectives.
2
-
Chapitre
1
Etat de l'art
1.1 Introduction
Le Cloud Computing est un concept qui regroupe plusieurs technologies servant
dlivrer dirents services. Il peut tre schmatis par un ensemble indtermin
de ressources informatiques interconnectes dans un rseau bien dni (gure 1.1).
L'accs aux services se fait la demande par une application standard facilement
disponible savoir, un navigateur Web. Il est devenu un concept majeur faisant
rfrence l'utilisation de la mmoire et des capacits de calcul des ordinateurs et
des serveurs rpartis dans le monde entier.
Cloud
Figure 1.1 Cloud Computing
Le Cloud Computing est un passage de l'informatique vers Internet. Les utilisa-
teurs ne sont plus propritaires de leurs serveurs informatiques mais peuvent accder
de manire volutive de nombreux services en ligne sans avoir grer l'infrastruc-
ture sous-jacente, souvent complexe. Les entreprises, dans ce cadre, n'auraient plus
besoin de salles blanches ni de serveurs ni d'informaticiens. Toutes les applications
3
-
Chapitre 1. Etat de l'art
sont loues et excutes au travers des navigateurs ou des serveurs d'applications.
1.2 Le Cloud Computing
1.2.1 Les types de Cloud Computing
Nous distinguons trois types de Cloud Computing. Le Cloud publique, galement
le premier apparu, le Cloud priv et le Cloud hybride qui est en fait la combinaison
des deux premiers.
Le Cloud publique
Le principe est d'hberger des applications, en gnral des applications Web, sur
un environnement partag avec un nombre illimit d'utilisateurs. La mise en place de
ce type de Cloud est gre par des entreprises tierces (exemple Amazon, Google, etc.)
et est accessible selon le modle pay-as-you-go (payer selon la consommation) [15].
Les fournisseurs du Cloud publique les plus connus sont Google et Amazon.
Le Cloud priv
C'est un environnement dploy au sein d'une entreprise. Ainsi, elle doit grer
toute seule son infrastructure. Dans ce cas, implmenter un Cloud priv signie
transformer l'infrastructure interne en utilisant les technologies telles que la virtua-
lisation pour enn dlivrer, plus simplement et plus rapidement, des services la
demande. L'avantage de ce type de Cloud par rapport au Cloud publique rside
dans l'aspect de la scurit et la protection des donnes [15]. En eet, l'ensemble du
matriel est conserv au sein de votre propre emplacement. De ce fait, les ressources
sont dtenues et contrles par votre propre dpartement informatique.
Eucalyptus, OpenNebula et OpenStack sont des exemples de solution pour la mise
en place du Cloud priv.
4
-
Chapitre 1. Etat de l'art
Le Cloud hybride
En gnral, on entend par Cloud hybride la cohabitation et la communication
entre un Cloud priv et un Cloud publique dans une organisation partageant des
donnes et des applications (Par exemple, un Cloud ddi pour les donnes et un
autre pour les applications) [15].
1.2.2 Les services de Cloud Computing
Le Cloud Computing permet aux entreprises de consommer des services la
demande. Les fournisseurs du Cloud distinguent trois services.
Infrastructure as a Service (IaaS)
Il s'agit d'une mise disposition, la demande, de ressources d'infrastructures
(stockage, machines virtuelles, systme d'exploitation (SE), etc.) dont la plus grande
partie est localise distance dans des Datacenter
1
. Dans ce type de service, seul le
matriel est dmatrialis
2
[5].
Amazon EC2 (Amazon Elastic Compute Cloud) est un exemple d'IaaS qui per-
met de louer des machines virtuelles de tailles prdnies pour excuter des appli-
cations.
Plateforme as a Service (PaaS)
Le PaaS dispose d'environnements spcialiss au dveloppement comprenant les
langages, les outils et les modules ncessaires. Dans ce type de service le matriel,
l'hbergement et le Framework d'application sont dmatrialiss [5].
Hadoop est un exemple de PaaS destin aux applications distribues et la
gestion intensive des quantits immenses de donnes.
1. Centre de traitement des donnes : lieu o se trouvent dirents quipements lectroniques,
surtout des ordinateurs et des quipements de tlcommunications
2. Plutt que d'investir dans des serveurs, le Cloud Computing permet de disposer de tout ses
serveurs virtuels hbergs sur Internet
5
-
Chapitre 1. Etat de l'art
Software as a Service (SaaS)
Sans aucune installation d'application sur l'ordinateur, le logiciel (Software) est
directement utilisable travers le navigateur Web comme service nal. Ainsi, l'utili-
sation reste transparente pour les utilisateurs, qui ne se soucient ni de la plateforme
ni du matriel. Le matriel, l'hbergement, le Framework d'application et le logiciel
sont dmatrialiss [5].
Amazon S3 (Amazon Simple Storage Service) est un exemple de SaaS qui est une
plateforme de stockage en ligne. Il utilise une interface Web pour stocker et extraire
les donnes.
La gure 1.2 montre les trois couches du Cloud Computing ainsi que leurs acteurs
en donnant un compromis exibilit/simplicit.
En Cloud, la exibilit est obtenue grce la virtualisation des systmes d'ex-
ploitation. La plateforme est excute via des machines virtuelles et les ressources
peuvent tres alloues et dlibres la demande. Ainsi, l'IaaS est considr le ser-
vice le plus exible. D'autre part, l'IaaS est le service le plus simple mettre en
place.
Figure 1.2 Les dirents niveaux des services du Cloud Computing
Les principes du Cloud Computing incluent :
- La virtualisation et l'automatisation ;
6
-
Chapitre 1. Etat de l'art
- Une administration centralise des ressources.
1.3 La virtualisation
1.3.1 Dnition
La virtualisation est l'ensemble de techniques et d'outils permettant de faire
tourner plusieurs systmes d'exploitation sur une mme machine physique an de
dlivrer une meilleure utilisation des ressources. Cette technologie vient pour r-
pondre certains problmes tels que :
- La sous exploitation des serveurs physiques : il est estim que dans un
Datacenter priv, le taux d'utilisation moyen est de 10%. Celui-ci passe 35%
sur une architecture virtuelle [27].
- La croissance du nombre de serveurs physiques : les ressources physiques
d'un serveur seront partages entre dirents serveurs virtuels ce qui permet
de ne pas acheter plusieurs serveurs physiques.
- La scurit et la abilit : isoler les services sur des serveurs dirents.
Dans les systmes de virtualisation, il faut noter les notions suivantes :
- SE hte : le systme d'exploitation install sur la machine physique ;
- SE invit : les systmes d'exploitation des machines virtuelles ;
- Partage des ressources physiques : les direntes machines virtuelles ins-
talles sur le serveur partagent ces ressources savoir le processeur, les disques
durs et d'autres priphriques ;
- Isolation : les machines virtuelles sont considres comme des ordinateurs
physiques et donc possdent chacune sa propre adresse IP ;
- Manipulation des machines virtuelles : une machine virtuelle est un chier
situ sur un disque du serveur.
1.3.2 Techniques de virtualisation
La virtualisation permet de cohabiter plusieurs systmes d'exploitation compl-
tement isols dans un mme hte [9].
7
-
Chapitre 1. Etat de l'art
On distingue plusieurs techniques de virtualisation savoir : l'isolation, la para-
virtualisation et la virtualisation complte. Ces trois techniques sont dtailles dans
ce qui suit.
L'isolation
L'isolation permet de diviser un systme d'exploitation en plusieurs espaces m-
moires ou encore contextes. Chaque contexte est gr par le SE hte. Cette isolation
permet de faire tourner plusieurs fois la mme application prvue pour ne tourner
qu'une seule fois par machine.
Les programmes de chaque contexte ne sont capables de communiquer qu'avec
les processus et les ressources associes leur propre contexte [9]. L'isolation est
uniquement lie aux systmes Linux.
La gure 1.3 prsente l'architecture de la technique d'isolation.
Figure 1.3 Isolation
La paravirtualisation (virtualisation type 1)
La paravirtualisation est une technique de virtualisation qui prsente la machine
invite une interface logicielle similaire mais non identique au matriel rel. Ainsi, elle
permet aux systmes d'exploitation invits d'interagir directement avec le systme
d'exploitation hte et donc ils seront conscients de la virtualisation [9].
La gure 1.4 prsente l'architecture d'une virtualisation type 1.
La virtualisation complte (virtualisation type 2)
La virtualisation complte (en anglais full-virtualization) est une technique de
virtualisation qui permet de crer un environnement virtuel complet. En utilisant
8
-
Chapitre 1. Etat de l'art
Figure 1.4 Paravirtualisation
cette technique, le systme d'exploitation invit n'interagit pas directement avec le
systme d'exploitation hte et donc il croit s'excuter sur une vritable machine
physique.
Cette technique de virtualisation ne permet de virtualiser que des SE de mme
architecture matrielle que l'hte [9].
La gure 1.5 prsente l'architecture d'une virtualisation type 2.
Figure 1.5 Virtualisation complte
Dans certaines architectures matrielles, le support de virtualisation est intgr
avec le processeur. Les exemples les plus connus du march sont : AMD-V et Intel
VT.
Synthse
Nous venons d'tudier trois techniques de virtualisation savoir l'isolation, la
paravirtualisation et la virtualisation complte. Chaque technique possde ses points
forts et ses points faibles. De ce fait, le choix d'un systme de virtualisation adapt
9
-
Chapitre 1. Etat de l'art
ses besoins apparait assez complexe. Pour essayer de guider l'utilisateur choisir
la solution la plus convenable son contexte, nous avons dress le tableau 1.1.
Table 1.1 Techniques de virtualisation
Isolation Paravirtualisation Virtualisation complte
Type des SE
invits
Mme type (Linux)
Type dirent mais avec une
architecture identique (doit
tre adapte la couche de
virtualisation > conscient
d'tre virtualiss)
Type dirent mais avec une
architecture identique (n'est
pas adapte la couche de
virtualisation > croit dialo-
guer directement avec le ma-
triel)
Performance
++ (Faible sur-
cot)
+++ (SE invits fonc-
tionnent en ayant conscience
d'tre virtualiss)
+ (L'unit centrale de cal-
cul, c'est--dire le CPU, la
RAM ainsi que la mmoire
de stockage sont directement
accessibles aux machines vir-
tuelles)
Simplicite +++ + ++
Exemples OpenVZ Xen, HyperV KVM, VirtualBox
En conclusion, nous pouvons dire que :
- L'isolation est considre comme la solution la plus performante. Cependant
son inconvnient rside sur le fait qu'elle est incomplte ainsi, le SE doit tre
le mme et de type Linux.
- La paravirtualisation suppose que le noyau du SE invit soit lgrement mo-
di. De ce fait, si le systme ne dispose pas de fonctions ddies la para-
virtualisation dans son noyau, cette technique devient inutilisable. L'objectif
majeur de cette technique est d'orir un accs quasi identique aux ressources
matrielles entre systme hte et systme invit.
- La virtualisation complte permet d'excuter le SE invit de manire native
sans modication. En revanche, cette solution est considre comme la moins
performante puisque le systme invit ne participe pas au processus de virtuali-
sation et doit traverser la couches de virtualisation pour accder aux ressources
matrielles.
10
-
Chapitre 1. Etat de l'art
1.3.3 Solutions de virtualisation
Dans cette section, nous prsentons les outils de virtualisation les plus utilis qui
sont : OpenVZ, Xen, KVM, VirtualBox, VMware et HyperV.
OpenVZ
OpenVZ est une solution de virtualisation de type isolation base sur le noyau
linux et permettant un serveur physique d'excuter plusieurs instances de systmes
d'exploitation isols. OpenVZ ore moins de exibilit dans le choix du systme
d'exploitation. En eet, le systme d'exploitation invit et hte doivent tre de type
Linux.
Xen
Xen est une solution libre de virtualisation permettant de faire tourner plusieurs
systmes d'exploitation sur une mme machine physique. Il est de type hyperviseur,
c'est dire qu'il vient s'insrer entre le matriel et le noyau. Xen est considr
comme une solution base de paravirtualisation, car les systmes invits doivent
tre modis pour cohabiter [28].
KVM
KVM est un projet de virtualisation complte qui est actuellement en dveloppe-
ment pour un module de paravirtualisation. Il est intgr depuis le noyau Linux2.6.20
et permettant une virtualisation matrielle des processeurs. Ainsi, il ne fonctionne
que sur un processeur de type Intel VT ou AMD-V [12].
VirtualBox
VirtualBox est une solution de virtualisation permettant d'muler le comporte-
ment d'un ordinateur rel auprs du systme invit [24]. Il est considr comme une
solution de virtualisation complte.
11
-
Chapitre 1. Etat de l'art
VMware Server
VMware est une socit qui ore des produits propritaires lis la virtualisation
d'architectures x86. Elle est leader dans le march de la virtualisation pour PC. Son
produit de virtualisation VMware Server est de type virtualisation complte pour
serveur sous GNU/Linux et/ou Microsoft Windows [25].
HyperV
HyperV est une solution de virtualisation base sur la virtualisation 64 bits pour
Microsoft. Il est considr comme une solution de paravirtualisation [14].
Synthse
Le tableau 1.2 montre une tude comparative de ces direntes solutions de
virtualisation.
12
-
Chapitre 1. Etat de l'art
Table1.2Solutionsdevirtualisation
OpenVZ[3][20][36]Xen[23][28][3][36]KVM[12][3][36]VirtualBox[3][3][24][35]VMwareServer[24][32]HyperV[32]
DveloppparSWsoftUniversitdeCambridgeQumranetenIsralInnotek(rachetparSun)VMwareMicrosoft
Systmesd'ex-
ploitationhtes
TouteslesdistributionsLi-
nux
Linux(certainesversions
spciques)
Linux(intgrerdansle
noyau)
TouteslesversionsWin-
dowsetLinux,Macintosh
etOpenSolaris
Laplupartdesversions
Windows,LinuxetMacOS
-WindowsXP,Vista,7
-SUSELinuxEntreprise
Server
-RedHadLinuxEntre-
prise
Systmesd'ex-
ploitationinvi-
tscompatibles
Linux(mmetypequece-
luidusystmehte)
TouteslesversionsWin-
dows,LinuxetSolaris
Toutsystmed'exploita-
tion
-Touteslesversions
WindowsetLinux
-Solaris
-WindowsXP
-OpenSolaris
-OpenBSD
-Windows2000,XP,
Vista,7
-Linux(2.4and2.6)
-Solaris
-FreeSDB
-WindowsXP,vista,7
-SUSELinuxEntreprise
Server
-RedHadEntrepriseLi-
nux
Typedevirtua-
lisation
Isolateur
-Paravirtualisation(SE
modi)
-Virtualisationcomplte
(surdesprocesseurs
supportantlestech-
nologiesInetlVTet
AMD-V)
-Paravirtualisation(SE
modi)
-Virtualisationcomplte
(encoursdedveloppe-
ment)
Virtualisationcomplte
(SEnonmodi)
Virtualisationcomplte
(SEnonmodi)
Paravirtualisation
Plateforme
-x86(processeur32bits)
-AMD64/Intel64(pro-
cesseur64bits)
-x86(processeur32
bits),x64(processeur
64bits)
-PowerAMC(processeur
architecturepower)
-ARM
X86(processeur32bits)
-x86(processeur32bits)
-AMD64/Intel64(pro-
cesseur64bits)
x64(processeur64bits)x64(processeur64bits)
Contrainte
matrielle(vir-
tualisation
enabled)
Avec/sansAvec/sansAvecAvec/sansAvec/sansAvec
Migration
chaudde
machinesvir-
tuelles
33
33
38
Utilisationdans
leCloud
Amazon,Cloud.com,Go-
Grid,Rackspace
Google,SalesforceMicrosoftAzure
Gratuit-PayantGratuit(LicenceGPL)Gratuit(LicenceGPL)Gratuit(LicenceGPL)Gratuit(LicenceGPL)PayantPayant
13
-
Chapitre 1. Etat de l'art
Ces solutions utilisent des techniques de virtualisation varies. Certaines parmis
elles permettent de faire cohabiter plusieurs SE dans un seul serveur physique (Xen,
KVM, VMware, VirtualBox). D'autres solutions permettent un unique systme
d'tre excut plusieurs fois dans un mode multi-instance (OpenVZ). Certaines s'ap-
puient sur les capacits du matriel (KVM) alors que d'autres ncessitent un systme
d'exploitation modi pour cohabiter avec la solution de virtualisation (Xen).
Parmi les solutions tudies :
- Xen s'avre la solution la plus complexe de point de vue technique mais c'est
la solution la plus performante et la plus complte du march. Elle est aussi
la solution la plus utilise dans le Cloud.
- KVM est plus simple utiliser que Xen mais, il est moins performant. Le point
faible de cette solution de virtualisation est le fait qu'il exige un matriel ddi
la virtualisation.
- OpenVZ est une solution performante mais elle prsente des problmes de
compatibilit. En eet, OpenVZ ne fonctionne que sur des machines supportant
un systme d'exploitation Linux.
- VirtualBox est une solution complte qui peut fonctionner sur tout systme
d'exploitation y compris les systmes Macintosh.
- VMware Server est la premire solution utilise dans le domaine de Cloud
Computing .
1.4 Solutions IaaS open source de Cloud Computing
Le Cloud Computing reprsente un nouveau d dans le monde informatique.
Plusieurs solutions sont proposes : des solutions propritaires et des solutions open-
sources. La mise en place d'un environnement du Cloud Computing pour des buts
de recherche ncessite initialement le choix d'une solution open source et puis son
installation. La dcision est souvent trs dicile prendre puisque chaque solution
possde ses propres caractristiques.
Une comparaison des solutions du Cloud Computing reprsente donc un bon
point de dpart. Voici un panorama de six outils open-sources de Cloud Compu-
14
-
Chapitre 1. Etat de l'art
ting orant une infrastructure comme service et permettant une gestion simplie
d'architectures matrielles complexes.
1.4.1 Eucalyptus
Prsentation
Eucalyptus est un outil open source issue d'un projet de recherche de l'univer-
sit de Californie. Cette solution est la plus connue, car elle est intgre dans les
distributions Ubuntu Server et Debian [8].
Eucalyptus est crit en C, Java et Python et permet de crer des Clouds IaaS
de type priv ou hybride. Il supporte les machines virtuelles Linux ainsi que les hy-
perviseurs Xen et KVM. Son avantage majeur est le fait qu'il est compatible avec
Amazon EC2. Il possde galement une version entreprise (payante) de la socit Eu-
calyptus Systems qui apporte des fonctionnalits supplmentaires comme le support
de VMware.
Architecture
Eucalyptus comporte cinq composants principaux (gure 1.6) :
- Cloud Controller : c'est l'unique point d'entre (Front end) pour tous les
utilisateurs et les administrateurs d'Eucalyptus. Il est responsable de la gestion
de tout le systme.
- Cluster Controller : il conserve les informations relatives aux ressources
physiques.
- Node Controler : il interagit avec l'hyperviseur pour grer les machines vir-
tuelles. Lors d'une demande d'allocation de ressources physiques par le Cloud
Controller, c'est le Cluster Controller qui alloue les ressources en sollicitant
les Nodes Controllers.
- Walrus : c'est le composant qui gre l'accs aux services de stockage.
- Storage Controller : ce composant fonctionne avec le composant Walrus
et permet de stocker les images des machines virtuelles et les donnes des
utilisateurs.
15
-
Chapitre 1. Etat de l'art
Figure 1.6 Architecture d'Eucalyptus
1.4.2 OpenNebula
Prsentation
Il s'agit d'une plateforme purement open-source permettant de dployer des
Clouds privs, hybrides et publiques [18]. Elle est crite en C++, Ruby et Shell
et elle supporte les hyperviseurs Xen, KVM et VMware. Le support de Virtualbox
est prvu partir de la vrsion 4.0 de VirtualBox. Sa puissance consiste dans ses
connecteurs vers des fournisseurs d'IaaS sur les Clouds publiques tels que : Amazon
EC2 Web Service, Nimbus WSRF, ElasticHosts REST, etc.
OpenNebula est soutenu par le projet europen RESERVOIR
3
, qui propose une
architecture complte pour la gestion de Datacenter et la cration de services Cloud.
Architecture
L'architecture interne d'OpenNebula peut tre divise en trois couches (gure 1.7) :
- Tools : c'est l'ensemble des outils de gestion pour OpenNebula ;
- Core : il se compose d'un ensemble de composants pour contrler les machines
virtuelles, le stockage et le rseau virtuel ;
- Drivers : l'interaction entre OpenNebula et l'infrastructure de Cloud est ef-
3. http ://www.reservoir-fp7.eu/
16
-
Chapitre 1. Etat de l'art
fectue par des pilotes spciques qui sont les drivers.
Les machine Front end et Node sont relis entre eux travers un rseau priv.
Figure 1.7 Architecture d'OpenNebula
1.4.3 Nimbus
Prsentation
Issu du monde de la recherche, Nimbus permet de dployer un Cloud de type
IaaS [17]. Cette plateforme supporte les hyperviseurs Xen et KVM, et peut s'inter-
facer avec le Cloud Amazon EC2. Elle est associe au projet Cumulus
4
, qui permet
de dployer des services de stockage en Cloud, compatible avec le Cloud Amazon S3.
Architecture
Nimbus comprend plusieurs composants qui peuvent tre regroups selon trois
contextes comme le montre la gure 1.8. Ces composants sont relis entre eux
travers un rseau priv.
4. http ://www.roehampton.ac.uk/cumulus/
17
-
Chapitre 1. Etat de l'art
- Client-supported modules : il est utilis pour grer les clients du Cloud. Il
comprend le context client module, le Cloud client module, le reference client
module et l'EC2 client module.
- Service-supported modules : il fournit tous les services du Cloud. Il com-
prend le context brocker module, le Web service resource Framework module.
- Backgroud resource management modules : son rle est de grer les res-
sources physiques du Cloud. Il comprend dierents modules savoir : works-
pace service manager module, IaaS gateway module, EC2 module, workspace
pilot module, workspace resource management module et workspace controller.
Figure 1.8 Architecture de Nimbus
18
-
Chapitre 1. Etat de l'art
1.4.4 Xen Cloud Platform
Prsentation
Xen Cloud Platform (XCP) est une plateforme open-source du Cloud Computing
dveloppe par la communaut Xen et distribue sous licence GPL
5
. Elle a pour but
de proposer une plateforme open-source gratuite pour construire et faire dialoguer
des services du Cloud Computing [29].
Architecture
Les composants principaux de Xen Cloud Platform sont :
- XCP Host : il consiste en un systme d'exploitation Xen.
- Master XCP Host : il gre les XCP hosts.
- Shared storage : c'est un composant optionnel o sont stockes les machines
virtuelles. Ce composant permet aux administrateurs de dplacer des machines
virtuelles d'un XCP host un autre.
La gure 1.9 montre l'architecture de Xen Cloud Platform.
Figure 1.9 Architecture de Xen Cloud Platform
5. Une licence qui xe les conditions lgales de distribution des logiciels libres du projet GNU
19
-
Chapitre 1. Etat de l'art
1.4.5 AbiCloud
Prsentation
AbiCloud, principalement dvelopp par Abiquo, est la plateforme du Cloud Com-
puting permettant de crer et de grer des Cloud publiques, privs et hybrides [1].
Architecture
AbiCloud se compose principalement de trois lments (gure 1.10) :
- AbiCloud server : il consiste en un systme d'exploitation Xen.
- AbiCloud WS (AWS) : il est responsable de la gestion des machines vir-
tuelles.
- Virtual System Monitor (VSM) WS : c'est le composant qui permet de
suivre toute l'infrastructure virtuelle du Cloud.
Figure 1.10 Architecture d'AbiCloud
20
-
Chapitre 1. Etat de l'art
1.4.6 OpenStack
Prsentation
Cr en juillet 2010 par la NASA et l'hbergeur amricain Rackspace, OpenStack
est une ore d'IaaS 100% open-source encore en dveloppement qui a livr son code
source rcemment et qui permet aux socits de dvelopper leurs propres solutions
d'infrastructure du Cloud Computing [19].
Plus que trente fournisseurs soutiennent ce projet tels que : AMD, Intel, Dell
et Citrix. OpenStack devrait galement tre intgr dans les prochaines versions
d'Ubuntu comme c'est le cas pour Eucalyptus. Il comprend le logiciel OpenStack
Compute pour la cration automatique et la gestion de grands groupes de serveurs
privs virtuels et le logiciel OpenStack Stockage pour optimiser la gestion de sto-
ckage, rpliquer le contenu sur dirents serveurs et le mettre disposition pour une
utilisation massive de donnes.
Architecture
- OpenStack Compute : c'est le contrleur du Cloud. Il est utilis pour d-
marrer des instances virtuelles et congurer le rseau pour chaque instance.
- OpenStack Object Storage : c'est un systme pour stocker des objets de
capacit massivement volutive.
- OpenStack Imaging Service : il permet de rcuprer les machines virtuelles.
La gure 1.11 montre les relations fondamentales entre ses dirents composants.
An de caractriser chaque solution et permettre le choix adquat pour la construc-
tion d'un Cloud, nous avons ralis une tude comparative de ses six solutions en se
basant sur dirents critres de classication :
- Produit par : la socit qui a produit la solution.
- But : l'objectif viser par la cration de la solution.
- Le domaine d'utilisation : le Cloud Computing est prsent dans plusieurs
domaines d'utilisation. Ainsi, il serait important de prsenter le contexte de
chaque solution an d'aider les fournisseurs bien choisir celle qui rpond le
plus leurs besoins.
21
-
Chapitre 1. Etat de l'art
Figure 1.11 Architecture d'OpenStack
- L'architecture : c'est la structure du systme qui comprend les ressources
matrielles et logicielles et l'interaction entre eux.
- Systmes d'exploitation supports : pour construire un Cloud Com-
puting, on doit disposer d'un systme d'exploitation qui gre les ressources
physiques en permettant leur allocation et leur partage.
- Langage de programmation : il reprsente le langage de programmation
avec lequel la solution est implmente.
- Stockage : pour grer des grands volumes de donnes, la solution la plus
conomique, qui connat galement l'heure actuelle un vif succs, est le Cloud
Computing.
- Rseau : dans le Cloud Computing, nous entendons par rseau, le rseau des
machines virtuelles.
- L'interface utilisateur : l'interface utilisateur reprsente l'interface de
communication entre l'utilisateur et le Cloud.
- Scurit : le Cloud Computing apparait comme une opportunit formidable
pour les entreprises mais, pose logiquement la question de scurit. Il est donc
essentiel de protger les ressources et de contrler l'accs des utilisateurs et des
administrateurs au systme du Cloud Computing.
22
-
Chapitre 1. Etat de l'art
- Equilibrage de charge : un des aspects les plus importants est la capacit
de rpondre aux requtes dans un temps acceptable, mme en cas d'auence
massive. L'quilibrage de charge consiste alors distribuer une tche un
ensemble de serveurs ou de priphriques an de rpartir la charge globale
vers dirents quipements et de s'assurer de leur disponibilit.
- Tolrance aux pannes : c'est la capacit d'un systme fonctionner malgr
une dfaillance d'un de ses composants.
- Migration des machines virtuelles : c'est le fait de dplacer des ma-
chines virtuelles d'un serveur physique un autre. On distingue deux types
de migration, savoir la migration chaud qui se fait lors de l'excution des
machines virtuelles et la migration froid qui ne peut tre ralise qu'aprs
l'arrt de la machine virtuelle dplacer.
- Emplacement des machines virtuelles : savoir l'emplacement des ma-
chines virtuelles permet de garantir une utilisation optimale des ressources.
- Compatibilit avec Amazon EC2 : Amazon EC2 est la solution d'infra-
structure du Cloud Computing la plus connue et la plus utilise. Ainsi, il serait
intressant d'tudier la compatibilit des solutions d'IaaS du Cloud Computing
par rapport Amazon EC2.
- Utilisation dans le march : l'ensemble des solutions du Cloud Computing
du march qui utilisent chacunes des solutions IaaS du Cloud dj tudi. Cette
information permet de bien mettre en valeur ces solutions IaaS.
1.4.7 Synthse
Le tableau 1.3 montre une tude comparative entre les direntes solutions IaaS
open-sources de Cloud Computing.
23
-
Chapitre 1. Etat de l'art
Table1.3SolutionsIaaSopensourcedeCloudComputing
Eucalyptus
[41][40][42][43][37][34]
OpenNebula
[41][40][42][43][37]
Nimbus
[41][40][42][43][37][34]
XenCloudPlatform
[28][29][31][40][42]
AbiCloud
[1][41][31][43][37][34]
OpenStack[19]
Produitpar
-Apparuaudbutpar
l'universitSantaBarbara
del'universitdeCalifor-
nie
-EucalyptusSystemCom-
pany
L'unionEuropenne
Chercheursdel'univer-
sitdeChicago
CitrixXenServerAbico
Rackspace,NASA,Dell,Ci-
trix,Cisco,Canonicaletplus
que50autresorganisations
But
Unerponseopensource
pourleCloudcommerciale
EC2
UnCloudprivpure
Solutionscientique
duCloudComputing
-EvolutiondeCitrixXenServer
-Congurationautomatiqueet
maintenancedesCloudCompu-
ting
LagestiondesCloudspubliques
etprivsdansdesenvironne-
mentshtrognes
Creretorirdesfonction-
nalitsdeCloudComputing
enutilisantunlogicielopen-
sourcefonctionnantsurdu
matrielstandard
Architecture
-Hirarchique
-Cinqcomposants
-Supportemultiplecluster
-Minimumdeuxserveurs
-Centralis
-Troiscomposants
-Minimumdeuxserveurs
-Centralis
-Troiscomposants
-Minimumdeuxser-
veurs
-Centralis
-Troiscomposants
-Minimumdeuxserveurs
-Centralis
-Troiscomposants
-Minimumdeuxserveurs
Intgrationdesdeuxcompo-
santsOpenStackobjectet
OpenStackcompute
Domained'uti-
lisation
Lesentreprises
Leschercheursdansledo-
mainedeCloudComputing
etdelavirtualisation
Lescommunauts
scientiques(moins
intresssparlestech-
niquesinternesdu
systme)
Lesentreprisesquiveulent
construireleurspropreCloudet
delerendreinteroprableavec
ceuxdesprincipauxfournisseurs
deservicesCloud
Lesentreprisesquiveulentcrer
leurpropreCloudComputing
Lessocits,lesfournisseurs
deservices,leschercheurset
lescentresdedonnesmon-
diauxquicherchentd-
ployergrandechelleleurs
Cloudprivsoupubliques
Systmesd'ex-
ploitationsup-
ports
Linux(Ubuntu,Fedora,
CentOS,OpenSUSEetDe-
bian)
Linux(Ubuntu,RedHatEn-
terpriseLinux,Fedoraet
SUSELinuxEnterpriseSer-
ver)
Laplupartdesdistri-
butionsLinux
-Linux(Fedora,RedHat,CentOS
etSuseLinuxEnterpriseServer)
-Windows7
-Linux(UbuntuetCentOS
-MacOS
-WindowsXP
-LinuxetrcemmentWin-
dows
-Exigex86processor
Langagede
programmation
Java,C,etPythonJava,Ruby,C++Python,JavaCamlJava,Ruby,C++,PythonPython
StockageWalrus
-GridFTP,Comulus(version
rcentedeGridFTP
-XCP
-SCP
-SQLite3
VastSkyHDFSOpenStackStorage
Rseau
ServeurDHCPinstallsur
leclustercontroller
Congurationmanuellepar
l'administrateur
ServeurDHCPinstall
surchaquenud
OpenvSwitchWSManagementOpenStackCompute
Interfaceutili-
sateur
3EC2WSAPI
3Outilstelque:Hybrid-
Fox,ElasticFox
3EC2WSAPI
3OCCIAPI
3EC2WSAPI
3NimbusWSRF
8Lignedecommande"XE"
3XenCenteretVersiera(applica-
tioncommercialepourWindows)
3InterfaceWebimplmente
avecAdobeFlex
3InterfaceWeb
Scuritniveau
utilisateur
-Fichierziptlchargeable
traversl'interfaceWeb
quicontientcerticats
-ConnexionHTTPS
-Authentication-CerticatX509
-Authentication
-ConnexionSSH
-Authentication(motsde
passestocksenformatMD5)-CerticatX509
Scuritniveau
administrateur
-ConnexionSSH
-Rootexig
-Rootseulementsincessaire
(selonlesdroitsd'accs
-ConnexionSSL
-IntgreGlobus(certi-
cation)
-ConnexionSSH-Authentication-ConnectionSSH
Equilibragede
charge
LeCloudControllerNginxLecontextbrokerXAPIAbiServerLeCloudController
Tolranceaux
pannes
Sparationdesclusters
controllers
Databasebackend(enregistre
lesinformationsdesmachines
virtuelles)
Vricationpriodique
desnudsduCloud
Synchronisationtransactionnelle
chauddestatsdesmachines
virtuellesentreserveursphysiques
8Replication
Migration
froiddesVMs
33
33
33
Migration
chauddesVMs
83SharedFS
83-OpenVirtualizationFormat
-SharedStorage
88
Emplacement
desVMs
NodecontrollerClusternodePhysicalnodesXCPHostCloudsnodesOpenStackCompute
Compatibilit
avecEC2
33
33
88
Utilisationdans
lemarch
NASA
LeprojetRESERVOIR,
NUBA
STARPrincipalementactifenEspagne
24
-
Chapitre 1. Etat de l'art
- Le domaine d'utilisation : OpenNebula semble tre la solution la plus
convenable pour les chercheur dans le domaine du Cloud vu qu'elle est conue
d'tre une solution scientique du Cloud computing. Eucalyptus, XCP et Abi-
Cloud intressent plutt les fournisseurs des entreprises qui souhaitent construire
leur propre Cloud.
OpenStack est principalement mis en place pour intgrer ces deux services :
OpenStack Compute et OpenStack Storage an de permettre direntes orga-
nisations (chercheurs, fournisseurs, socits, etc.) de dployer grande chelle
leurs Clouds privs ou publiques.
Nimbus est utilis souvent par les communauts scientiques qui pourraient
tre moins intresss par les techniques internes du systme.
- L'architecture : dans le Cloud, il n'y a pas un type d'architecture mais
plusieurs. Gnralement, chaque fournisseur propose la sienne (centralis ou
hirarchique).
- Le systme de stockage : stocker des donnes dans le Cloud est gr par
des outils spciques :
Walrus : le service de stockage inclus dans Eucalyptus qui permet de stocker
les donnes persistantes ;
SCP (Secure Copy) : une ligne de commande utilise pour transfrer des chiers
travers le rseau en s'appuyant sur le protocole SSH ;
SQLite : une bibliothque crite en C qui propose un moteur de bases de
donnes relationnelles accessibles par le langage SQL ;
GridFTP : un protocole de transfert de donnes performant et scuris ;
VastSky : un systme de stockage pour XCP ;
HDFS (Hadoop Distributed File System) : un systme de chiers qui propose
un accs haut dbit pour les donnes et est adapt pour les applications qui
ont des donnes massives ;
OpenStack Storage : le service de stockage d'OpenStack qui permet d'optimiser
la gestion de stockage, rpliquer le contenu sur dirents serveurs et le mettre
disposition auprs d'un grand nombre d'utilisateur.
- Le rseau :
25
-
Chapitre 1. Etat de l'art
Avec OpenNebula, il faut congurer manuellement le rseau de machines
virtuelles. Cette tche de conguration est totalement automatise avec Eu-
calyptus et Nimbus et est gre par le serveur DHCP .
Xen Cloud Platform s'appuie sur le logiciel Open vSwich propos par [28] et
qui permettra la cration des commutateurs virtuels.
WS-Management est le protocole de communication permettant l'adminis-
tration des serveurs utiliss avec AbiCloud .
OpenStack Compute est le service de gestion de grands groupes de serveurs
privs virtuels d'OpenStack .
- L'interface utilisateur : la plupart des solutions orent une interface
Web pour assurer une interaction facile avec le Cloud. Xen Cloud Platform
ore plutt la ligne de commande "XE". Toutefois, il existe des solutions
commerciales telles que Versiera et XenCenter (seulement pour Windows) qui
sont proposes pour grer XCP l'aide d'une interface graphique.
- L'quilibrage de charge : chaque solution possde sa faon mettre en
uvre cet aspect :
Eucalyptus : le Cloud Controller, le contrleur principal du Cloud, est res-
ponsable de la gestion de tout le systme ;
Nimbus : le Context Broker, un composant de Nimbus, qui permet aux clients
de coordonner de grands lancements de machines virtuelles automatique-
ment et de faon rpte. AbiServer est le responsable de la gestion de tout
le systme ;
OpenNebula : Nginx, un est un logiciel de serveur Web, permet de grer
plusieurs connexions en mme temps ;
Xen Cloud Platform : XAPI est une interface qui assure la conguration et
le contrle des instances virtualises ;
OpenStack : le Cloud Controller du composant OpenStack Compute est le
responsable de la gestion des tous les composants du systme.
- La tolrance aux pannes : plusieurs mthodes sont mises en uvre pour
assurer cette proprit :
La sparation des clusters controllers pour Eucalyptus rduit la chance de
26
-
Chapitre 1. Etat de l'art
dfaillance. En eet, ce composant gre plusieurs Nodes Controllers et il est
responsable de la gestion du cycle de vie (cration, utilisation, suppression,
etc.) des instances virtuelles ;
OpenNebula utilise une base de donnes persistante o les informations sur
les machines virtuelles sont stockes. Cette solution garantit une grande
protection des donnes mais, elle ncessite un personnel spcialis (adminis-
trateur de donnes, administrateur du SGBD) et un cot d'acquisition assez
lev ;
Nimbus assure un contrle rgulier des nuds (Checkpointing). Ainsi, une
image des VMs en cours d'excution sera stocke priodiquement an qu'elle
puisse tre reprise en cas d'une dfaillance ;
Xen Cloud Platform prend en charge la synchronisation transactionnelle
chaud des tats des machines virtuelles entre les serveurs physiques ce qui
permet de garantir un grand degr de abilit ;
La tolrance aux pannes par rplication est le principe utilis avec OpenS-
tack. Cette approche permet de masquer les pannes ventuelles : lorsqu'une
machine tombe en panne, une des copies de cette machine prend sa place
dans le systme. Cependant, cette approche ncessite la disponibilit d'un
nombre important de ressources.
1.5 Les acteurs du march du Cloud Computing
Dans cette section, nous citons les solutions les plus connues dans le monde du
Cloud Computing.
1.5.1 Amazon Web Services
Amazon a t la premire socit proposer une plateforme du Cloud Computing
avec Amazon Web Services [2]. Il s'agit d'un outil simple et facile manipuler qui
permet le dveloppement des applications dans un environnement du Cloud Com-
puting. Il est noter que la technologie utilise est issue l'origine des systmes de
virtualisation de Xen. Les services d'Amazon Web Services sont :
27
-
Chapitre 1. Etat de l'art
- Amazon Elastic Compute Cloud (EC2) : il fournit un stockage bas sur les
services Web ;
- Amazon Simple Storage Service (S3) : Amazon S3 ore une simple interface
de services web utiliser pour stocker et rcuprer n'importe quelle quantit
de donnes, tout moment, de n'importe quel endroit sur le web ;
- Amazon CloudFront : il permet de distribuer des objets stocks sur S3 vers un
emplacement proche de l'appelant ;
- Amazon SimpleDB : il permet aux dveloppeurs d'excuter des requtes sur
des donnes structures ;
- AWS Management Console (AWS Console) : c'est une interface Web pour g-
rer et surveiller les infrastructures Amazon, incluant Amazon EC2 et Amazon
S3.
Selon [7], Amazon exploite quatorze Datacenter : huit aux tats-Unis, quatre en
Europe, et deux en Asie.
1.5.2 Microsoft Azure
Windows Azure, la seconde ore commerciale propose par Microsoft aprs SQL
Azure, peut tre vue comme la base d'une solution PaaS [13]. Avec Windows Azure,
Microsoft assure une couche qui aura comme rle de structurer l'ensemble des tech-
nologies associes, que ce soit SQL, .NET, etc. Mais encore et toujours, Windows
Azure reste "clairement destin aux entreprises" selon [6].
1.5.3 Google App Engine
Google App Engine est une plateforme de dveloppement et d'hbergement d'ap-
plications Web. Il permet d'excuter des applications Web sur l'infrastructure de
Google [10]. Il est lanc en 2008 et est disponible seulement en Cloud publique sous
la forme d'une ore gratuite. Sa grande force rside dans le fait qu'il soit purement
gratuit [6].
28
-
Chapitre 1. Etat de l'art
1.5.4 Google Apps
Une suite bureautique (Gmail, Google Agenda, Google Documents, etc.) de la
socit Google qui est accessible par les particuliers, les entreprises, les tablisse-
ments d'enseignement et les organisations [11]. Il existe direntes versions de Google
Apps :
- Google Apps for Groups : pour tout le monde mais limit 50 utilisateurs ;
- Google Apps for Education : pour le primaire, le secondaire et l'universit ;
- Google Apps for Governement : pour les oces gouvernementaux ;
- Google Apps for Business : il s'agissait anciennement de Google Apps Premier
Edition ;
1.5.5 Force.com
C'est une plateforme du Cloud Computing dstine pour les applications d'en-
treprise [22]. Force.com est un acteur PaaS qui fournit une plateforme pour crer et
dployer des applications la demande telle que la planication des ressources d'en-
treprise (ERP), gestion des ressources humaines (GRH) et la gestion de la chane
d'approvisionnement (SCM). Force.com interopre avec la plateforme de Google App
Engine.
1.5.6 OVH
OVH est une socit franaise indpendante, orient grand public. Elle est le
numro un de l'hbergement en France et se positionne comme le deuxime hber-
geur europen (d'aprs [16]). Elle propose des serveurs privs ddis, des ressources
de stockage, des ressources de bande passante, des ressources, de CPU, de RAM,
de SQL, du HTTP, des Emails etc. En 2010, OVH dmarre une ore du Cloud
Computing assez agressive se qui fait son succs [21].
1.5.7 Synthse
Le tableau 1.4 est un comparatif de ses acteurs du Cloud Computing.
29
-
Chapitre 1. Etat de l'art
Table1.4ActeursduCloudComputing
OVHCloudComputing[21]
IaaS
AmazonWebServices[2][42]
EC2(Iaas)
S3
(PaaS)
Force.com[33][42]
PaaS
Google
AppEn-
gine[10][42]
PaaS
MicrosoftAzure[13][42]
Microsoft
Azure(Paas)
SQLAzure
(SaaS)
Google
Apps[11][42]
SaaS
Service
UneinfrastructureCloudpri-
veexternalise
Petite
Ins-
tance
(par
dfaut)
Grande
ins-
tance
Trs
grande
ins-
tance
RAMRAMRAM
1,7GO7,5GO15GO
StockageStockageStockage
160GO850GO1690GO
Plateforme
Plateforme
Platefor-
me
32GO64GO64GO
Stockage
illi-
mitde
donnes
ApplicationspourlesRH,applica-
tionsdestock,applicationsiPhone,
iPad,AndroidetBlackBerry.
Gnrerdes
applications
Webconues
pouruntra-
clevsans
avoirgrer
l'infrastructure
correspondante
-Permetde
raliserpuis
exploiterdes
applications
Web
-Comprend
desser-
vicesCloud
d'hberge-
ment(Azure
Compute)
etdesto-
ckage(Azure
Storage)
Permetde
rpliqueret
d'enrichir
lesbases
dedonnes
d'entreprise
defaon
simple
-Gmail
-GoogleDocu-
ments
-Google
Groupes
-Google
Agenda
-GoogleSites
-GoogleVidos
-GoogleTalk
Cot
256MO0.014$parheure
512MO0.028$parheure
768MO0.042$parheure
1224MO0.057$parheure
1280MO0.071$parheure
1536MO0.085$parheure
1792MO0.099$parheure
2048MO0.11$parheure
WindowsWindowsWindows
0,12$
par
heure
0,48$
par
heure
0,96$
par
heure
Linux
LinuxLinux
0,085$
par
heure
0,34$
par
heure
0,68$
par
heure
0,15$
par
mois
Edition
gratuite
Edition
d'entre-
prise
Edition
illimi-
te
Gratuit
75,0438$
parmois
111,176$
par
mois
Gratuitsipas
dedpassement
depourcen-
tageprdni
(stockage