You are on page 1of 77

Rpublique Tunisienne Ministre de lEnseignement Suprieur, Et de la Recherche Scientifique

Ecole Doctorale Sciences et Technologies Mmoire de MASTERE


NTSID

Universit de Sfax cole Nationale dIngnieurs de Sfax

N dordre: 2011 63

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. M. M. M. Mlle. Maher BEN JEMAA Maher KHEMAKHEM Mohamed JMAIEL Riadh BEN HALIMA Afef MDHAFFAR Prsident Rapporteur Encadreur Invit 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 !

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 acceptant 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 encouragements tout au long du mastre. Je tiens remercier M. Maher Ben Jemaa, matre de confrences l'Ecole Nationale 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 Etat de l'art
1.1 1.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Le Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 1.2.2 1.3 1.3.1 1.3.2 1.3.3 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.5 1.5.1 1.5.2 1.5.3 1.5.4 Les types de Cloud Computing . . . . . . . . . . . . . . . . . Les services de Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Techniques de virtualisation . . . . . . . . . . . . . . . . . . .

1 3
3 4 4 5 7 7 7

La virtualisation

Solutions de virtualisation . . . . . . . . . . . . . . . . . . . . 11 . . . . . . . . . . . 14 Eucalyptus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 OpenNebula . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Nimbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Xen Cloud Platform . . . . . . . . . . . . . . . . . . . . . . . 19 AbiCloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 OpenStack . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Amazon Web Services . . . . . . . . . . . . . . . . . . . . . . 27 Microsoft Azure . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Google App Engine . . . . . . . . . . . . . . . . . . . . . . . . 28 Google Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 iii

Solutions IaaS open source de Cloud Computing

Les acteurs du march du Cloud Computing . . . . . . . . . . . . . . 27

TABLE DES MATIRES


1.5.5 1.5.6 1.5.7 1.6 1.7

TABLE DES MATIRES

Force.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 OVH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Cloud Computing et techniques de virtualisation . . . . . . . . . . . . 31 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2 Le Cloud Computing et les services Web


2.1 2.2 2.3

34

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Les couches du Cloud Computing . . . . . . . . . . . . . . . . . . . . 34 Les services Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.3.1 2.3.2 2.3.3 Dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Cycle de vie d'un service Web . . . . . . . . . . . . . . . . . . 36 Les concepts associs . . . . . . . . . . . . . . . . . . . . . . . 36

2.4 2.5

Performance des services Web . . . . . . . . . . . . . . . . . . . . . . 37 Techniques de mesure de la QdS . . . . . . . . . . . . . . . . . . . . . 39 2.5.1 2.5.2 2.5.3 Le Timer insr dans le code . . . . . . . . . . . . . . . . . . . 39 Utilisation de l'approche oriente aspect . . . . . . . . . . . . 39 Autres techniques . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.6 2.7

Architecture de mesure de la qualit de service . . . . . . . . . . . . . 40 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3 Exprimentations et validation d'AOP4CSM sur le Cloud


3.1 3.2

43

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Mise en place d'AOP4CSM . . . . . . . . . . . . . . . . . . . . . . . . 43 3.2.1 3.2.2 3.2.3 Couche infrastructure . . . . . . . . . . . . . . . . . . . . . . . 43 Couche plateforme . . . . . . . . . . . . . . . . . . . . . . . . 45 Couche software . . . . . . . . . . . . . . . . . . . . . . . . . . 46 . . . . . . . . . . . . . . . . . . . . . 46 . . . . . . . . . . . . . . . . . . 47 MiniCloud d'OVH . . . . . . . . . . . . . . . . . . . . . . . . 46 Conguration et dploiement

3.3

Environnement de dploiement 3.3.1 3.3.2

3.4

Exprimentations d'AOP4CSM . . . . . . . . . . . . . . . . . . . . . 48 3.4.1 Rsultats exprimentaux . . . . . . . . . . . . . . . . . . . . . 48 iv

Table des matires

3.4.2 3.4.3 3.5

Surcot d'AOP4CSM . . . . . . . . . . . . . . . . . . . . . . . 53 Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Conclusion gnrale et perspectives Bibliographie annexe


.1 .1.1 .1.2 .1.3 .1.4

55 57 61

Etapes d'installation d'Eucalyptus . . . . . . . . . . . . . . . . . . . . 62 Etape 1 : Prparation du front end . . . . . . . . . . . . . . . 62 Etape 2 : Prparation du nud . . . . . . . . . . . . . . . . . 63 Etape 3 : Enregistrement et intgration des composants d'Eucalyptus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Etape 4 : Utilisation d'Eucalyptus . . . . . . . . . . . . . . . . 67

Table des gures


1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Les dirents niveaux des services du Cloud Computing . . . . . . . . Isolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paravirtualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Virtualisation complte . . . . . . . . . . . . . . . . . . . . . . . . . . 3 6 8 9 9

Architecture d'Eucalyptus . . . . . . . . . . . . . . . . . . . . . . . . 16 Architecture d'OpenNebula . . . . . . . . . . . . . . . . . . . . . . . 17 Architecture de Nimbus . . . . . . . . . . . . . . . . . . . . . . . . . 18 Architecture de Xen Cloud Platform . . . . . . . . . . . . . . . . . . 19

1.10 Architecture d'AbiCloud . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.11 Architecture d'OpenStack . . . . . . . . . . . . . . . . . . . . . . . . 22 2.1 2.2 2.3 2.4 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Architecture gnrale du Cloud Computing . . . . . . . . . . . . . . . 35 Cycle de vie d'un service Web . . . . . . . . . . . . . . . . . . . . . . 37 Architecture de mesure de la QdS . . . . . . . . . . . . . . . . . . . . 38 Architecture de dploiement d'AOP4CSM . . . . . . . . . . . . . . . 41 Composants d'Eucalyptus . . . . . . . . . . . . . . . . . . . . . . . . 45 Architecture de dploiement sur le Cloud . . . . . . . . . . . . . . . . 47 Evolution du temps de rponse . . . . . . . . . . . . . . . . . . . . . 50 Evolution du temps d'excution . . . . . . . . . . . . . . . . . . . . . 51 Evolution du temps de communication . . . . . . . . . . . . . . . . . 51 Reprsentation des requtes servies en fonction du nombre de clients . 52 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 1.2 1.3 1.4 1.5 3.1 3.2 3.3 3.4 Techniques de virtualisation . . . . . . . . . . . . . . . . . . . . . . . 10 Solutions de virtualisation . . . . . . . . . . . . . . . . . . . . . . . . 13 Solutions IaaS open source de Cloud Computing . . . . . . . . . . . . 24 Acteurs du Cloud Computing . . . . . . . . . . . . . . . . . . . . . . 30 Cloud Computing et techniques de virtualisation utilises . . . . . . . 32 Conguration matrielle ncessaire pour la mise en place d'un Cloud avec Eucalyptus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Conguration matrielle et logicielle . . . . . . . . . . . . . . . . . . . 47 Les mesures de la QdS . . . . . . . . . . . . . . . . . . . . . . . . . . 49 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 environnement. 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 primordiale 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 environnements 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.

Chapitre

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 utilisateurs ne sont plus propritaires de leurs serveurs informatiques mais peuvent accder de manire volutive de nombreux services en ligne sans avoir grer l'infrastructure 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 virtualisation 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.

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 permet de louer des machines virtuelles de tailles prdnies pour excuter des applications.

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

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'utilisation 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'exploitation. La plateforme est excute via des machines virtuelles et les ressources peuvent tres alloues et dlibres la demande. Ainsi, l'IaaS est considr le service 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

1.3

Une administration centralise des ressources.

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 rpondre 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 installes 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 compltement isols dans un mme hte [9]. 7

Chapitre 1. Etat de l'art

On distingue plusieurs techniques de virtualisation savoir : l'isolation, la paravirtualisation 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 mmoires 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

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

Isolation

1.1  Techniques de virtualisation


