master cloud

77
Ecole Doctorale Sciences et Technologies Mémoire de MASTERE NTSID N° d’ordre: 2011 - 63 République Tunisienne Ministère de l’Enseignement Supérieur, Et de la Recherche Scientifique Université de Sfax École Nationale d’Ingénieurs de Sfax MEMOIRE Présenté à L’École Nationale d’Ingénieurs de Sfax en vue de l’obtention du MASTERE Nouvelles Technologies des Systèmes Informatiques Dédiés Par Meriam MAHJOUB (Ingénieur Informatique) Étude et expérimentations du Cloud Computing pour le monitoring des applications orientées services Soutenu le 03 septembre 2011, devant le jury composé de : M. Maher BEN JEMAA Président M. Maher KHEMAKHEM Rapporteur M. Mohamed JMAIEL Encadreur M. Riadh BEN HALIMA Invité Mlle. Afef MDHAFFAR Invitée

Upload: madecam11

Post on 20-Oct-2015

67 views

Category:

Documents


1 download

TRANSCRIPT

  • Ecole Doctorale Sciences et Technologies

    Mmoire de MASTERE

    NTSID

    N dordre: 2011 63

    Rpublique Tunisienne Ministre de lEnseignement Suprieur,

    Et de la Recherche Scientifique

    Universit de Sfax cole Nationale dIngnieurs de Sfax

    MEMOIRE

    Prsent

    Lcole Nationale dIngnieurs de Sfax

    en vue de lobtention du

    MASTERE

    Nouvelles Technologies des Systmes Informatiques Ddis

    Par

    Meriam MAHJOUB (Ingnieur Informatique)

    tude et exprimentations du Cloud Computing pour le monitoring des applications orientes services

    Soutenu le 03 septembre 2011, devant le jury compos de :

    M. Maher BEN JEMAA Prsident

    M. Maher KHEMAKHEM Rapporteur

    M. Mohamed JMAIEL Encadreur

    M. Riadh BEN HALIMA Invit

    Mlle. Afef MDHAFFAR Invite

  • A mes parents Zouhaier et Samia

    A mes surs Wafa et Rania

    A mon frre Mohamed

    A tous ceux qui comptent pour moi

    Je vous aime !

    i

  • Remerciements

    C'est avec un grand plaisir que je rserve cette page en signe de gratitude et

    de profonde reconnaissance tous ceux qui ont bien voulu apporter l'assistance

    ncessaire au bon droulement de ce travail.

    Je veux d'abord remercier mon encadreur M. Mohamed Jmaiel, professeur

    l'Ecole Nationale d'Ingnieurs de Sfax, pour la conance qu'il m'a accord en accep-

    tant de diriger mes travaux de mastre. Qu'il trouve dans ce travail l'expression de

    ma profonde gratitude.

    Mes vifs remerciements s'adressent galement M. Riadh Ben Halima, assistant

    l'Ecole Nationale d'Ingnieurs de Sfax, pour la qualit de son co-encadrement,

    ses remarques pertinentes et ses encouragements continus. J'apprcie ses grandes

    qualits morales et son extrme modestie. Qu'il trouve dans ce travail l'expression

    de mon profond respect et mon innie reconnaissance.

    Je remercie vivement Mlle. Afef Mdhaar pour son assistance et ses encourage-

    ments tout au long du mastre.

    Je tiens remercier M. Maher Ben Jemaa, matre de confrences l'Ecole Na-

    tionale d'Ingnieurs de Sfax pour l'honneur qu'il m'a fait en acceptant de prsider

    le jury de mon mastre.

    Je remercie galement M. Maher Khemakhem, matre de confrences l'Institut

    Suprieur de Gestion de Sousse, d'avoir accept de juger mes travaux de mastre.

    Je n'oublierais pas remercier les membres de l'unit de recherche ReDCAD,

    pour la bonne ambiance.

    Je remercie particulirement mes parents, mes surs et mon frre pour leur

    patience et leur soutien tout au long de ce mastre. Ainsi je tiens leur ddier ce

    modeste travail.

    ii

  • Table des matires

    Introduction gnrale 1

    1 Etat de l'art 3

    1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.2 Le Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.2.1 Les types de Cloud Computing . . . . . . . . . . . . . . . . . 4

    1.2.2 Les services de Cloud Computing . . . . . . . . . . . . . . . . 5

    1.3 La virtualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    1.3.1 Dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    1.3.2 Techniques de virtualisation . . . . . . . . . . . . . . . . . . . 7

    1.3.3 Solutions de virtualisation . . . . . . . . . . . . . . . . . . . . 11

    1.4 Solutions IaaS open source de Cloud Computing . . . . . . . . . . . 14

    1.4.1 Eucalyptus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    1.4.2 OpenNebula . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    1.4.3 Nimbus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    1.4.4 Xen Cloud Platform . . . . . . . . . . . . . . . . . . . . . . . 19

    1.4.5 AbiCloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    1.4.6 OpenStack . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    1.4.7 Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

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

    1.5.1 Amazon Web Services . . . . . . . . . . . . . . . . . . . . . . 27

    1.5.2 Microsoft Azure . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    1.5.3 Google App Engine . . . . . . . . . . . . . . . . . . . . . . . . 28

    1.5.4 Google Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    iii

  • TABLE DES MATIRES TABLE DES MATIRES

    1.5.5 Force.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    1.5.6 OVH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    1.5.7 Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    1.6 Cloud Computing et techniques de virtualisation . . . . . . . . . . . . 31

    1.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    2 Le Cloud Computing et les services Web 34

    2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    2.2 Les couches du Cloud Computing . . . . . . . . . . . . . . . . . . . . 34

    2.3 Les services Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    2.3.1 Dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    2.3.2 Cycle de vie d'un service Web . . . . . . . . . . . . . . . . . . 36

    2.3.3 Les concepts associs . . . . . . . . . . . . . . . . . . . . . . . 36

    2.4 Performance des services Web . . . . . . . . . . . . . . . . . . . . . . 37

    2.5 Techniques de mesure de la QdS . . . . . . . . . . . . . . . . . . . . . 39

    2.5.1 Le Timer insr dans le code . . . . . . . . . . . . . . . . . . . 39

    2.5.2 Utilisation de l'approche oriente aspect . . . . . . . . . . . . 39

    2.5.3 Autres techniques . . . . . . . . . . . . . . . . . . . . . . . . . 40

    2.6 Architecture de mesure de la qualit de service . . . . . . . . . . . . . 40

    2.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    3 Exprimentations et validation d'AOP4CSM sur le Cloud 43

    3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    3.2 Mise en place d'AOP4CSM . . . . . . . . . . . . . . . . . . . . . . . . 43

    3.2.1 Couche infrastructure . . . . . . . . . . . . . . . . . . . . . . . 43

    3.2.2 Couche plateforme . . . . . . . . . . . . . . . . . . . . . . . . 45

    3.2.3 Couche software . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    3.3 Environnement de dploiement . . . . . . . . . . . . . . . . . . . . . 46

    3.3.1 MiniCloud d'OVH . . . . . . . . . . . . . . . . . . . . . . . . 46

    3.3.2 Conguration et dploiement . . . . . . . . . . . . . . . . . . 47

    3.4 Exprimentations d'AOP4CSM . . . . . . . . . . . . . . . . . . . . . 48

    3.4.1 Rsultats exprimentaux . . . . . . . . . . . . . . . . . . . . . 48

    iv

  • Table des matires

    3.4.2 Surcot d'AOP4CSM . . . . . . . . . . . . . . . . . . . . . . . 53

    3.4.3 Synthse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    Conclusion gnrale et perspectives 55

    Bibliographie 57

    annexe 61

    .1 Etapes d'installation d'Eucalyptus . . . . . . . . . . . . . . . . . . . . 62

    .1.1 Etape 1 : Prparation du front end . . . . . . . . . . . . . . . 62

    .1.2 Etape 2 : Prparation du nud . . . . . . . . . . . . . . . . . 63

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

    calyptus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    .1.4 Etape 4 : Utilisation d'Eucalyptus . . . . . . . . . . . . . . . . 67

    v

  • Table des gures

    1.1 Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.2 Les dirents niveaux des services du Cloud Computing . . . . . . . . 6

    1.3 Isolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    1.4 Paravirtualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    1.5 Virtualisation complte . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    1.6 Architecture d'Eucalyptus . . . . . . . . . . . . . . . . . . . . . . . . 16

    1.7 Architecture d'OpenNebula . . . . . . . . . . . . . . . . . . . . . . . 17

    1.8 Architecture de Nimbus . . . . . . . . . . . . . . . . . . . . . . . . . 18

    1.9 Architecture de Xen Cloud Platform . . . . . . . . . . . . . . . . . . 19

    1.10 Architecture d'AbiCloud . . . . . . . . . . . . . . . . . . . . . . . . . 20

    1.11 Architecture d'OpenStack . . . . . . . . . . . . . . . . . . . . . . . . 22

    2.1 Architecture gnrale du Cloud Computing . . . . . . . . . . . . . . . 35

    2.2 Cycle de vie d'un service Web . . . . . . . . . . . . . . . . . . . . . . 37

    2.3 Architecture de mesure de la QdS . . . . . . . . . . . . . . . . . . . . 38

    2.4 Architecture de dploiement d'AOP4CSM . . . . . . . . . . . . . . . 41

    3.1 Composants d'Eucalyptus . . . . . . . . . . . . . . . . . . . . . . . . 45

    3.2 Architecture de dploiement sur le Cloud . . . . . . . . . . . . . . . . 47

    3.3 Evolution du temps de rponse . . . . . . . . . . . . . . . . . . . . . 50

    3.4 Evolution du temps d'excution . . . . . . . . . . . . . . . . . . . . . 51

    3.5 Evolution du temps de communication . . . . . . . . . . . . . . . . . 51

    3.6 Reprsentation des requtes servies en fonction du nombre de clients . 52

    3.7 Mesure de la disponibilit . . . . . . . . . . . . . . . . . . . . . . . . 53

    vi

  • Table des figures

    3.8 Evolution du temps de rponse avec et sans AOP4CSM . . . . . . . . 54

    vii

  • Liste des tableaux

    1.1 Techniques de virtualisation . . . . . . . . . . . . . . . . . . . . . . . 10

    1.2 Solutions de virtualisation . . . . . . . . . . . . . . . . . . . . . . . . 13

    1.3 Solutions IaaS open source de Cloud Computing . . . . . . . . . . . . 24

    1.4 Acteurs du Cloud Computing . . . . . . . . . . . . . . . . . . . . . . 30

    1.5 Cloud Computing et techniques de virtualisation utilises . . . . . . . 32

    3.1 Conguration matrielle ncessaire pour la mise en place d'un Cloud

    avec Eucalyptus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    3.2 Conguration matrielle et logicielle . . . . . . . . . . . . . . . . . . . 47

    3.3 Les mesures de la QdS . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    3.4 Comparaison des rsultats avec et sans AOP4CSM . . . . . . . . . . 54

    viii

  • Introduction Gnrale

    Avec la gnralisation d'Internet, le dveloppement des rseaux haut dbit, la

    location d'application et le paiement l'usage rsultent de l'apparition d'un nouveau

    concept : Le "Cloud Computing". Celui-ci consiste en une interconnexion et une

    coopration de ressources informatiques, situes dans diverses structures internes,

    externes ou mixtes et dont le mode d'accs est bas sur les protocoles et standards

    Internet. Le Cloud Computing est devenu ainsi, le sujet le plus dbattu aujourd'hui

    dans le secteur des technologies de l'information. Le consensus qui se dgage est que

    le Cloud Computing jouera un rle de plus en plus important dans les oprations

    informatiques des entreprises au cours des annes venir. C'est pour cela que ce

    travail de mastre s'intresse au concept du Cloud Computing. Ainsi, nous avons

    men une tude exhaustive sur les alternatives open-sources des plateformes du

    Cloud Computing. Ceci nous a permis d'avoir et de prsenter une ide riche sur les

    techniques disponibles pour la cration d'un environnement du Cloud.

    En outre, le succs de la technologie d'Internet a apport une nouvelle branche

    de composants logiciels, connue sous le nom de services Web. Les services Web

    demeurent aujourd'hui un acteur majeur dans la mise en uvre des applications

    distribues. Outre leur capacit d'interconnecter diverses donnes dans des milieux

    htrognes, ils sont caractriss par leur rutilisabilit ainsi que leur indpendance

    de la plateforme de dploiement. Avec la prolifration du Cloud Computing, les

    fournisseurs de service ont tendance dployer leurs services sur ce nouvel environ-

    nement.

    Cependant, les services Web ne peuvent tre considrs comme ecaces que

    s'ils rpondent temps aux contraintes des utilisateurs naux tels que le temps

    de rponse. Ainsi, toute augmentation du temps de rponse d'un service Web est

    1

  • Introduction Gnrale

    considre comme une dgradation de ses performances, voire mme une panne.

    Le monitoring de la Qualit de Service (QdS) constitue donc une tape primor-

    diale pour la satisfaction des besoins des clients. Plusieurs solutions de monitoring

    existent actuellement. Parmi les quelles, nous citons AOP4CSM [39], une approche

    de monitoring dveloppe au sein de l'quipe ReDCAD. Il s'agit d'une approche non

    invasive, conue principalement pour les services du Cloud et permettant la collecte

    des paramtres de la QdS. L'objectif de ce travail est d'exprimenter sur les envi-

    ronnements du Cloud Computing l'approche AOP4CSM [39] et de montrer par la

    suite son ecacit.

    Pour ce faire, nous avons opt pour une solution IaaS commerciale du Cloud

    Computing pour mette en place notre propre environnement du Cloud savoir le

    MiniCloud d'OVH. Ainsi, nous avons ralis des exprimentations l'chelle du

    Cloud Computing (MiniCloud d'OVH) pour valider AOP4CSM [39]. En se basant

    sur des mesures rptes plusieurs fois, nous avons dgag les courbes de variation

    de la QdS qui peuvent tre utilises par la suite comme rfrences soit lors de la

    dcouverte soit lors d'une analyse de l'tat du service.

    Le prsent travail s'articule autour de trois chapitres : Dans le premier chapitre,

    nous expliquons, d'une part, quelques gnralits propos du Cloud Computing et

    d'autre part, tudions et prsentons des solutions du Cloud Computing existantes.

    Le deuxime chapitre dtaille la notion de la qualit de service dans les services Web

    ainsi que les techniques existantes pour les observer. De plus, il prsente les dtails de

    notre propre contribution savoir notre architecture d'exprimentation sur le Cloud

    Computing. Le dernier chapitre est consacr la description des exprimentations

    eectues ainsi que l'analyse et l'interprtation des rsultats obtenus. Ce rapport est

    cltur par une conclusion et des perspectives.

    2

  • Chapitre

    1

    Etat de l'art

    1.1 Introduction

    Le Cloud Computing est un concept qui regroupe plusieurs technologies servant

    dlivrer dirents services. Il peut tre schmatis par un ensemble indtermin

    de ressources informatiques interconnectes dans un rseau bien dni (gure 1.1).

    L'accs aux services se fait la demande par une application standard facilement

    disponible savoir, un navigateur Web. Il est devenu un concept majeur faisant

    rfrence l'utilisation de la mmoire et des capacits de calcul des ordinateurs et

    des serveurs rpartis dans le monde entier.

    Cloud

    Figure 1.1 Cloud Computing

    Le Cloud Computing est un passage de l'informatique vers Internet. Les utilisa-

    teurs ne sont plus propritaires de leurs serveurs informatiques mais peuvent accder

    de manire volutive de nombreux services en ligne sans avoir grer l'infrastruc-

    ture sous-jacente, souvent complexe. Les entreprises, dans ce cadre, n'auraient plus

    besoin de salles blanches ni de serveurs ni d'informaticiens. Toutes les applications

    3

  • Chapitre 1. Etat de l'art

    sont loues et excutes au travers des navigateurs ou des serveurs d'applications.

    1.2 Le Cloud Computing

    1.2.1 Les types de Cloud Computing

    Nous distinguons trois types de Cloud Computing. Le Cloud publique, galement

    le premier apparu, le Cloud priv et le Cloud hybride qui est en fait la combinaison

    des deux premiers.

    Le Cloud publique

    Le principe est d'hberger des applications, en gnral des applications Web, sur

    un environnement partag avec un nombre illimit d'utilisateurs. La mise en place de

    ce type de Cloud est gre par des entreprises tierces (exemple Amazon, Google, etc.)

    et est accessible selon le modle pay-as-you-go (payer selon la consommation) [15].

    Les fournisseurs du Cloud publique les plus connus sont Google et Amazon.

    Le Cloud priv

    C'est un environnement dploy au sein d'une entreprise. Ainsi, elle doit grer

    toute seule son infrastructure. Dans ce cas, implmenter un Cloud priv signie

    transformer l'infrastructure interne en utilisant les technologies telles que la virtua-

    lisation pour enn dlivrer, plus simplement et plus rapidement, des services la

    demande. L'avantage de ce type de Cloud par rapport au Cloud publique rside

    dans l'aspect de la scurit et la protection des donnes [15]. En eet, l'ensemble du

    matriel est conserv au sein de votre propre emplacement. De ce fait, les ressources

    sont dtenues et contrles par votre propre dpartement informatique.

    Eucalyptus, OpenNebula et OpenStack sont des exemples de solution pour la mise

    en place du Cloud priv.

    4

  • Chapitre 1. Etat de l'art

    Le Cloud hybride

    En gnral, on entend par Cloud hybride la cohabitation et la communication

    entre un Cloud priv et un Cloud publique dans une organisation partageant des

    donnes et des applications (Par exemple, un Cloud ddi pour les donnes et un

    autre pour les applications) [15].

    1.2.2 Les services de Cloud Computing

    Le Cloud Computing permet aux entreprises de consommer des services la

    demande. Les fournisseurs du Cloud distinguent trois services.

    Infrastructure as a Service (IaaS)

    Il s'agit d'une mise disposition, la demande, de ressources d'infrastructures

    (stockage, machines virtuelles, systme d'exploitation (SE), etc.) dont la plus grande

    partie est localise distance dans des Datacenter

    1

    . Dans ce type de service, seul le

    matriel est dmatrialis

    2

    [5].

    Amazon EC2 (Amazon Elastic Compute Cloud) est un exemple d'IaaS qui per-

    met de louer des machines virtuelles de tailles prdnies pour excuter des appli-

    cations.

    Plateforme as a Service (PaaS)

    Le PaaS dispose d'environnements spcialiss au dveloppement comprenant les

    langages, les outils et les modules ncessaires. Dans ce type de service le matriel,

    l'hbergement et le Framework d'application sont dmatrialiss [5].

    Hadoop est un exemple de PaaS destin aux applications distribues et la

    gestion intensive des quantits immenses de donnes.

    1. Centre de traitement des donnes : lieu o se trouvent dirents quipements lectroniques,

    surtout des ordinateurs et des quipements de tlcommunications

    2. Plutt que d'investir dans des serveurs, le Cloud Computing permet de disposer de tout ses

    serveurs virtuels hbergs sur Internet

    5

  • Chapitre 1. Etat de l'art

    Software as a Service (SaaS)

    Sans aucune installation d'application sur l'ordinateur, le logiciel (Software) est

    directement utilisable travers le navigateur Web comme service nal. Ainsi, l'utili-

    sation reste transparente pour les utilisateurs, qui ne se soucient ni de la plateforme

    ni du matriel. Le matriel, l'hbergement, le Framework d'application et le logiciel

    sont dmatrialiss [5].

    Amazon S3 (Amazon Simple Storage Service) est un exemple de SaaS qui est une

    plateforme de stockage en ligne. Il utilise une interface Web pour stocker et extraire

    les donnes.

    La gure 1.2 montre les trois couches du Cloud Computing ainsi que leurs acteurs

    en donnant un compromis exibilit/simplicit.

    En Cloud, la exibilit est obtenue grce la virtualisation des systmes d'ex-

    ploitation. La plateforme est excute via des machines virtuelles et les ressources

    peuvent tres alloues et dlibres la demande. Ainsi, l'IaaS est considr le ser-

    vice le plus exible. D'autre part, l'IaaS est le service le plus simple mettre en

    place.

    Figure 1.2 Les dirents niveaux des services du Cloud Computing

    Les principes du Cloud Computing incluent :

    - La virtualisation et l'automatisation ;

    6

  • Chapitre 1. Etat de l'art

    - Une administration centralise des ressources.

    1.3 La virtualisation

    1.3.1 Dnition

    La virtualisation est l'ensemble de techniques et d'outils permettant de faire

    tourner plusieurs systmes d'exploitation sur une mme machine physique an de

    dlivrer une meilleure utilisation des ressources. Cette technologie vient pour r-

    pondre certains problmes tels que :

    - La sous exploitation des serveurs physiques : il est estim que dans un

    Datacenter priv, le taux d'utilisation moyen est de 10%. Celui-ci passe 35%

    sur une architecture virtuelle [27].

    - La croissance du nombre de serveurs physiques : les ressources physiques

    d'un serveur seront partages entre dirents serveurs virtuels ce qui permet

    de ne pas acheter plusieurs serveurs physiques.

    - La scurit et la abilit : isoler les services sur des serveurs dirents.

    Dans les systmes de virtualisation, il faut noter les notions suivantes :

    - SE hte : le systme d'exploitation install sur la machine physique ;

    - SE invit : les systmes d'exploitation des machines virtuelles ;

    - Partage des ressources physiques : les direntes machines virtuelles ins-

    talles sur le serveur partagent ces ressources savoir le processeur, les disques

    durs et d'autres priphriques ;

    - Isolation : les machines virtuelles sont considres comme des ordinateurs

    physiques et donc possdent chacune sa propre adresse IP ;

    - Manipulation des machines virtuelles : une machine virtuelle est un chier

    situ sur un disque du serveur.

    1.3.2 Techniques de virtualisation

    La virtualisation permet de cohabiter plusieurs systmes d'exploitation compl-

    tement isols dans un mme hte [9].

    7

  • Chapitre 1. Etat de l'art

    On distingue plusieurs techniques de virtualisation savoir : l'isolation, la para-

    virtualisation et la virtualisation complte. Ces trois techniques sont dtailles dans

    ce qui suit.

    L'isolation

    L'isolation permet de diviser un systme d'exploitation en plusieurs espaces m-

    moires ou encore contextes. Chaque contexte est gr par le SE hte. Cette isolation

    permet de faire tourner plusieurs fois la mme application prvue pour ne tourner

    qu'une seule fois par machine.

    Les programmes de chaque contexte ne sont capables de communiquer qu'avec

    les processus et les ressources associes leur propre contexte [9]. L'isolation est

    uniquement lie aux systmes Linux.

    La gure 1.3 prsente l'architecture de la technique d'isolation.

    Figure 1.3 Isolation

    La paravirtualisation (virtualisation type 1)

    La paravirtualisation est une technique de virtualisation qui prsente la machine

    invite une interface logicielle similaire mais non identique au matriel rel. Ainsi, elle

    permet aux systmes d'exploitation invits d'interagir directement avec le systme

    d'exploitation hte et donc ils seront conscients de la virtualisation [9].

    La gure 1.4 prsente l'architecture d'une virtualisation type 1.

    La virtualisation complte (virtualisation type 2)

    La virtualisation complte (en anglais full-virtualization) est une technique de

    virtualisation qui permet de crer un environnement virtuel complet. En utilisant

    8

  • Chapitre 1. Etat de l'art

    Figure 1.4 Paravirtualisation

    cette technique, le systme d'exploitation invit n'interagit pas directement avec le

    systme d'exploitation hte et donc il croit s'excuter sur une vritable machine

    physique.

    Cette technique de virtualisation ne permet de virtualiser que des SE de mme

    architecture matrielle que l'hte [9].

    La gure 1.5 prsente l'architecture d'une virtualisation type 2.

    Figure 1.5 Virtualisation complte

    Dans certaines architectures matrielles, le support de virtualisation est intgr

    avec le processeur. Les exemples les plus connus du march sont : AMD-V et Intel

    VT.

    Synthse

    Nous venons d'tudier trois techniques de virtualisation savoir l'isolation, la

    paravirtualisation et la virtualisation complte. Chaque technique possde ses points

    forts et ses points faibles. De ce fait, le choix d'un systme de virtualisation adapt

    9

  • Chapitre 1. Etat de l'art

    ses besoins apparait assez complexe. Pour essayer de guider l'utilisateur choisir

    la solution la plus convenable son contexte, nous avons dress le tableau 1.1.

    Table 1.1 Techniques de virtualisation

    Isolation Paravirtualisation Virtualisation complte

    Type des SE

    invits

    Mme type (Linux)

    Type dirent mais avec une

    architecture identique (doit

    tre adapte la couche de

    virtualisation > conscient

    d'tre virtualiss)

    Type dirent mais avec une

    architecture identique (n'est

    pas adapte la couche de

    virtualisation > croit dialo-

    guer directement avec le ma-

    triel)

    Performance

    ++ (Faible sur-

    cot)

    +++ (SE invits fonc-

    tionnent en ayant conscience

    d'tre virtualiss)

    + (L'unit centrale de cal-

    cul, c'est--dire le CPU, la

    RAM ainsi que la mmoire

    de stockage sont directement

    accessibles aux machines vir-

    tuelles)

    Simplicite +++ + ++

    Exemples OpenVZ Xen, HyperV KVM, VirtualBox

    En conclusion, nous pouvons dire que :

    - L'isolation est considre comme la solution la plus performante. Cependant

    son inconvnient rside sur le fait qu'elle est incomplte ainsi, le SE doit tre

    le mme et de type Linux.

    - La paravirtualisation suppose que le noyau du SE invit soit lgrement mo-

    di. De ce fait, si le systme ne dispose pas de fonctions ddies la para-

    virtualisation dans son noyau, cette technique devient inutilisable. L'objectif

    majeur de cette technique est d'orir un accs quasi identique aux ressources

    matrielles entre systme hte et systme invit.

    - La virtualisation complte permet d'excuter le SE invit de manire native

    sans modication. En revanche, cette solution est considre comme la moins

    performante puisque le systme invit ne participe pas au processus de virtuali-

    sation et doit traverser la couches de virtualisation pour accder aux ressources

    matrielles.

    10

  • Chapitre 1. Etat de l'art

    1.3.3 Solutions de virtualisation

    Dans cette section, nous prsentons les outils de virtualisation les plus utilis qui

    sont : OpenVZ, Xen, KVM, VirtualBox, VMware et HyperV.

    OpenVZ

    OpenVZ est une solution de virtualisation de type isolation base sur le noyau

    linux et permettant un serveur physique d'excuter plusieurs instances de systmes

    d'exploitation isols. OpenVZ ore moins de exibilit dans le choix du systme

    d'exploitation. En eet, le systme d'exploitation invit et hte doivent tre de type

    Linux.

    Xen

    Xen est une solution libre de virtualisation permettant de faire tourner plusieurs

    systmes d'exploitation sur une mme machine physique. Il est de type hyperviseur,

    c'est dire qu'il vient s'insrer entre le matriel et le noyau. Xen est considr

    comme une solution base de paravirtualisation, car les systmes invits doivent

    tre modis pour cohabiter [28].

    KVM

    KVM est un projet de virtualisation complte qui est actuellement en dveloppe-

    ment pour un module de paravirtualisation. Il est intgr depuis le noyau Linux2.6.20

    et permettant une virtualisation matrielle des processeurs. Ainsi, il ne fonctionne

    que sur un processeur de type Intel VT ou AMD-V [12].

    VirtualBox

    VirtualBox est une solution de virtualisation permettant d'muler le comporte-

    ment d'un ordinateur rel auprs du systme invit [24]. Il est considr comme une

    solution de virtualisation complte.

    11

  • Chapitre 1. Etat de l'art

    VMware Server

    VMware est une socit qui ore des produits propritaires lis la virtualisation

    d'architectures x86. Elle est leader dans le march de la virtualisation pour PC. Son

    produit de virtualisation VMware Server est de type virtualisation complte pour

    serveur sous GNU/Linux et/ou Microsoft Windows [25].

    HyperV

    HyperV est une solution de virtualisation base sur la virtualisation 64 bits pour

    Microsoft. Il est considr comme une solution de paravirtualisation [14].

    Synthse

    Le tableau 1.2 montre une tude comparative de ces direntes solutions de

    virtualisation.

    12

  • Chapitre 1. Etat de l'art

    Table1.2Solutionsdevirtualisation

    OpenVZ[3][20][36]Xen[23][28][3][36]KVM[12][3][36]VirtualBox[3][3][24][35]VMwareServer[24][32]HyperV[32]

    DveloppparSWsoftUniversitdeCambridgeQumranetenIsralInnotek(rachetparSun)VMwareMicrosoft

    Systmesd'ex-

    ploitationhtes

    TouteslesdistributionsLi-

    nux

    Linux(certainesversions

    spciques)

    Linux(intgrerdansle

    noyau)

    TouteslesversionsWin-

    dowsetLinux,Macintosh

    etOpenSolaris

    Laplupartdesversions

    Windows,LinuxetMacOS

    -WindowsXP,Vista,7

    -SUSELinuxEntreprise

    Server

    -RedHadLinuxEntre-

    prise

    Systmesd'ex-

    ploitationinvi-

    tscompatibles

    Linux(mmetypequece-

    luidusystmehte)

    TouteslesversionsWin-

    dows,LinuxetSolaris

    Toutsystmed'exploita-

    tion

    -Touteslesversions

    WindowsetLinux

    -Solaris

    -WindowsXP

    -OpenSolaris

    -OpenBSD

    -Windows2000,XP,

    Vista,7

    -Linux(2.4and2.6)

    -Solaris

    -FreeSDB

    -WindowsXP,vista,7

    -SUSELinuxEntreprise

    Server

    -RedHadEntrepriseLi-

    nux

    Typedevirtua-

    lisation

    Isolateur

    -Paravirtualisation(SE

    modi)

    -Virtualisationcomplte

    (surdesprocesseurs

    supportantlestech-

    nologiesInetlVTet

    AMD-V)

    -Paravirtualisation(SE

    modi)

    -Virtualisationcomplte

    (encoursdedveloppe-

    ment)

    Virtualisationcomplte

    (SEnonmodi)

    Virtualisationcomplte

    (SEnonmodi)

    Paravirtualisation

    Plateforme

    -x86(processeur32bits)

    -AMD64/Intel64(pro-

    cesseur64bits)

    -x86(processeur32

    bits),x64(processeur

    64bits)

    -PowerAMC(processeur

    architecturepower)

    -ARM

    X86(processeur32bits)

    -x86(processeur32bits)

    -AMD64/Intel64(pro-

    cesseur64bits)

    x64(processeur64bits)x64(processeur64bits)

    Contrainte

    matrielle(vir-

    tualisation

    enabled)

    Avec/sansAvec/sansAvecAvec/sansAvec/sansAvec

    Migration

    chaudde

    machinesvir-

    tuelles

    33

    33

    38

    Utilisationdans

    leCloud

    Amazon,Cloud.com,Go-

    Grid,Rackspace

    Google,SalesforceMicrosoftAzure

    Gratuit-PayantGratuit(LicenceGPL)Gratuit(LicenceGPL)Gratuit(LicenceGPL)Gratuit(LicenceGPL)PayantPayant

    13

  • Chapitre 1. Etat de l'art

    Ces solutions utilisent des techniques de virtualisation varies. Certaines parmis

    elles permettent de faire cohabiter plusieurs SE dans un seul serveur physique (Xen,

    KVM, VMware, VirtualBox). D'autres solutions permettent un unique systme

    d'tre excut plusieurs fois dans un mode multi-instance (OpenVZ). Certaines s'ap-

    puient sur les capacits du matriel (KVM) alors que d'autres ncessitent un systme

    d'exploitation modi pour cohabiter avec la solution de virtualisation (Xen).

    Parmi les solutions tudies :

    - Xen s'avre la solution la plus complexe de point de vue technique mais c'est

    la solution la plus performante et la plus complte du march. Elle est aussi

    la solution la plus utilise dans le Cloud.

    - KVM est plus simple utiliser que Xen mais, il est moins performant. Le point

    faible de cette solution de virtualisation est le fait qu'il exige un matriel ddi

    la virtualisation.

    - OpenVZ est une solution performante mais elle prsente des problmes de

    compatibilit. En eet, OpenVZ ne fonctionne que sur des machines supportant

    un systme d'exploitation Linux.

    - VirtualBox est une solution complte qui peut fonctionner sur tout systme

    d'exploitation y compris les systmes Macintosh.

    - VMware Server est la premire solution utilise dans le domaine de Cloud

    Computing .

    1.4 Solutions IaaS open source de Cloud Computing

    Le Cloud Computing reprsente un nouveau d dans le monde informatique.

    Plusieurs solutions sont proposes : des solutions propritaires et des solutions open-

    sources. La mise en place d'un environnement du Cloud Computing pour des buts

    de recherche ncessite initialement le choix d'une solution open source et puis son

    installation. La dcision est souvent trs dicile prendre puisque chaque solution

    possde ses propres caractristiques.

    Une comparaison des solutions du Cloud Computing reprsente donc un bon

    point de dpart. Voici un panorama de six outils open-sources de Cloud Compu-

    14

  • Chapitre 1. Etat de l'art

    ting orant une infrastructure comme service et permettant une gestion simplie

    d'architectures matrielles complexes.

    1.4.1 Eucalyptus

    Prsentation

    Eucalyptus est un outil open source issue d'un projet de recherche de l'univer-

    sit de Californie. Cette solution est la plus connue, car elle est intgre dans les

    distributions Ubuntu Server et Debian [8].

    Eucalyptus est crit en C, Java et Python et permet de crer des Clouds IaaS

    de type priv ou hybride. Il supporte les machines virtuelles Linux ainsi que les hy-

    perviseurs Xen et KVM. Son avantage majeur est le fait qu'il est compatible avec

    Amazon EC2. Il possde galement une version entreprise (payante) de la socit Eu-

    calyptus Systems qui apporte des fonctionnalits supplmentaires comme le support

    de VMware.

    Architecture

    Eucalyptus comporte cinq composants principaux (gure 1.6) :

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

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

    de tout le systme.

    - Cluster Controller : il conserve les informations relatives aux ressources

    physiques.

    - Node Controler : il interagit avec l'hyperviseur pour grer les machines vir-

    tuelles. Lors d'une demande d'allocation de ressources physiques par le Cloud

    Controller, c'est le Cluster Controller qui alloue les ressources en sollicitant

    les Nodes Controllers.

    - Walrus : c'est le composant qui gre l'accs aux services de stockage.

    - Storage Controller : ce composant fonctionne avec le composant Walrus

    et permet de stocker les images des machines virtuelles et les donnes des

    utilisateurs.

    15

  • Chapitre 1. Etat de l'art

    Figure 1.6 Architecture d'Eucalyptus

    1.4.2 OpenNebula

    Prsentation

    Il s'agit d'une plateforme purement open-source permettant de dployer des

    Clouds privs, hybrides et publiques [18]. Elle est crite en C++, Ruby et Shell

    et elle supporte les hyperviseurs Xen, KVM et VMware. Le support de Virtualbox

    est prvu partir de la vrsion 4.0 de VirtualBox. Sa puissance consiste dans ses

    connecteurs vers des fournisseurs d'IaaS sur les Clouds publiques tels que : Amazon

    EC2 Web Service, Nimbus WSRF, ElasticHosts REST, etc.

    OpenNebula est soutenu par le projet europen RESERVOIR

    3

    , qui propose une

    architecture complte pour la gestion de Datacenter et la cration de services Cloud.

    Architecture

    L'architecture interne d'OpenNebula peut tre divise en trois couches (gure 1.7) :

    - Tools : c'est l'ensemble des outils de gestion pour OpenNebula ;

    - Core : il se compose d'un ensemble de composants pour contrler les machines

    virtuelles, le stockage et le rseau virtuel ;

    - Drivers : l'interaction entre OpenNebula et l'infrastructure de Cloud est ef-

    3. http ://www.reservoir-fp7.eu/

    16

  • Chapitre 1. Etat de l'art

    fectue par des pilotes spciques qui sont les drivers.

    Les machine Front end et Node sont relis entre eux travers un rseau priv.

    Figure 1.7 Architecture d'OpenNebula

    1.4.3 Nimbus

    Prsentation

    Issu du monde de la recherche, Nimbus permet de dployer un Cloud de type

    IaaS [17]. Cette plateforme supporte les hyperviseurs Xen et KVM, et peut s'inter-

    facer avec le Cloud Amazon EC2. Elle est associe au projet Cumulus

    4

    , qui permet

    de dployer des services de stockage en Cloud, compatible avec le Cloud Amazon S3.

    Architecture

    Nimbus comprend plusieurs composants qui peuvent tre regroups selon trois

    contextes comme le montre la gure 1.8. Ces composants sont relis entre eux

    travers un rseau priv.

    4. http ://www.roehampton.ac.uk/cumulus/

    17

  • Chapitre 1. Etat de l'art

    - Client-supported modules : il est utilis pour grer les clients du Cloud. Il

    comprend le context client module, le Cloud client module, le reference client

    module et l'EC2 client module.

    - Service-supported modules : il fournit tous les services du Cloud. Il com-

    prend le context brocker module, le Web service resource Framework module.

    - Backgroud resource management modules : son rle est de grer les res-

    sources physiques du Cloud. Il comprend dierents modules savoir : works-

    pace service manager module, IaaS gateway module, EC2 module, workspace

    pilot module, workspace resource management module et workspace controller.

    Figure 1.8 Architecture de Nimbus

    18

  • Chapitre 1. Etat de l'art

    1.4.4 Xen Cloud Platform

    Prsentation

    Xen Cloud Platform (XCP) est une plateforme open-source du Cloud Computing

    dveloppe par la communaut Xen et distribue sous licence GPL

    5

    . Elle a pour but

    de proposer une plateforme open-source gratuite pour construire et faire dialoguer

    des services du Cloud Computing [29].

    Architecture

    Les composants principaux de Xen Cloud Platform sont :

    - XCP Host : il consiste en un systme d'exploitation Xen.

    - Master XCP Host : il gre les XCP hosts.

    - Shared storage : c'est un composant optionnel o sont stockes les machines

    virtuelles. Ce composant permet aux administrateurs de dplacer des machines

    virtuelles d'un XCP host un autre.

    La gure 1.9 montre l'architecture de Xen Cloud Platform.

    Figure 1.9 Architecture de Xen Cloud Platform

    5. Une licence qui xe les conditions lgales de distribution des logiciels libres du projet GNU

    19

  • Chapitre 1. Etat de l'art

    1.4.5 AbiCloud

    Prsentation

    AbiCloud, principalement dvelopp par Abiquo, est la plateforme du Cloud Com-

    puting permettant de crer et de grer des Cloud publiques, privs et hybrides [1].

    Architecture

    AbiCloud se compose principalement de trois lments (gure 1.10) :

    - AbiCloud server : il consiste en un systme d'exploitation Xen.

    - AbiCloud WS (AWS) : il est responsable de la gestion des machines vir-

    tuelles.

    - Virtual System Monitor (VSM) WS : c'est le composant qui permet de

    suivre toute l'infrastructure virtuelle du Cloud.

    Figure 1.10 Architecture d'AbiCloud

    20

  • Chapitre 1. Etat de l'art

    1.4.6 OpenStack

    Prsentation

    Cr en juillet 2010 par la NASA et l'hbergeur amricain Rackspace, OpenStack

    est une ore d'IaaS 100% open-source encore en dveloppement qui a livr son code

    source rcemment et qui permet aux socits de dvelopper leurs propres solutions

    d'infrastructure du Cloud Computing [19].

    Plus que trente fournisseurs soutiennent ce projet tels que : AMD, Intel, Dell

    et Citrix. OpenStack devrait galement tre intgr dans les prochaines versions

    d'Ubuntu comme c'est le cas pour Eucalyptus. Il comprend le logiciel OpenStack

    Compute pour la cration automatique et la gestion de grands groupes de serveurs

    privs virtuels et le logiciel OpenStack Stockage pour optimiser la gestion de sto-

    ckage, rpliquer le contenu sur dirents serveurs et le mettre disposition pour une

    utilisation massive de donnes.

    Architecture

    - OpenStack Compute : c'est le contrleur du Cloud. Il est utilis pour d-

    marrer des instances virtuelles et congurer le rseau pour chaque instance.

    - OpenStack Object Storage : c'est un systme pour stocker des objets de

    capacit massivement volutive.

    - OpenStack Imaging Service : il permet de rcuprer les machines virtuelles.

    La gure 1.11 montre les relations fondamentales entre ses dirents composants.

    An de caractriser chaque solution et permettre le choix adquat pour la construc-

    tion d'un Cloud, nous avons ralis une tude comparative de ses six solutions en se

    basant sur dirents critres de classication :

    - Produit par : la socit qui a produit la solution.

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

    - Le domaine d'utilisation : le Cloud Computing est prsent dans plusieurs

    domaines d'utilisation. Ainsi, il serait important de prsenter le contexte de

    chaque solution an d'aider les fournisseurs bien choisir celle qui rpond le

    plus leurs besoins.

    21

  • Chapitre 1. Etat de l'art

    Figure 1.11 Architecture d'OpenStack

    - L'architecture : c'est la structure du systme qui comprend les ressources

    matrielles et logicielles et l'interaction entre eux.

    - Systmes d'exploitation supports : pour construire un Cloud Com-

    puting, on doit disposer d'un systme d'exploitation qui gre les ressources

    physiques en permettant leur allocation et leur partage.

    - Langage de programmation : il reprsente le langage de programmation

    avec lequel la solution est implmente.

    - Stockage : pour grer des grands volumes de donnes, la solution la plus

    conomique, qui connat galement l'heure actuelle un vif succs, est le Cloud

    Computing.

    - Rseau : dans le Cloud Computing, nous entendons par rseau, le rseau des

    machines virtuelles.

    - L'interface utilisateur : l'interface utilisateur reprsente l'interface de

    communication entre l'utilisateur et le Cloud.

    - Scurit : le Cloud Computing apparait comme une opportunit formidable

    pour les entreprises mais, pose logiquement la question de scurit. Il est donc

    essentiel de protger les ressources et de contrler l'accs des utilisateurs et des

    administrateurs au systme du Cloud Computing.

    22

  • Chapitre 1. Etat de l'art

    - Equilibrage de charge : un des aspects les plus importants est la capacit

    de rpondre aux requtes dans un temps acceptable, mme en cas d'auence

    massive. L'quilibrage de charge consiste alors distribuer une tche un

    ensemble de serveurs ou de priphriques an de rpartir la charge globale

    vers dirents quipements et de s'assurer de leur disponibilit.

    - Tolrance aux pannes : c'est la capacit d'un systme fonctionner malgr

    une dfaillance d'un de ses composants.

    - Migration des machines virtuelles : c'est le fait de dplacer des ma-

    chines virtuelles d'un serveur physique un autre. On distingue deux types

    de migration, savoir la migration chaud qui se fait lors de l'excution des

    machines virtuelles et la migration froid qui ne peut tre ralise qu'aprs

    l'arrt de la machine virtuelle dplacer.

    - Emplacement des machines virtuelles : savoir l'emplacement des ma-

    chines virtuelles permet de garantir une utilisation optimale des ressources.

    - Compatibilit avec Amazon EC2 : Amazon EC2 est la solution d'infra-

    structure du Cloud Computing la plus connue et la plus utilise. Ainsi, il serait

    intressant d'tudier la compatibilit des solutions d'IaaS du Cloud Computing

    par rapport Amazon EC2.

    - Utilisation dans le march : l'ensemble des solutions du Cloud Computing

    du march qui utilisent chacunes des solutions IaaS du Cloud dj tudi. Cette

    information permet de bien mettre en valeur ces solutions IaaS.

    1.4.7 Synthse

    Le tableau 1.3 montre une tude comparative entre les direntes solutions IaaS

    open-sources de Cloud Computing.

    23

  • Chapitre 1. Etat de l'art

    Table1.3SolutionsIaaSopensourcedeCloudComputing

    Eucalyptus

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

    OpenNebula

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

    Nimbus

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

    XenCloudPlatform

    [28][29][31][40][42]

    AbiCloud

    [1][41][31][43][37][34]

    OpenStack[19]

    Produitpar

    -Apparuaudbutpar

    l'universitSantaBarbara

    del'universitdeCalifor-

    nie

    -EucalyptusSystemCom-

    pany

    L'unionEuropenne

    Chercheursdel'univer-

    sitdeChicago

    CitrixXenServerAbico

    Rackspace,NASA,Dell,Ci-

    trix,Cisco,Canonicaletplus

    que50autresorganisations

    But

    Unerponseopensource

    pourleCloudcommerciale

    EC2

    UnCloudprivpure

    Solutionscientique

    duCloudComputing

    -EvolutiondeCitrixXenServer

    -Congurationautomatiqueet

    maintenancedesCloudCompu-

    ting

    LagestiondesCloudspubliques

    etprivsdansdesenvironne-

    mentshtrognes

    Creretorirdesfonction-

    nalitsdeCloudComputing

    enutilisantunlogicielopen-

    sourcefonctionnantsurdu

    matrielstandard

    Architecture

    -Hirarchique

    -Cinqcomposants

    -Supportemultiplecluster

    -Minimumdeuxserveurs

    -Centralis

    -Troiscomposants

    -Minimumdeuxserveurs

    -Centralis

    -Troiscomposants

    -Minimumdeuxser-

    veurs

    -Centralis

    -Troiscomposants

    -Minimumdeuxserveurs

    -Centralis

    -Troiscomposants

    -Minimumdeuxserveurs

    Intgrationdesdeuxcompo-

    santsOpenStackobjectet

    OpenStackcompute

    Domained'uti-

    lisation

    Lesentreprises

    Leschercheursdansledo-

    mainedeCloudComputing

    etdelavirtualisation

    Lescommunauts

    scientiques(moins

    intresssparlestech-

    niquesinternesdu

    systme)

    Lesentreprisesquiveulent

    construireleurspropreCloudet

    delerendreinteroprableavec

    ceuxdesprincipauxfournisseurs

    deservicesCloud

    Lesentreprisesquiveulentcrer

    leurpropreCloudComputing

    Lessocits,lesfournisseurs

    deservices,leschercheurset

    lescentresdedonnesmon-

    diauxquicherchentd-

    ployergrandechelleleurs

    Cloudprivsoupubliques

    Systmesd'ex-

    ploitationsup-

    ports

    Linux(Ubuntu,Fedora,

    CentOS,OpenSUSEetDe-

    bian)

    Linux(Ubuntu,RedHatEn-

    terpriseLinux,Fedoraet

    SUSELinuxEnterpriseSer-

    ver)

    Laplupartdesdistri-

    butionsLinux

    -Linux(Fedora,RedHat,CentOS

    etSuseLinuxEnterpriseServer)

    -Windows7

    -Linux(UbuntuetCentOS

    -MacOS

    -WindowsXP

    -LinuxetrcemmentWin-

    dows

    -Exigex86processor

    Langagede

    programmation

    Java,C,etPythonJava,Ruby,C++Python,JavaCamlJava,Ruby,C++,PythonPython

    StockageWalrus

    -GridFTP,Comulus(version

    rcentedeGridFTP

    -XCP

    -SCP

    -SQLite3

    VastSkyHDFSOpenStackStorage

    Rseau

    ServeurDHCPinstallsur

    leclustercontroller

    Congurationmanuellepar

    l'administrateur

    ServeurDHCPinstall

    surchaquenud

    OpenvSwitchWSManagementOpenStackCompute

    Interfaceutili-

    sateur

    3EC2WSAPI

    3Outilstelque:Hybrid-

    Fox,ElasticFox

    3EC2WSAPI

    3OCCIAPI

    3EC2WSAPI

    3NimbusWSRF

    8Lignedecommande"XE"

    3XenCenteretVersiera(applica-

    tioncommercialepourWindows)

    3InterfaceWebimplmente

    avecAdobeFlex

    3InterfaceWeb

    Scuritniveau

    utilisateur

    -Fichierziptlchargeable

    traversl'interfaceWeb

    quicontientcerticats

    -ConnexionHTTPS

    -Authentication-CerticatX509

    -Authentication

    -ConnexionSSH

    -Authentication(motsde

    passestocksenformatMD5)-CerticatX509

    Scuritniveau

    administrateur

    -ConnexionSSH

    -Rootexig

    -Rootseulementsincessaire

    (selonlesdroitsd'accs

    -ConnexionSSL

    -IntgreGlobus(certi-

    cation)

    -ConnexionSSH-Authentication-ConnectionSSH

    Equilibragede

    charge

    LeCloudControllerNginxLecontextbrokerXAPIAbiServerLeCloudController

    Tolranceaux

    pannes

    Sparationdesclusters

    controllers

    Databasebackend(enregistre

    lesinformationsdesmachines

    virtuelles)

    Vricationpriodique

    desnudsduCloud

    Synchronisationtransactionnelle

    chauddestatsdesmachines

    virtuellesentreserveursphysiques

    8Replication

    Migration

    froiddesVMs

    33

    33

    33

    Migration

    chauddesVMs

    83SharedFS

    83-OpenVirtualizationFormat

    -SharedStorage

    88

    Emplacement

    desVMs

    NodecontrollerClusternodePhysicalnodesXCPHostCloudsnodesOpenStackCompute

    Compatibilit

    avecEC2

    33

    33

    88

    Utilisationdans

    lemarch

    NASA

    LeprojetRESERVOIR,

    NUBA

    STARPrincipalementactifenEspagne

    24

  • Chapitre 1. Etat de l'art

    - Le domaine d'utilisation : OpenNebula semble tre la solution la plus

    convenable pour les chercheur dans le domaine du Cloud vu qu'elle est conue

    d'tre une solution scientique du Cloud computing. Eucalyptus, XCP et Abi-

    Cloud intressent plutt les fournisseurs des entreprises qui souhaitent construire

    leur propre Cloud.

    OpenStack est principalement mis en place pour intgrer ces deux services :

    OpenStack Compute et OpenStack Storage an de permettre direntes orga-

    nisations (chercheurs, fournisseurs, socits, etc.) de dployer grande chelle

    leurs Clouds privs ou publiques.

    Nimbus est utilis souvent par les communauts scientiques qui pourraient

    tre moins intresss par les techniques internes du systme.

    - L'architecture : dans le Cloud, il n'y a pas un type d'architecture mais

    plusieurs. Gnralement, chaque fournisseur propose la sienne (centralis ou

    hirarchique).

    - Le systme de stockage : stocker des donnes dans le Cloud est gr par

    des outils spciques :

    Walrus : le service de stockage inclus dans Eucalyptus qui permet de stocker

    les donnes persistantes ;

    SCP (Secure Copy) : une ligne de commande utilise pour transfrer des chiers

    travers le rseau en s'appuyant sur le protocole SSH ;

    SQLite : une bibliothque crite en C qui propose un moteur de bases de

    donnes relationnelles accessibles par le langage SQL ;

    GridFTP : un protocole de transfert de donnes performant et scuris ;

    VastSky : un systme de stockage pour XCP ;

    HDFS (Hadoop Distributed File System) : un systme de chiers qui propose

    un accs haut dbit pour les donnes et est adapt pour les applications qui

    ont des donnes massives ;

    OpenStack Storage : le service de stockage d'OpenStack qui permet d'optimiser

    la gestion de stockage, rpliquer le contenu sur dirents serveurs et le mettre

    disposition auprs d'un grand nombre d'utilisateur.

    - Le rseau :

    25

  • Chapitre 1. Etat de l'art

    Avec OpenNebula, il faut congurer manuellement le rseau de machines

    virtuelles. Cette tche de conguration est totalement automatise avec Eu-

    calyptus et Nimbus et est gre par le serveur DHCP .

    Xen Cloud Platform s'appuie sur le logiciel Open vSwich propos par [28] et

    qui permettra la cration des commutateurs virtuels.

    WS-Management est le protocole de communication permettant l'adminis-

    tration des serveurs utiliss avec AbiCloud .

    OpenStack Compute est le service de gestion de grands groupes de serveurs

    privs virtuels d'OpenStack .

    - L'interface utilisateur : la plupart des solutions orent une interface

    Web pour assurer une interaction facile avec le Cloud. Xen Cloud Platform

    ore plutt la ligne de commande "XE". Toutefois, il existe des solutions

    commerciales telles que Versiera et XenCenter (seulement pour Windows) qui

    sont proposes pour grer XCP l'aide d'une interface graphique.

    - L'quilibrage de charge : chaque solution possde sa faon mettre en

    uvre cet aspect :

    Eucalyptus : le Cloud Controller, le contrleur principal du Cloud, est res-

    ponsable de la gestion de tout le systme ;

    Nimbus : le Context Broker, un composant de Nimbus, qui permet aux clients

    de coordonner de grands lancements de machines virtuelles automatique-

    ment et de faon rpte. AbiServer est le responsable de la gestion de tout

    le systme ;

    OpenNebula : Nginx, un est un logiciel de serveur Web, permet de grer

    plusieurs connexions en mme temps ;

    Xen Cloud Platform : XAPI est une interface qui assure la conguration et

    le contrle des instances virtualises ;

    OpenStack : le Cloud Controller du composant OpenStack Compute est le

    responsable de la gestion des tous les composants du systme.

    - La tolrance aux pannes : plusieurs mthodes sont mises en uvre pour

    assurer cette proprit :

    La sparation des clusters controllers pour Eucalyptus rduit la chance de

    26

  • Chapitre 1. Etat de l'art

    dfaillance. En eet, ce composant gre plusieurs Nodes Controllers et il est

    responsable de la gestion du cycle de vie (cration, utilisation, suppression,

    etc.) des instances virtuelles ;

    OpenNebula utilise une base de donnes persistante o les informations sur

    les machines virtuelles sont stockes. Cette solution garantit une grande

    protection des donnes mais, elle ncessite un personnel spcialis (adminis-

    trateur de donnes, administrateur du SGBD) et un cot d'acquisition assez

    lev ;

    Nimbus assure un contrle rgulier des nuds (Checkpointing). Ainsi, une

    image des VMs en cours d'excution sera stocke priodiquement an qu'elle

    puisse tre reprise en cas d'une dfaillance ;

    Xen Cloud Platform prend en charge la synchronisation transactionnelle

    chaud des tats des machines virtuelles entre les serveurs physiques ce qui

    permet de garantir un grand degr de abilit ;

    La tolrance aux pannes par rplication est le principe utilis avec OpenS-

    tack. Cette approche permet de masquer les pannes ventuelles : lorsqu'une

    machine tombe en panne, une des copies de cette machine prend sa place

    dans le systme. Cependant, cette approche ncessite la disponibilit d'un

    nombre important de ressources.

    1.5 Les acteurs du march du Cloud Computing

    Dans cette section, nous citons les solutions les plus connues dans le monde du

    Cloud Computing.

    1.5.1 Amazon Web Services

    Amazon a t la premire socit proposer une plateforme du Cloud Computing

    avec Amazon Web Services [2]. Il s'agit d'un outil simple et facile manipuler qui

    permet le dveloppement des applications dans un environnement du Cloud Com-

    puting. Il est noter que la technologie utilise est issue l'origine des systmes de

    virtualisation de Xen. Les services d'Amazon Web Services sont :

    27

  • Chapitre 1. Etat de l'art

    - Amazon Elastic Compute Cloud (EC2) : il fournit un stockage bas sur les

    services Web ;

    - Amazon Simple Storage Service (S3) : Amazon S3 ore une simple interface

    de services web utiliser pour stocker et rcuprer n'importe quelle quantit

    de donnes, tout moment, de n'importe quel endroit sur le web ;

    - Amazon CloudFront : il permet de distribuer des objets stocks sur S3 vers un

    emplacement proche de l'appelant ;

    - Amazon SimpleDB : il permet aux dveloppeurs d'excuter des requtes sur

    des donnes structures ;

    - AWS Management Console (AWS Console) : c'est une interface Web pour g-

    rer et surveiller les infrastructures Amazon, incluant Amazon EC2 et Amazon

    S3.

    Selon [7], Amazon exploite quatorze Datacenter : huit aux tats-Unis, quatre en

    Europe, et deux en Asie.

    1.5.2 Microsoft Azure

    Windows Azure, la seconde ore commerciale propose par Microsoft aprs SQL

    Azure, peut tre vue comme la base d'une solution PaaS [13]. Avec Windows Azure,

    Microsoft assure une couche qui aura comme rle de structurer l'ensemble des tech-

    nologies associes, que ce soit SQL, .NET, etc. Mais encore et toujours, Windows

    Azure reste "clairement destin aux entreprises" selon [6].

    1.5.3 Google App Engine

    Google App Engine est une plateforme de dveloppement et d'hbergement d'ap-

    plications Web. Il permet d'excuter des applications Web sur l'infrastructure de

    Google [10]. Il est lanc en 2008 et est disponible seulement en Cloud publique sous

    la forme d'une ore gratuite. Sa grande force rside dans le fait qu'il soit purement

    gratuit [6].

    28

  • Chapitre 1. Etat de l'art

    1.5.4 Google Apps

    Une suite bureautique (Gmail, Google Agenda, Google Documents, etc.) de la

    socit Google qui est accessible par les particuliers, les entreprises, les tablisse-

    ments d'enseignement et les organisations [11]. Il existe direntes versions de Google

    Apps :

    - Google Apps for Groups : pour tout le monde mais limit 50 utilisateurs ;

    - Google Apps for Education : pour le primaire, le secondaire et l'universit ;

    - Google Apps for Governement : pour les oces gouvernementaux ;

    - Google Apps for Business : il s'agissait anciennement de Google Apps Premier

    Edition ;

    1.5.5 Force.com

    C'est une plateforme du Cloud Computing dstine pour les applications d'en-

    treprise [22]. Force.com est un acteur PaaS qui fournit une plateforme pour crer et

    dployer des applications la demande telle que la planication des ressources d'en-

    treprise (ERP), gestion des ressources humaines (GRH) et la gestion de la chane

    d'approvisionnement (SCM). Force.com interopre avec la plateforme de Google App

    Engine.

    1.5.6 OVH

    OVH est une socit franaise indpendante, orient grand public. Elle est le

    numro un de l'hbergement en France et se positionne comme le deuxime hber-

    geur europen (d'aprs [16]). Elle propose des serveurs privs ddis, des ressources

    de stockage, des ressources de bande passante, des ressources, de CPU, de RAM,

    de SQL, du HTTP, des Emails etc. En 2010, OVH dmarre une ore du Cloud

    Computing assez agressive se qui fait son succs [21].

    1.5.7 Synthse

    Le tableau 1.4 est un comparatif de ses acteurs du Cloud Computing.

    29

  • Chapitre 1. Etat de l'art

    Table1.4ActeursduCloudComputing

    OVHCloudComputing[21]

    IaaS

    AmazonWebServices[2][42]

    EC2(Iaas)

    S3

    (PaaS)

    Force.com[33][42]

    PaaS

    Google

    AppEn-

    gine[10][42]

    PaaS

    MicrosoftAzure[13][42]

    Microsoft

    Azure(Paas)

    SQLAzure

    (SaaS)

    Google

    Apps[11][42]

    SaaS

    Service

    UneinfrastructureCloudpri-

    veexternalise

    Petite

    Ins-

    tance

    (par

    dfaut)

    Grande

    ins-

    tance

    Trs

    grande

    ins-

    tance

    RAMRAMRAM

    1,7GO7,5GO15GO

    StockageStockageStockage

    160GO850GO1690GO

    Plateforme

    Plateforme

    Platefor-

    me

    32GO64GO64GO

    Stockage

    illi-

    mitde

    donnes

    ApplicationspourlesRH,applica-

    tionsdestock,applicationsiPhone,

    iPad,AndroidetBlackBerry.

    Gnrerdes

    applications

    Webconues

    pouruntra-

    clevsans

    avoirgrer

    l'infrastructure

    correspondante

    -Permetde

    raliserpuis

    exploiterdes

    applications

    Web

    -Comprend

    desser-

    vicesCloud

    d'hberge-

    ment(Azure

    Compute)

    etdesto-

    ckage(Azure

    Storage)

    Permetde

    rpliqueret

    d'enrichir

    lesbases

    dedonnes

    d'entreprise

    defaon

    simple

    -Gmail

    -GoogleDocu-

    ments

    -Google

    Groupes

    -Google

    Agenda

    -GoogleSites

    -GoogleVidos

    -GoogleTalk

    Cot

    256MO0.014$parheure

    512MO0.028$parheure

    768MO0.042$parheure

    1224MO0.057$parheure

    1280MO0.071$parheure

    1536MO0.085$parheure

    1792MO0.099$parheure

    2048MO0.11$parheure

    WindowsWindowsWindows

    0,12$

    par

    heure

    0,48$

    par

    heure

    0,96$

    par

    heure

    Linux

    LinuxLinux

    0,085$

    par

    heure

    0,34$

    par

    heure

    0,68$

    par

    heure

    0,15$

    par

    mois

    Edition

    gratuite

    Edition

    d'entre-

    prise

    Edition

    illimi-

    te

    Gratuit

    75,0438$

    parmois

    111,176$

    par

    mois

    Gratuitsipas

    dedpassement

    depourcen-

    tageprdni

    (stockage