Paravirtualisation Type dirent mais avec une architecture identique (doit tre adapte la couche de virtualisation > conscient d'tre virtualiss)

Type des SE invits

Mme type (Linux)

Performance

++ (Faible cot)

sur-

+++ (SE invits fonctionnent en ayant conscience d'tre virtualiss) + Xen, HyperV

Simplicite Exemples

+++ OpenVZ

Virtualisation complte Type dirent mais avec une architecture identique (n'est pas adapte la couche de virtualisation > croit dialoguer directement avec le matriel) + (L'unit centrale de calcul, c'est--dire le CPU, la RAM ainsi que la mmoire de stockage sont directement accessibles aux machines virtuelles) ++ 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 modi. De ce fait, si le systme ne dispose pas de fonctions ddies la paravirtualisation 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 virtualisation 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 dveloppement pour un module de paravirtualisation. Il est intgr depuis le noyau Linux 2.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 comportement 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

OpenVZ

[3] [20] [36]


KVM VirtualBox VMware Server HyperV

Xen

Table

1.2  Solutions de virtualisation


[24] [32] [3] [3] [24] [35] Innotek (rachet par Sun) VMware

Dvelopp par

SWsoft

[23] [28] [3] [36] Universit de Cambridge

[12] [3] [36] Qumranet en Isral

Systmes

d'ex-

Chapitre 1. Etat de l'art

ploitation htes

Toutes les distributions Linux


-

Linux (certaines versions spciques)

Linux (intgrer dans le noyau)

Toutes les versions Windows et Linux, Macintosh et OpenSolaris La plupart des versions Windows, Linux et MacOS

[32] Microsoft - Windows XP, Vista, 7 - SUSE Linux Entreprise Server - RedHad Linux Entreprise

Systmes

d'ex-

ploitation

invi-

ts compatibles

Linux (mme type que celui du systme hte)

Toutes les versions Windows, Linux et Solaris

Tout systme d'exploitation

Toutes les versions Windows et Linux Solaris Windows XP OpenSolaris OpenBSD

Windows 2000, XP, Vista, 7 Linux (2.4 and 2.6) Solaris FreeSDB

Windows XP,vista, 7 SUSE Linux Entreprise Server RedHad Entreprise Linux

Type de virtua-

13
-

lisation

Isolateur

Paravirtualisation (SE modi) Virtualisation complte (sur des processeurs supportant les technologies InetlVT et AMD-V) Paravirtualisation (SE modi) Virtualisation complte (en cours de dveloppement) Virtualisation complte (SE non modi)

Virtualisation complte (SE non modi)

Paravirtualisation

Plateforme

x86 (processeur 32 bits) AMD64/Intel64 (processeur 64 bits) X86 (processeur 32 bits)


-

x86 (processeur 32 bits) AMD64/Intel64 (processeur 64 bits)

x64 (processeur 64 bits)

x64 (processeur 64 bits)

x86 (processeur 32 bits), x64 (processeur 64 bits) PowerAMC (processeur architecture power) ARM Avec Avec/sans

Contrainte

matrielle (vir-

tualisation

Avec/sans

Avec/sans

Avec/sans

Avec

enabled)

Migration

chaud

de

machines

vir-

tuelles

Utilisation dans

le Cloud

Gratuit-Payant

Gratuit (Licence GPL)

Amazon, Cloud.com, GoGrid, Rackspace Gratuit (Licence GPL)

Gratuit (Licence GPL)

Gratuit (Licence GPL)

Google, Salesforce Payant

Microsoft Azure Payant

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'appuient 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 opensources. 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 Compu14

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'universit 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 hyperviseurs 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
de tout le systme.

: c'est l'unique point d'entre (Front end ) pour tous les

utilisateurs et les administrateurs d'Eucalyptus. Il est responsable de la gestion

- Cluster Controller
physiques.

: il conserve les informations relatives aux ressources

- Node Controler : il interagit avec l'hyperviseur pour grer les machines virtuelles. 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'interfacer 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 comprend le context brocker module, le Web service resource Framework module.

- Backgroud resource management modules : son rle est de grer les ressources 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 Computing 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
tuelles.

vir-

- 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 stockage, 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 dmarrer 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 construction d'un Cloud, nous avons ralis une tude comparative de ses six solutions en se basant sur dirents critres de classication :

Produit par But

: la socit qui a produit la solution. : le Cloud Computing est prsent dans plusieurs

: l'objectif viser par la cration de la solution.

Le domaine d'utilisation

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 : pour construire un Cloud Com-

matrielles et logicielles et l'interaction entre eux.


Systmes d'exploitation supports

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 : l'interface utilisateur reprsente l'interface de

machines virtuelles.
L'interface utilisateur

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 : c'est le fait de dplacer des ma-

une dfaillance d'un de ses composants.


Migration des machines virtuelles

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

Eucalyptus
[41] [40] [42] [43] [37] [34] [28] [29] [31] [40] [42] [1] [41] [31] [43] [37] [34]

OpenNebula OpenStack
[19] Chercheurs de l'universit de Chicago Citrix XenServer Abico

Table

[41] [40] [42] [43] [37]

1.3  Solutions IaaS open source de Cloud Computing Nimbus Xen Cloud Platform AbiCloud

Produit par

[41] [40] [42] [43] [37] [34] - Apparu au dbut par l'universit Santa Barbara de l'universit de Californie - Eucalyptus System Company Solution scientique du Cloud Computing
ting

L'union Europenne

Rackspace, NASA, Dell, Citrix, Cisco, Canonical et plus que 50 autres organisations

Chapitre 1. Etat de l'art

But

Une rponse open source pour le Cloud commerciale EC2 - Centralis - Trois composants - Minimum deux serveurs - Centralis - Trois composants - Minimum deux serveurs

Un Cloud priv pure

- Evolution de Citrix XenServer - Conguration automatique et maintenance des Cloud CompuLa gestion des Clouds publiques et privs dans des environnements htrognes

Architecture

- Hirarchique - Cinq composants - Supporte multiple cluster - Minimum deux serveurs

- Centralis - Trois composants - Minimum deux serveurs

Domaine

d'uti-

lisation

Les entreprises

Les chercheurs dans le domaine de Cloud Computing et de la virtualisation

- Centralis - Trois composants - Minimum deux serveurs Les communauts scientiques (moins intresss par les techniques internes du systme) Les entreprises qui veulent construire leurs propre Cloud et de le rendre interoprable avec ceux des principaux fournisseurs de services Cloud La plupart des distributions Linux Python, Java VastSky Caml

Les entreprises qui veulent crer leur propre Cloud Computing

Systmes

d'ex-

24
- SCP - SQLite3 Serveur DHCP install sur chaque nud  EC2 WS API
 Nimbus WSRF

ploitation

sup-

ports

Linux (Ubuntu, Fedora, CentOS, OpenSUSE et Debian)

- Linux (Fedora, RedHat, CentOS et Suse Linux Enterprise Server) - Windows 7

- Linux (Ubuntu et CentOS - Mac OS - Windows XP Java, Ruby, C++, Python HDFS WSManagement


Crer et orir des fonctionnalits de Cloud Computing en utilisant un logiciel opensource fonctionnant sur du matriel standard Intgration des deux composants OpenStack object et OpenStack compute Les socits, les fournisseurs de services, les chercheurs et les centres de donnes mondiaux qui cherchent dployer grande chelle leurs Cloud privs ou publiques - Linux et rcemment Windows - Exige x86 processor Python
OpenStack Storage OpenStack Compute

Langage

de

programmation

Java, C, et Python

Stockage

Walrus

Rseau

Interface

utili-

sateur

Linux (Ubuntu, RedHat Enterprise Linux, Fedora et SUSE Linux Enterprise Server) Java, Ruby, C++ - GridFTP, Comulus (version rcente de GridFTP - XCP Conguration manuelle par l'administrateur  EC2 WS API  OCCI API Open vSwitch  Ligne de commande " XE "  XenCenter et Versiera (application commerciale pour Windows) - Authentication - Connexion SSH - Connexion SSH - Certicat X509

Interface Web implmente avec Adobe Flex - Authentication (mots de passe stocks en format MD5) - Authentication AbiServer


Interface Web - Certicat X509 - Connection SSH Le Cloud Controller Replication

Scurit niveau

utilisateur

- Authentication

Scurit niveau

administrateur

Serveur DHCP install sur le cluster controller  EC2 WS API  Outils tel que : HybridFox, ElasticFox - Fichier zip tlchargeable travers l'interface Web qui contient certicats - Connexion HTTPS - Connexion SSH - Root exig - Connexion SSL - Intgre Globus (certication) Le context broker Vrication priodique des nuds du Cloud


- Root seulement si ncessaire (selon les droits d'accs

Equilibrage

de

charge

Le Cloud Controller

Tolrance

aux

pannes

Sparation des clusters controllers

Nginx Database backend (enregistre les informations des machines virtuelles) Shared FS


XAPI Synchronisation transactionnelle chaud des tats des machines virtuelles entre serveurs physiques
 

Migration

froid des VMs

 

 

Migration

chaud des VMs

Emplacement

des VMs

Node controller

Cluster node
RESERVOIR

Physical nodes


- Open Virtualization Format - Shared Storage XCP Host




Clouds nodes


OpenStack Compute

Compatibilit

avec EC2

Utilisation dans

le march

NASA

Le projet NUBA

STAR

Principalement actif en Espagne

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 organisations (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'administration 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 responsable 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 automatiquement 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 (administrateur 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)


services Web ;

: il fournit un stockage bas sur les

- 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 - Amazon SimpleDB

: il permet de distribuer des objets stocks sur S3 vers un : il permet aux dveloppeurs d'excuter des requtes sur

emplacement proche de l'appelant ; des donnes structures ;

- AWS Management Console (AWS Console) : c'est une interface Web pour grer 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 technologies 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'applications 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 tablissements 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'entreprise [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'entreprise (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 hbergeur 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

Table
Web Force.com Services

1.4  Acteurs du Cloud Computing


[2]
Google App gine EnMicrosoft Azure

OVH Cloud Computing

IaaS
Trs grande instance

[21] PaaS [10] [42] PaaS

Amazon

EC2 (Iaas)

[33]

[42]

Google Apps

[42] S3 (PaaS)

[13] [42] SQL Azure (SaaS)

SaaS

[11] [42]

Petite Grande instance

Ins-

tance

(par

dfaut)

Chapitre 1. Etat de l'art

Service

Une infrastructure Cloud prive externalise

RAM 1,7 GO Stockage 160 GO Plateforme 32 GO


Edition d'entreprise te illimiEdition Compute

RAM 7,5 GO Stockage 850 GO Plateforme 64 GO

RAM 15 GO Stockage 1690 GO Plateforme 64 GO

Stockage Applications pour les RH, applicaillide stock, applications iPhone, mit de tions donnes iPad, Android et BlackBerry.

Gnrer des applications Web conues pour un trac lev sans avoir grer l'infrastructure correspondante

Microsoft Azure (Paas) - Permet de raliser puis exploiter des applications Web - Comprend des services Cloud d'hbergement (Azure Compute) et de stockage (Azure Storage) Permet de rpliquer et d'enrichir les bases de donnes d'entreprise de faon simple
Web Edi-

- Gmail - Google Documents Google Groupes Google Agenda - Google Sites - Google Vidos - Google Talk

Edition gratuite

Cot

0.12$ mois
Storage

par 0.15$ mois Microsoft par

tion

(1 GO) 9.99$
Business Edition

256 MO 512 MO 768 MO 1224 MO 1280 MO 1536 MO 1792 MO 2048 MO Windows 0,48$ par heure Linux 0,34$ par heure 0,15$ par mois Gratuit 75,0438$ par mois 111,176$ par mois Windows 0,96$ par heure Linux 0,68$ par heure

: (10 GO) : 99.99$

30
Salesforce.com - Certication ISO 27001 - Hbergement redondant et rplications des donnes Langage Apex (Supporte C#, .NET, Java, C++)

0.014$ par heure 0.028$ par heure 0.042$ par heure 0.057$ par heure 0.071$ par heure 0.085$ par heure 0.099$ par heure 0.11$ par heure

Windows 0,12$ par heure Linux 0,085$ par heure

Gratuit sauf pour google Apps for business 40$ par personne et par an Google

Fournis-

seur

Socit OVH

Amazon

Gratuit si pas de dpassement de pourcentage prdni (stockage < 1 GO, taille du code d'une application : 150 MO Google Authentication Java, Python

Scurit

Authentication

Chaque chier stock sera identi par une cl

Contrle d'accs et gestion des utilisateurs .NET, Ruby, Python, Java ou PHP

Authentication

Langage

de

pro-

gram-

Java

Java, Python

supporte Java, Python

mation

Chapitre 1. Etat de l'art

Des acteurs issus du Web, fort de leur exprience en environnement distribu ont dcid d'ouvrir ces savoir faire en proposant leur propre ore du Cloud Computing. Parmi ces acteurs nous trouvons :

- Amazon : avec son ore Amazon Web Services et plus prcisement son produit
IaaS Amazon Elastic Compute Cloud (EC2) qui permet le dploiement de machines virtuelles chez Amazon an de tirer partie de leurs capacits de traitement.

- Salesforce.com

: avec sa plateforme Force.com qui permet d'accder un

large catalogue d'applications SaaS tels que les applications de stocks, iPhone, iPad, Android, etc.

- Google : un acteur bien connu destination la fois des particuliers, titre


gratuit, et des entreprises. Avec son ore App Engine, il fournit une plateforme qui s'adresse aux dveloppeurs en leur proposant un ensemble de services (hbergement, base de donnes, etc.) pour pouvoir faire tourner leurs applications sur les infrastructures de Google. Google propose aussi Google Apps, une ore SaaS pour les applications en ligne (Gmail, Google Calendar, Google Talk, Google Documents, Google Sites, etc.).

- Microsoft : avec son ore Azure qui permet de dvelopper et dployer des applications serveur, accessibles par Internet. Azure est constitu d'un ensemble de services hbergs dans les Datacenter de Microsoft. Cela comprend notamment : Windows Azure (infrastructure de calcul, de stockage, de rseau, etc.) et SQL Services (base de donnes en ligne).

1.6

Cloud Computing et techniques de virtualisation

Dans le cadre des ores du Cloud Computing, les techniques de virtualisation sont trs prsentes. Le tableau 1.5 donne un aperu sur les techniques de virtualisation des dirents Clouds open-sources et propritaires dj cits.

31

Table

Xen
(virtualisation enabled)  (virtualisation enabled)
Prvu

1.5  Cloud Computing et techniques de virtualisation utilises

KVM

VirtualBox

VMware

HyperV

Chapitre 1. Etat de l'art

XX XXX Hyperviseur XXX Outils XX X  version => 3.0.x (Plus utilis) Eucalyptus Debian, CentOS, OpenSUSE  Pour la solution commerciale Libvirt 0.8.3 recommand

Open-source

OpenNebula
(virtualisation enabled)

Nimbus

Propritaire

32
 AbiCloud 0.8.0 et 0.7.0 => avec libvirt 0.6.5  (virtualisation enabled) Rcemment  AbiCloud 0.8.0 et 0.7.0 => Virtualbox 2.2.x AbiCloud 0.6.0 => Virtualbox 2.1.x    

Xen Cloud Platform

 La plupart des dploiements actuels utilisent Xen  Evolution de XenServer

AbiCloud

 AbiCloud 0.8.0 et 0.7.0 => avec libvirt 0.6.5 (non encore test)

OpenStack

 

Amazon Web Services Google Apps Microsoft Azure Google App Engine Force.com OVH

Chapitre 2. Le Cloud Computing et les services Web

Comme le montre le tableau 1.5, Xen et KVM s'avrent les solutions les plus utilises pour les ores open-sources du Cloud Computing. Cependant, VMware est clairement la solution la plus prsente dans le domaine de la virtualisation de Cloud propritaires. De ce fait, VMware est galement considr le premier fournisseur en infrastructures du Cloud Computing.

1.7

Conclusion

Nous avons prsent dans ce chapitre une ide gnrale sur le Cloud Computing, son architecture et ses dirents services. Nous avons men par la suite une tude sur les alternatives open-sources des plateformes du Cloud Computing ainsi que les techniques de virtualisation utilises. Ceci nous permet de choisir la solution avec laquelle nous crons notre propre environnement du Cloud.

33

Chapitre

Le Cloud Computing et les services Web

2.1

Introduction

Comme dj cit dans le premier chapitre, le Cloud Computing comporte trois niveaux de service : Infrastructure comme service, Plateforme comme service et Software comme service. Nous dtaillons dans un premier temps, ses services. Comme la qualit de service devient un facteur de plus en plus important pour les clients de service, il serait intressant qu'elle soit mesure et maintenue. Ainsi, nous ralisons dans un second temps, une tude des environnements de mesure et de test que nous utilisons par la suite dans le Cloud Computing.

2.2

Les couches du Cloud Computing

Une fois nous disposons de la couche infrastructure du Cloud Computing, il sera important de passer aux autres couches. Ainsi, la couche plateforme nous permet de bncier d'un Framework de dveloppement, d'ou la possibilit de dvelopper des outils spciques pour notre activit. Dans la couche software, nous fournissons des services informatiques par le biais du Web. On parle donc des services Web dans le Cloud. La gure 2.1 rsume l'architecture gnrale du Cloud Computing. De manire gnrale, l'architecture du Cloud Computing peut tre divise en quatre couches, comme indiqu dans la gure 2.1 : la couche matriels, la couche infrastructure, la couche plateforme et la couche application.

- La couche matriels : elle est responsable de la gestion des ressources physiques (serveurs, routeurs, commutateurs, etc). La couche matrielle est gn34

Chapitre 2. Le Cloud Computing et les services Web

Figure

2.1  Architecture gnrale du Cloud Computing

ralement mise en uvre dans des Datacenter.

- La couche infrastructure

: c'est un composant essentiel du Cloud Com-

puting. Elle permet de crer un pool de stockage par le partitionnement des


ressources physiques en utilisant la technique de virtualisation.

- La couche plateforme : elle comporte le SE ainsi qu'un ensemble de Framework d'application. Son but est de minimiser la charge du dploiement d'applications. En eet le dploiement sera eectu dans des machines virtuelles.

- La couche applications : elle est situe plus haut niveau de la hirarchie et


elle comporte les applications du Cloud.

2.3

Les services Web

Dans ce qui suit nous donnons un aperu sur les services Web tout en prsentant les direntes techniques inhrentes.

35

Chapitre 2. Le Cloud Computing et les services Web

2.3.1 Dnition
Le groupe de travail du W3C [26] a dni le service web comme tant "un systme logiciel identi par une URI dont les interfaces publiques et les associations sont dnies et dcrites en XML. Sa dnition peut tre dcouverte par d'autres systmes logiciels. Ces systmes peuvent alors interagir avec le service web selon les modalits indiques dans sa dnition, en utilisant des messages XML transmis par des protocoles internet" [30]. An d'utiliser un service Web, ce dernier doit passer par un ensemble d'tapes qui constituent en fait son cycle de vie.

2.3.2 Cycle de vie d'un service Web


Un service Web suit un ensemble d'tapes pour tre mis en place et utilis par un client nal. La premire tape consiste dployer le service Web dans un conteneur adquat. Dans la deuxime tape, le service Web sera enregistr dans l'annuaire de service (UDDI) et dcrit par le langage WSDL pour avoir enn un service Web prt l'utilisation. Lorsqu'un client veut demander un service Web, il dmarre par le chercher dans l'annuaire UDDI. Ds qu'il dcouvre le service Web adquat, il commence par comprendre le contrat WSDL impos par le serveur et nalement, il l'invoque. Le serveur Web retourne ainsi la rponse de la requte au client. Le schma de la gure 2.2 rsume le cycle de vie d'un service Web. Dans ce qui suit, nous dtaillons les concepts associs aux services Web, savoir le SOAP, le WSDL et l'UDDI.

2.3.3 Les concepts associs


a. SOAP
SOAP est l'abrviation de "Simple Object Access Protocol ". Il s'agit d'un protocole lger permettant l'change d'information dans des environnements distribus [30]. Il est bas sur XML.

36

Chapitre 2. Le Cloud Computing et les services Web

Figure

2.2  Cycle de vie d'un service Web

b. WSDL
WSDL est l'abrviation de Web Services Description Language. Comme son nom l'indique, c'est un langage de description des services Web. Il s'agit d'un format XML ddi la reprsentation des services par un ensemble d'oprations et de messages abstraits relis des protocoles et des serveurs rseaux [30].

c. UDDI
UDDI est l'abrviation de Universal Description Discovery and Integration. C'est un annuaire de services fond sur XML et plus particulirement destin aux services Web. UDDI est une spcication mise au point par l'OASIS [30]. Il permet de localiser sur le rseau le service Web recherch.

2.4

Performance des services Web

Plusieurs dnitions de la performance des services Web existent dans la littrature. Nous utilisons la dnition fournie par le groupe du W3C [26] comme une fondation pour notre propre dnition. D'aprs le W3C [26] , la performance est dnie en termes de dbit, temps de rponse, temps de latence et temps d'excution. Dans le cadre de ce mastre, nous dnissons la performance en termes de temps

37

Chapitre 2. Le Cloud Computing et les services Web

de rponse et ses sous concepts (temps de communication et temps d'excution).

Le temps de rponse est le temps ncessaire pour traiter une requte ds l'instant de son envoi jusqu'au moment de sa rception. Le temps de rponse peut tre divis en temps de communication et temps d'excution.

Le temps de communication est le temps ncessaire pour le transport de la requte et de sa rponse. Le temps d'excution mesure le temps mis par le serveur pour excuter la requte.

La gure 2.3 montre une invocation simple d'un service. Nous optons pour cette architecture an de raliser nos exprimentations sur le

Cloud Computing.

Figure

2.3  Architecture de mesure de la QdS

t1 : temps d'envoi de requte du client t2 : temps de rception de la requte par le service t3 : temps d'envoi de la rponse t4 : temps de rception de la requte (t2-t1)+(t4-t3) : temps de communication t2-t3 : temps d'excution

Ainsi :

38

Chapitre 2. Le Cloud Computing et les services Web

2.5

Techniques de mesure de la QdS

Nous prsentons dans cette partie les deux techniques que nous utilisons savoir le Timer et l'orient aspect pour mesurer la qualit de service ainsi que d'autres techniques existantes.

2.5.1 Le Timer insr dans le code


Une mthode simple pour la mesure des caractristiques de performance des services Web peut tre dveloppe en ajoutant des fonctionnalits dans le code client du service Web [38]. Ces fonctionnalits sont insres avant et aprs l'invocation du service Web.

2.5.2 Utilisation de l'approche oriente aspect


Le code de mesure de performance peut tre implment en utilisant la Programmation Oriente Aspect (POA). Celle-ci est un paradigme de programmation qui permet de rduire fortement les couplages entre les dirents aspects techniques d'un logiciel. L'aspect dnit des points d'action qui reprsentent les points de jonction satisfaisants aux conditions d'activation de l'aspect responsable de la mesure de performance. Par exemple, le temps de rponse est mesur en dnissant un point de mesure qui dtecte le temps avant et aprs l'invocation d'une mthode du service. AOP4CSM [39] est une approche de monitoring des services du Cloud. Elle se base sur la programmation oriente aspect (AOP). AOP4CSM [39] permet la collecte et la mesure des paramtres de performance des services du Cloud tels que le temps de rponse et le temps de communication, ceci tant sans avoir modier le code source du service et du client [39]. Nous avons tout d'abord tlcharg l'outil AOP4CSM [39] depuis son site Web [4]. Ensuite, nous avons dploy AOP4CSM [39] au sein de la plateforme du Cloud Computing que nous avons mise en place.

39

Chapitre 2. Le Cloud Computing et les services Web

2.5.3 Autres techniques


Approche du proxy
Dans cette approche, un proxy est utilis comme mdiateur de communication entre le client et le serveur. Les messages changs entre le client et le serveur seront donc visibles par le proxy et les attributs de performance seront mesurs par ce proxy [38].

Modication de la bibliothque du SOAP


Dans cette approche, la bibliothque du parsing du message SOAP est modie pour enregistrer l'information ncessaire pour la mesure de performance [38]. Ces informations sont envoyes par la suite une troisime entit responsable du stockage et de la mise jour des mesures. La modication de bibliothque a besoin d'tre disponible sur les direntes implmentations et plateformes. C'est une modication qui doit tre tablie notamment dans les bibliothques SOAP des clients ainsi que des fournisseurs.

Approche base sur le monitoring de paquets


L'ide principale derrire cette approche est de capturer les paquets des messages SOAP entrants et sortants [38]. Cette approche utilise particulirement les paramtres de la couche transport pour driver les mtriques et les mesures de la performance.

2.6

Architecture de mesure de la qualit de service

La mesure de la qualit de service d'un service Web consiste calculer en fonction des valeurs rcupres et de nombre de requtes invoques un ou plusieurs attributs de QdS. Pour mesurer et valuer le temps de rponse du service Web, nous avons adopt l'architecture prsente par la gure 2.4 [4] dans un environnement du Cloud Com-

puting. Cette architecture est base sur l'approche de monitoring AOP4CSM.


40

Chapitre 2. Le Cloud Computing et les services Web

Il faut tout d'abord noter, qu'en programmation oriente aspect :

Un pointcut est un point de coupure qui donne les positions dans le programme ou va tre introduit le code fonctionnel de l'apesct. Pour cela le pointcut va dnir un type d'action, principalement l'appel d'une mthode.

Un advice associe un pointcut le code devant tre excut. On peut slectionner direntes position pour l'execution du code de l'advice : avant ou aprs le pointcut.

Figure

2.4  Architecture de dploiement d'AOP4CSM

Entre le client du Cloud et le serveur, AOP4CSM met en place quatre points de mesure (pointcut ), deux ct client et deux ct serveur, dans le but de mesurer et valuer les paramtres de la QdS. Le client envoie une requte pour invoquer un service Web dploy sur un serveur. Le pointcut ct client invoque la mthode X1 l'instant t1 (le temps d'invocation du service par le client). Ce dernier sera enregistr par l'aspect. Par la suite, le 41

Exprimentations et validation d'AOP4CSM sur le Cloud

pointcut ct serveur invoque la mthode X2 l'instant t2 (temps de rception de la requte par le fournisseur de service) et de mme t2 sera enregist par l'aspect. La mme dmarche est faite pour la rponse envoye par le serveur. L'tape suivante est la mesure du temps d'excution et du temps de communication en se basant sur l'information calcule par l'aspect. Cette tape est assure, d'une part, par le pointcut3 ct serveur qui permet de calculer le temps d'excution du service Web et d'autre part, par le pointcut4 ct client qui calcule le temps de communication de l'invocation du service Web. Par la suite, l'aspect excute un thread qui envoie les paramtres de la QdS mesurs un gestionnaire de logging. Ce dernier est un service Web qui permet d'enregistrer les donnes dans une base de donnes MySQL. Ainsi :

Le Temps d'excution : le temps que le service a pris pour excuter la requte. Texec = t3 - t2 Le Temps de rponse : Temps d'excution + Temps de communication. Tresp = t4 - t1

2.7

Conclusion

Notre architecture de mesure de la qualit de service dans le Cloud est base sur les aspects. Ces derniers assurent la collection d'informations des cts client et fournisseur de service du Cloud. Ceci permet de garantir plus de prcision lors de la mesure de la QdS. Une fois l'architecture est prte, il reste passer l'tape de validation en eectuant des exprimentations grande chelle tout en suivant l'volution et le changement de la QdS. Dans le chapitre suivant, nous dtaillerons notre dmarche pour tablir les exprimentations de la mesure de la QdS.

42

Chapitre

Exprimentations et validation d'AOP4CSM sur le Cloud

3.1

Introduction

Aprs avoir prsent l'approche de mesure adopte, nous passons dans ce chapitre dtailler la procdure d'exprimentation que nous avons adopte pour valider nos travaux. Ainsi, ce chapitre s'articule autour de deux axes principaux. Dans la premire partie, nous dtaillons les tapes de mise en place de l'architecture dnie. Quant la deuxime partie, nous nous intressons prsenter les rsultats de nos exprimentations tout en donnant nos interprtations.

3.2

Mise en place d'AOP4CSM

Comme dj mentionn dans le chapitre prcdent, notre architecture du Cloud

Computing se compose de trois couches. Dans cette section, nous prsentons les
tapes de mise en place de chaque couche.

3.2.1 Couche infrastructure


Pour la couche infrastructure, nous avons choisi de mettre en place un Cloud open-source de type IaaS. L'tude comparative des outils open-sources du Cloud

Computing faite au premier chapitre, nous a permis de choisir de mettre en place


le Cloud avec Eucalyptus. En eet, c'est la solution la plus rpondue du Cloud

Computing qui est intgre dans les distributions Ubuntu en tant qu'outil du Cloud Computing. Son avantage majeur est sa compatibilit avec Amazon EC2.

43

Exprimentations et validation d'AOP4CSM sur le Cloud

Eucalyptus
Eucalyptus ne fonctionne qu'avec des serveurs sous Linux, quips de l'hyperviseur Xen, KVM ou HyperV pour les solutions open-sources et il est intgr dans les versions rcentes d'Ubuntu partir de la version 9.04. Pour mettre en place une infrastructure minimale du Cloud Computing, nous aurons besoin d'au moins deux machines :

o o -

Front end Nud Deux ordinateurs personnels ; Un serveur : Eucalyptus fonctionne uniquement avec des serveurs type Linux et plus prcisment Debian Squeeze, Fedora, OpenSuse, CentOS et Ubuntu. Puisque nos machines ne supportent pas la virtualisation matrielle, nous avons utilis Debian Squeeze ;

Ainsi, an de construire notre Cloud priv, il nous faut disposition au minimum :

Quatre paquets : eucalyptus-cc (Cluster Controller ), eucalyptus-sc (Storage

Controller ), eucalyptus-walrus (interfaage avec Amazon Web Services ) et eucalyptuscloud (Cloud Controller ) pour le front end ;

Le paquet eucalyptus-nc (Node Controller ) et un pont rseau (bridge) pour le nud ; Un hyperviseur pour la cration et la gestion des machines virtuelles qui sera install sur la machine nud. Le meilleur choix pour l'hyperviseur dpend du support du matriel. Nos machines ne supportent pas la virtualisation matrielle, ainsi nous avons choisi d'utiliser l'hyperviseur Xen.

La gure 3.1 dcrit les dirent composants d'Eucalyptus. Nous disposons d'un serveur Debian Squeeze sur chacune des machines front end et node. Pour des contraintes de temps et de matriels, nous avons utilis pour la validation et l'exprimentation le Cloud priv d'OVH. En eet, nous visons eectuer des exprimentations grande chelle, ce qui ne peut pas tre fait avec deux machines. D'autre part, il nous faut des machines plus puissantes avec une conguration comme c'est decrit par le tableau 3.1. Nous notons que pour la mise en place de notre

44

Exprimentations et validation d'AOP4CSM sur le Cloud

Eucalyptus-sc

Walrus

Eucalyptus-nc

Eucalyptus-cc Front end


eth0

Eucalyptus-cloud Nud
xenbr0

Rseau local

Figure

3.1  Composants d'Eucalyptus

Cloud priv avec Eucalyptus, nous avons utilis des machines avec une conguration minimale selon ce qui est dcrit dans le tableau 3.1. 3.1  Conguration matrielle ncessaire pour la mise en place d'un Cloud avec Eucalyptus
Table

Matriel

Conguration minimale Front end Node 1GHz 2GO 5400rpm IDE 40GO

CPU Mmoire Disque Espace disque

Supporte la technologie de virtualisation (VT) 1GO 5400rpm IDE 40GO

Conguration suggre Front end Node Supporte la technolo2 x 2GHz gie de virtualisation (VT), 64-bit, Multi(Dual core) core 4GO 1GO 7200rpm 7200rpm SATA ou SATA SCSI 200GO 100GO

OVH Cloud Computing


OVH vient d'annoncer une ore du Cloud priv, base sur vSphere et vCenter de VMware. Elle consiste en une solution d'infrastructure la demande (Infrastructure

as a Service, ou IaaS), et permet d'externaliser les cots lis aux quipements IT de


l'entreprise, en les faisant baisser de manire consquente.

3.2.2 Couche plateforme


Pour la couche plateforme, nous avons utilis :

Apache Tomcat comme serveur Web ; 45

Exprimentations et validation d'AOP4CSM sur le Cloud

Axis comme implmentation de service Web ; Java comme langage de programmation ; MySQL comme systme de gestion de base de donnes.

3.2.3 Couche software


Pour mettre en uvre l'architecture propose dans la gure 2.4, nous l'avons applique sur une application distribue : la Revue Cooprative qui est une publication priodique (hebdomadaire, mensuelle, etc.) publiant des articles et des travaux de recherche pour des spcialistes dans divers domaines (scientiques, littraires, juridiques, conomiques, etc.). Il s'agit d'un systme de gestion de confrences dvelopp dans notre quipe ReDCAD et permet l'automatisation des direntes phases de la revue cooprative. Comme notre but tant d'observer les valeurs des paramtres de qualit de service, nous avons choisi de mesurer la QdS du systme de gestion de confrences bas sur les services Web et dploy sur le Cloud. Nous nous sommes intresss principalement de la mesure de la QdS pour le scnario "recherche de confrence". Ce dernier permet au client de recevoir la liste de toutes les confrences rpondant aux critres de recherche dj dnis.

3.3

Environnement de dploiement

An de lancer un nombre assez important de clients et tre le plus proche du contexte grande chelle, nous avons choisi d'eectuer les mesures de la QdS sur le MiniCloud d'OVH.

3.3.1 MiniCloud d'OVH


MiniCloud est un ensemble de briques intgrant la virtualisation sur des machines tournant sous Linux, le stockage de donnes de rfrence bas sur Solaris et bien entendu avec toutes les fonctionnalits de sauvegarde distance et agences par une base de donnes MySQL.

46

Exprimentations et validation d'AOP4CSM sur le Cloud

3.3.2 Conguration et dploiement


Pour raliser les mesures de paramtres de la QdS du service "recherche de confrences", nous avons utilis plusieurs nuds fonctionnant sous MiniCloud OVH et comportant le systme d'exploitation Linux Ubuntu. La gure 3.2 schmatise notre architecture d'exprimentation grande chelle.

Figure

3.2  Architecture de dploiement sur le Cloud

Comme le montre la gure 3.2, nous avons utilis six nuds. Le premier nud servira de serveur Web, il comporte notre base de donnes MySQL ainsi que notre service Web de recherche de confrences. Les cinq autres nuds hbergent un ou plusieurs clients qui invoquent plusieurs fois et simultanment le service Web cible. Pour chaque requte d'un client, l'aspect envoie une requte d'insertion la base de donnes contenant des valeurs de la QdS. La conguration matrielle et logicielle de chacune de ces machines est rsume dans le tableau 3.2.
Table

3.2  Conguration matrielle et logicielle Conguration logicielle Disque 5 Go Disque 5 Go Ubuntu server 10.04 Ubuntu server 10.04 RAM 1025 Mo RAM 512 Mo

Composant Serveur Web Client Web

Conguration matrielle Processeur 8 GHz Processeur 8 GHz

47

Exprimentations et validation d'AOP4CSM sur le Cloud

3.4

Exprimentations d'AOP4CSM

An de mesurer la qualit de service de notre service Web de recherche de confrences, nous avons ralis un ensemble d'exprimentations sur le Cloud Computing. En utilisant des scripts shell Linux, nous avons pu excuter plusieurs clients en mme temps et chaque client envoie de multiples requtes pendant une dure de 60 secondes. Ainsi, chaque client tablit une connexion avec le service Web et envoie des requtes SOAP au service "recherche de confrences". Les exprimentations sont rptes plusieurs fois et les valeurs obtenues sont stockes dans une base de donnes MySQL pour pouvoir calculer les paramtres de la QdS et dresser des courbes d'valuation. Dans la suite de cette section, nous prsentons les rsultats de nos exprimentations.

3.4.1 Rsultats exprimentaux


Nous prcisons que pour nos exprimentations, nous avons excut respectivement 1, 5, 10, 25, 50, 75 et 100 clients. Chaque client invoque le service Web continuellement pendant une minute. Le tableau 3.3 montre l'volution de la qualit de service en fonction du nombre de clients.

48

Table

3.3  Les mesures de la QdS Nombre Nombre de requtes russites de Temps de communication (ms) total requtes

Nombre de Temps d'excution (ms)

clients Max 111 104 219 521 741 1350 2439 2503 2245,25 23 2142,5 26 1219,25 22 27 33 39 640 15 30 482,25 18 29 22,5 24,5 25 28 29 204 13 21 14 97,25 12 13 12,75 88 11 12 11,25 294 1208 1249 1577 2026 2613 3182 3721 Moyenne Min Max Moyenne

Temps de rponse (ms)

Min 60 90 197 458 597 1021 1838 2001

Max

Moyenne Min

1 client

72

122

99,25

284 1194 1201 1123 1067 1189 1304 1212

5 clients

102

117

110

10 clients

213

225

218

20 clients

476

540

504,75

Exprimentations et validation d'AOP4CSM sur le Cloud

49

25 clients

613

787

664,5

50 clients

1043

1376

1244,25

75 clients

1865

2472

2170,5

100 clients

2024

2532

2274,25

Exprimentations et validation d'AOP4CSM sur le Cloud

L'augmentation du nombre de clients engendre une dgradation de la QdS. Cette dgradation est bien visible sur le temps de rponse ainsi que le temps d'excution. En eet, la charge sur le serveur devient lourde et la performance baisse. Pour illustrer davantage ces rsultats, nous reprsentons l'volution du temps de rponse dans la gure 3.3 ainsi que le temps d'excution dans la gure 3.4 et de communication dans la gure 3.5 par rapport au nombre de clients. Ainsi, pour un nombre de clients infrieur 5, l'augmentation des temps de rponse et d'excution est lgre. Cependant, pour un nombre de clients variant entre 25 et 75, l'augmentation devient de plus en plus importante. A partir de 75 clients jusqu' 100 clients, la variation se stabilise.

Figure

3.3  Evolution du temps de rponse

Nous avons enregistr, d'une part, un nombre d'exceptions leves et donc un nombre de requtes important qui a chou et d'autre part, un temps de rponse qui ne cesse d'augmenter. Nous avons dress par la suite la courbe qui montre les proportions des requtes servies en fonction du nombre de clients (voir gure 3.6). Comme le montre cette gure, l'augmentation du nombre de clients engendre une diminution du nombre de requtes servies. Cette faiblesse est du plusieurs aspects savoir la capacit de traitement du fournisseur et l'ecacit de l'accs de la base 50

Exprimentations et validation d'AOP4CSM sur le Cloud

Figure

3.4  Evolution du temps d'excution

Figure

3.5  Evolution du temps de communication

51

Exprimentations et validation d'AOP4CSM sur le Cloud

de donnes.

Figure

3.6  Reprsentation des requtes servies en fonction du nombre de clients

Nous avons remarqu au cours des exprimentations, que la plupart des requtes errones sont du au type d'exception : "connection refused" qui signie que la capacit du serveur a tre dpasse. Cependant, partir de 25 clients, le nombre de requtes errones devient de plus en plus remarquable et cela est expliqu par le fait que le nombre de requtes envoyes au serveur a dpass la valeur maximale des connexions simultanes permises. Nous reportons sur la gure 3.7 l'volution de la disponibilit du service Web en fonction du nombre de clients. Les rsultats ont montr que pour un nombre de clients infrieur 10 il n'y avait pas trop de rponses errones pendant la priode de test et donc le service est toujours disponible. Cependant, nous avons remarqu qu' peut prs 70% des requtes ne pourraient pas tre accompli par le service Web pour 100 clients simultanes.

52

Exprimentations et validation d'AOP4CSM sur le Cloud

Figure

3.7  Mesure de la disponibilit

3.4.2 Surcot d'AOP4CSM


Les rsultats exprimentaux dj prsent montre bien l'volution du service Web dans le Cloud. En eet, notre but tait de calculer la surcot d'AOP4CSM [39]. Pour ce faire, nous avons rserv le mme nombre de nuds avec lesquels nous avons eectu les exprimentations prcdentes mais, cette fois-ci, nous avons utilis l'approche de monitoring avec Timer (Voir section 3.4 de ce chapitre) dans le service Web ainsi que le dans client. Nous avons d'autre part, utilis le mme programme client qui invoque le mme service, savoir, le service de "recherche de confrences". Nous avons obtenu ainsi, les rsultats montrs dans le tableau 3.4. An de bien tudier ces rsultats, nous avons trac les courbes de mesure du temps de rponse pour chacun des deux cas. Dans le premier cas, la mesure est accomplie avec l'approche de monitoring AOP4CSM [39]. Dans le deuxime cas, la mesure est ralise dans le code du client en intgrant des Timers et sans utilisation de l'approche AOP4CSM [39]. Comme le montre la gure 3.8, l'utilisation d'AOP4CSM [39] n'a pas engendr de cot supplmentaire pour un nombre de clients infrieur 20. Cependant, au del de 20 clients la mesure base sur l'approche de monitoring AOP4CSM [39] a donn

53

Exprimentations et validation d'AOP4CSM sur le Cloud

Table

3.4  Comparaison des rsultats avec et sans AOP4CSM Temps de rponse Temps de rponse avec AOP4CSM (ms) 99,25 110 218 504,75 664,5 1244,25 2170,5 2274,25 sans AOP4CSM (ms) 86,5 100,25 193,75 389,75 579,5 974,5 1879,5 2060

Nombre de client 1 client 5 clients 10 clients 20 clients 25 clients 50 clients 75 clients 100 clients

un cot supplmentaire ngligeable pour le temps de rponse (X secondes).

Figure

3.8  Evolution du temps de rponse avec et sans AOP4CSM

54

Conclusion gnrale et perspectives

3.4.3 Synthse
L'ensemble des exprimentations dj prsentes dans ce chapitre nous a permis de :

* Avoir une ide riche et matriser l'environnement du Cloud Computing ; * Exprimenter AOP4CSM grande chelle ; * Montrer l'ecacit d'AOP4CSM. En eet, l'utilisation d'AOP4CSM n'a
engendr un cot supplmentaire important pour le temps de rponse ;

pas

* Extraire direntes courbes qui vont tre exploites par la suite comme rfrence soit pour l'analyse de l'tat du service, soit pour la slection du service Web.

3.5

Conclusion

Dans ce chapitre, nous avons mis en place notre architecture de monitoring sur le niveau IaaS du Cloud. La mesure et l'volution de la qualit de service sont valides travers une exprimentation grande chelle. A travers cet ensemble d'exprimentations, nous avons pu dgager des valeurs moyennes de QdS pour le service de recherche de confrence. A base de ces mesures nous avons pu gnrer des courbes de rfrence.

55

Conclusion gnrale et perspectives


En conclusion, le travail de recherche eectue dans le cadre de ce mastre aborde principalement le monitoring des applications de la couche IaaS du Cloud Compu-

ting. Nous avons donn une ide gnrale sur le Cloud Computing, son architecture
et ses dirents services. Nous avons fait par la suite une tude comparative des direntes solutions open source et propritaires du Cloud tout en prcisant les techniques de virtualisation utiliss dans chacune d'entre elles. Ceci nous a permis d'avoir une ide riche sur les techniques de virtualisation ainsi que les direntes solutions disponibles du Cloud Computing et surtout de bien maitriser le concept du Cloud. Nous avons ensuite opt pour une solution commerciale pour mette en place notre propre environnement du Cloud Computing savoir le MiniCloud d'OVH vu les contraintes matrielles. La principale motivation qui a rgi ce travail est d'une part la mesure de la qualit de service des services Web et d'autre part la validation de l'approche AOP4CSM [39] dans un environnement Cloud Computing pour enn montrer son ecacit et gnrer des courbes de rfrence. Pour ce faire, nous avons tout d'abord choisi notre environnement de dploiement dans le Cloud. Nous avons pass par la suite l'tape de validation en eectuant des exprimentations grande chelle sur un service d'une application base de services Web (la Revue Cooprative) et plus prcisment le scnario "Recherche de confrences". Les rsultats des exprimentations ont t enregistrs dans une base de donnes an de pouvoir les exploiter par la suite pour eectuer les calculs de la qualit de service. A base de ces mesures, nous avons gnr des courbes de rfrence et nous avons montr que l'approche AOP4CSM [39] ajoute un cot supplmentaire ngligeable la QdS. Certes, nos exprimentations permettent la mesure de la QdS dans un environ56

Conclusion gnrale et perspectives

nement du Cloud Computing. Ainsi, nous pourrons tendre notre travail tout en implmentant une architecture pour le diagnostique et la rparation d'applications bases sur les services Web. A court terme et en se basant sur l'tude technique ralise sur le Cloud Com-

puting, nous pourrons mettre en place un environnement Cloud si les contraintes


matrielles seront relaxes. Ceci nous permettra l'utilisation de notre propre environnement pour mener terme nos exprimentations tous les niveaux du Cloud.

57

Bibliographie
[1] Abicloud. http ://community.abiquo.com/. [2] Amazon web srrvice. http ://aws.amazon.com/fr/. [3] Ambitwire. http ://ambitwire.com/. [4] Aop4csm. http ://www.redcad.org/members/mdhaar/aop4csm/. [5] Cloud comuting consulting. http ://www.cloudconsulting.fr/index.php/fr/lecloud-computing/iaas-paas-et-saas. [6] Comprendre le cloud computing. http ://pro.clubic.com/it-business/cloudcomputing/article-376690-4-cloud-computing.html. [7] Datacenterknowledge. http ://www.datacenterknowledge.com/. [8] Eucalyptus. http ://www.eucalyptus.com/. [9] Fedora. http ://doc.fedora-fr.org/wiki/Virtualisation. [10] Google app engine. http ://code.google.com/intl/fr-FR/appengine/. [11] Google apps. http ://www.google.com/apps/. [12] Kvm. http ://www.linux-kvm.org/. [13] Microsoft. http ://www.microsoft.com/. [14] Microsoft hyperv. http ://www.microsoft.com/hyper-v-server/en/us/default.aspx. [15] My saas. http ://mysaas.fr/2010/10/04/private-cloud-publique-cloud-et-hybrid-cloud/. [16] Netcraft. http ://news.netcraft.com/. [17] Nimbus. http ://www.nimbusproject.org/. 58

Conclusion gnrale et perspectives

[18] Opennebula. http ://opennebula.org/. [19] Openstack. http ://www.openstack.org/. [20] Openvz. http ://www.prolibre.com/documentation/virtualisation/openvz.html. [21] Ovh. https ://www.ovh.com/fr/index.xml. [22] Salesforce. http ://www.salesforce.com/fr/. [23] Tnr global. http ://www.tnrglobal.com/blog/2009/05/migrating-an-openvzvirtual-machine. [24] Virtualbox. http ://www.virtualbox.org/. [25] Vmware vsphare. http ://www.arumtec.net/fr/outils-virtualisation/outils-devirtualisation/vmware-vsphere-4.1/presentation-de-vmware-vsphere-4.1. [26] W3c. http ://www.w3.org/. [27] Xen. http ://aldevar.free.fr/data/VeilleTechno/VeilleTechno-Virtualisation.pdf. [28] Xen. http ://www.xen.org/. [29] Xen. http ://wiki.xen.org/. [30] Understanding Web Services : XML, WSDL, SOAP, and UDDI. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2002. [31] J. Kelner . T. Endo, G. E. Gon calves and D. Sadok. A survey on open-source cloud computing solutions. Brazilian Symposium on Computer Networks and

Distributed Systems, May 2010.


[32] Peter Baer. Vmware vsphere vs. microsoft hyper-v : A technical analysis a cti strategy. November 2009. [33] Tom Bellwood, Luc Clment, David Ehnebuske, Andrew Hately, Maryann Hondo, Yin Leng Husband, Karsten Januszewski, Sam Lee, Barbara McKee, Joel Munter, and Claus von Riegen. Uddi version 3.0. juillet 2002. [34] Ignacio M. Llorente Borja Sotomayor, Ruben S. Montero and Ian Foster.

59

Conclusion gnrale et perspectives

[35] Jianhua Che, Qinming He, Qinghua Gao, and Dawei Huang. Performance measuring and comparing of virtual machine monitors. In Proceedings of the

2008 IEEE/IFIP International Conference on Embedded and Ubiquitous Computing - Volume 02, EUC '08, pages 381386, Washington, DC, USA,
2008. IEEE Computer Society. [36] Jianhua Che, Congcong Shi, Yong Yu, and Weimin Lin. A synthetical performance evaluation of openvz, xen and kvm. In Proceedings of the 2010

IEEE Asia-Pacic Services Computing Conference, APSCC '10, pages


587594, Washington, DC, USA, 2010. IEEE Computer Society. [37] Thiago Damasceno Cordeiro, Douglas Brito Damalio, Nadilma Cintra Valenca Nunes Pereira, Patricia Takako Endo, Andre Vitor de Almeida Palhares, Glauco Estacio Goncalves, Djamel Fawzi Hadj Sadok, Judith Kelner, Bob Melander, Victor Souza, and Jan-Erik Mangs. Open source cloud computing platforms. In Proceedings of the 2010 Ninth

International Conference on Grid and Cloud Computing, GCC '10, pages


366371, Washington, DC, USA, 2010. IEEE Computer Society. [38] Riadh Ben Halima. Conception, implantation et exprimentation d'une

architecture en bus pour l'auto-rparation des applications distribues base de services web. PhD thesis, 2009.
[39] Afef Mdhaar, Riadh Ben Halima, Ernst Juhnke, Mohamed Jmaiel, and Bernd Freisleben. AOP4CSM : An Aspect-Oriented Programming Approach for Cloud Service Monitoring. In Proceedings of the 11th IEEE International

Conference on Computer and Information Technology, 2011.


[40] Junjie Peng, Xuejun Zhang, Zhou Lei, Bofeng Zhang, Wu Zhang, and Qing Li. Comparison of several cloud computing platforms. In Proceedings of the 2009

Second International Symposium on Information Science and Engineering,


ISISE '09, pages 2327, Washington, DC, USA, 2009. IEEE Computer Society. [41] Marvin Rambhadjan and Arthur Schutijser. SURFnet cloud computing

solutions.

60

Bibliographie

[42] Bhaskar Prasad Rimal, Eunmi Choi, and Ian Lumb. A taxonomy and survey of cloud computing systems. In Proceedings of the 2009 Fifth International

Joint Conference on INC, IMS and IDC, NCM '09, pages 4451, Washington,
DC, USA, 2009. IEEE Computer Society. [43] Peter Sempolinski and Douglas Thain. A comparison and critique of eucalyptus, opennebula and nimbus. In Proceedings of the 2010 IEEE Second

International Conference on Cloud Computing Technology and Science,


CLOUDCOM '10, pages 417426, Washington, DC, USA, 2010. IEEE Computer Society.

61

Annexe
.1 Etapes d'installation d'Eucalyptus

.1.1 Etape 1 : Prparation du front end


Pr requis : - Vrier que les locales 1 sont correctement congurs.
# dpkg-recongure locales

- Les ports 8443, 8773, 8774 et 9001 doivent tre ouverts. Installation - Les paquets eucalyptus-cc, eucalyptus-cloud, eucalyptus-nc et walrus sont disponibles partir du dpt de Debian. Pour les installer avec leurs dpendances, il faut ajouter le dpt d'Eucalyptus au chier /etc/apt/sources.list : # vim /etc/apt/sources.list # deb http ://eucalyptussoftware.com/downloads/repo/eucalyptus/$VERSION/ debian/ squeeze main # apt-get update

Installation d'Eucalyptus sur le front end. aptitude install eucalyptus-common eucalyptus-cloud eucalyptus-walrus

eucalyptus-sc eucalyptus-cc
1. Les paramtres rgionaux permettent d'acher les donnes selon les attentes culturelles et linguistiques propres la langue et au pays de l'utilisateur

62

Annexe

Activer les services du front end.

# /etc/init.d/eucalyptus-cc start # /etc/init.d/eucalyptus-cloud start

.1.2 Etape 2 : Prparation du nud


Pr requis : - Vrier que les locales sont correctement congurs.

# dpkg-recongure locales Le node controller est entirement install et congur sur un hyperviseur de type Xen qui permettra de contrler les machines virtuelles. Ainsi, il faut tout d'abord installer Xen sur le nud.

* Dom0 (machine hte) - Commenons par installer l'hyperviseur : noyau xen et xen-tools.

# aptitude -P install xen-hypervisor-4.0-amd64 linux-image-xen-amd64

Modier le grub de telle faon que xen devient le systme par defaut.

# mv -i /etc/grub.d/10_linux /etc/grub.d/50_linux # update-grub2

Dsactiver l'OS prober 2 pour ne pas mettre jour le menu grub lorsqu'on installe des machines virtuelles.

2. Paquet qui dtecte les systmes installs sur une machine. Lors de la mise jour, de l'installation ou de la suppression d'un noyau, ce paquet mettra jour le menu de grub pour les autres systmes.

63

Annexe

# echo "" /etc/default/grub # echo "# Disable OS prober to prevent virtual machines on logical volumes from appearing in the boot menu." /etc/default/grub # echo "GRUB_DISABLE_OS_PROBER=true" /etc/default/grub # update-grub2

Redmarrer la machine.

Les modications apportes Xen sont eectues sur le chier xend-cong.sxp

# vim /etc/xen/xend-cong.sxp (xend-unix-server yes) (network-script network-bridge) # /etc/init.d/xend restart

* DomU (machine invite)


Nous pouvons galement utiliser l'outil xen-tools permettent l'installation facile des machines virtuelles.

# apt-get install xen-tools Pour congurer xen-tools, il faut diter le chier /etc/xen-tools/xen-tools.conf qui contient les valeurs ncessaire pour utiliser le script xen-createimage.

64

Annexe

lvm = universe dir = /home/xen install-method = debootstrap size = 4Gb # Disk image size. memory = 256Mb # Memory size swap = 1Gb # Swap size fs = ext3 # use the EXT3 lesystem for the disk image. dist = 'xt-guess-suite-and-mirror suite' # Default distribution to install. dhcp = 1 passwd = 1 mirror_maverick = http ://nl.archive.ubuntu.com/ubuntu/ ext3_options = defaults pygrub=1 gateway = 192.168.1.1 netmask = 255.255.255.0 broadcast = 192.168.1.255 mirror_lenny = http ://cdn.debian.net/debian ext3_options = defaults pygrub=1 gateway = 192.168.1.1 netmask = 255.255.255.0 broadcast = 192.168.1.255

Crer une ou plusieurs machines virtuelles :

# xen-create-image hostname <hostname> dist lenny

- Le port 8775 doit tre ouvert. Installation : - Ouvrir Xen - Le paquet eucalyptus-nc est disponible partir du dpt. Pour l'installer avec
ses dpendances, il faut ajouter le dpt d'Eucalyptus au chier /etc/apt/sources.list : 65

Annexe

vim

/etc/apt/sources.list

Deb

http

://eucalyptussoftsqueeze main #

ware.com/downloads/repo/eucalyptus/$VERSION/debian/ apt-get update

Installation d'Eucalyptus sur le nud.

# aptitude install open-iscsi libcrypt-openssl-random-perl libcrypt-openssl-rsa-perl libcrypt-x509-perl eucalyptus-nc La dernire tape d'installation d'Eucalyptus est de s'assurer que le nud est congur pour interagir avec l'hyperviseur par l'intermdiaire de libvirt. Ainsi, sur le nud, nous devons vrier que le chier /etc/libvirt/libvirtd.conf contient les lignes suivantes :

unix_sock_group = "libvirt" unix_sock_ro_perms = "0777" unix_sock_rw_perms = "0770" auth_unix_ro = "none" auth_unix_rw = "none"

Redmarrer libvirtd.

# /etc/init.d/libvirt-bin stop # /etc/init.d/libvirt-bin start # chown root :libvirt /var/run/libvirt/libvirt-sock # chown root :libvirt /var/run/libvirt/libvirt-sock-ro

Activer le service node controller.

# /etc/init.d/eucalyptus-nc start

66

Annexe

.1.3 Etape 3 : Enregistrement et intgration des composants d'Eucalyptus


Sur la machine front end : # /usr/sbin/euca_conf register-walrus (front end IP address) # /usr/sbin/euca_conf register-cluster (clustername) (front end IP address) # /usr/sbin/euca_conf register-sc (clustername) (front end IP address) # /usr/sbin/euca_conf register-nodes (node IP address)

.1.4 Etape 4 : Utilisation d'Eucalyptus


Se connecter au Cloud travers l'URL https ://<ip front end> :8443/

Se connecter en tant qu'administrateur : Username = admin, Password = admin. Obtenir les certicats partir de l'onglet Credentials. Enregistrer les certicats dans la machine front end.

# mkdir /.euca # cd .euca # unzip (nom du chier zip).zip # chmod 0700 .euca # chmod 0600 .euca/* # . eucarc An de grer Eucalyptus (gestion des images, des instances, du stockage, du rseau, etc.), nous avons utilis l'outil euca2olls. # vim /etc/apt/sources.list deb http ://www.eucalyptussoftware.com/downloads/repo/euca2ools/1.3.1/debian squeeze main # aptitude update # aptitude install euca2ools python-boto

67

Rpublique Tunisienne Ministre de lEnseignement Suprieur, Et de la Recherche Scientifique

Ecole Doctorale Sciences et Technologies Mmoire de MASTERE


NTSID

Universit de Sfax cole Nationale dIngnieurs de Sfax

N dordre: 2011 63

tude et exprimentations du Cloud Computing pour le monitoring des applications orientes services Meriam MAHJOUB
:
. . . . . . ( 1) . .AOP4CSM ( 4) ( 3) AOP4CSM ( 2) . AOP4CSM

Rsum
Le Cloud Computing est un environnement logiciel puissant et flexible qui dlgue la gestion du matriel, et qu'on paie selon la consommation. La migration des applications d'entreprise sur cet environnement ne cesse de s'accentuer. Une grande partie de ces applications est offerte sous forme de services Web, qui standardisent l'accs la logique mtier via Internet. Cependant, ils ne peuvent tre considrs comme efficaces que s'ils rpondent temps aux contraintes des utilisateurs finaux tels que le temps de rponse. Ainsi, toute augmentation du temps de rponse d'un service Web est considre comme une dgradation de ses performances, voire mme une panne. Le monitoring de la qualit de service (QdS) constitue donc une tape primordiale pour la satisfaction des besoins des clients. L'objectif de ce travail est d'exprimenter sur un environnement de Cloud Computing l'approche AOP4CSM. Il s'agit d'une approche de monitoring de la QdS des services Web du Cloud qui est conue au sein de notre quipe de recherche. Le travail ralis permet de (1) apprhender lenvironnement du Cloud Computing, (2) montrer la faisabilit de AOP4CSM, (3) de l'exprimenter large chelle et de tester sa robustesse, (4) gnrer des courbes de rfrence de la QdS qui peuvent tre exploites soit pour l'analyse de l'tat, soit pour la slection du service Web.

Mots cls: Cloud Computing, Services Web, Qualit de Service, Monitoring, AOP4CSM, courbes de rfrence Abstract:
Cloud computing is a powerful and flexible software environment, which delegates the materials management and you pay as you go. The migration of enterprise applications on the Cloud is increasing. The majority of these applications are available as Web services that standardize access to business logic via the Internet. However, their efficiency depends on the rapidity of their answer to users constraints such as end-user response time. Thus, every increase in the response time of a Web service is considered as a degradation of its performances or even failure. As a result, monitoring quality of service (QoS) is a key feature in order to satisfy the client requirement. This project main objective is to experiment on Cloud Computing environments the AOP4CSM approach. It is an approach which monitors the QoS of Web services in the Cloud and it is designed in our research team. Our work allows (1) understanding the environment of the Cloud, (2) demonstrating the feasibility of AOP4CSM, (3) experimenting AOP4CSM on a large scale and test its robustness, (4) generating reference QoS curves that can be used either for the analysis or the selection of the Web service.

Key-words: Cloud Computing, Web Service, Quality of Service, Monitoring, AOP4CSM, reference curves