Vous êtes sur la page 1sur 138

CONSERVATOIRENATIONALDESARTSETMETIERS

CENTREREGIONALASSOCIEDE SaintGenisPouilly

MEMOIRE
prsentenvued'obtenir

leDIPLOMED'INGENIEURCNAM SPECIALITE:INFORMATIQUE
dumas-00524318, version 1 - 7 Oct 2010

OPTION:SYSTMESDINFORMATION
par

OlivierLeclre
______

MiseenplacedunsitetypeWeb2.0surunCloud

Soutenule24juin2010
_______

JURY
PRESIDENT: ChristophePicouleau MEMBRES: BertrandDavid ClaudeGenier ChristineAdonidis JeanPhilippeTrabichet

MiseenplacedunsitetypeWeb2.0surunCloud

dumas-00524318, version 1 - 7 Oct 2010

LeclreOlivier

Miseenplacedunsitetype Web2.0surunCloud

Rsum
Le Cloud Computing devrait dici deux cinq ans devenir une des briques de base des platesformes informatiques de prochaine gnration. Le Laboratoire des Technologies de lInformation (LTI) de la Haute coledeGestion(HEG)deGenve,dontlesmissionssontdefairedelarechercheetdevalorisercettedernire autraversdemandats,avoulucomprendreleconceptdeCloudComputing. La premire partie de ce mmoire est consacre la dfinition du Cloud Computing et prsente les cinq concepts fondamentaux de cette nouvelle technologie. Le deuxime chapitre prsente les diffrents types dapplicationsCloudenlesclassantentroiscatgories(infrastructure,platformetsoftware).Les troisime et quatrime parties sont consacres la mise en pratique du concept. Le troisime chapitre est consacr la dfinition des besoins, des objectifs atteindre tout en respectant certaines contraintes. Dans cette troisime partie est choisie la plateforme de Cloud Computing pour hberger un projet de folksonomie. Ce dernier, qui sappuie sur les concepts du Web 2.0, consiste demander linternaute de classifierlespagesdunsiteWebenutilisantsespropresmotscls.Ceprojetfacilitelarecherchedinformation pour les autres internautes. Il leurs permet aussi de donner plus dimportance certains motscls en les valuant.Lamiseenuvredeceprojetestdcritedanslequatrimechapitre. Cette application Web 2.0 permet de constater les avantages, les inconvnients et les contraintes lies au dveloppementsurunCloudetdevrifiercertainsdesconceptsfondamentaux. Motscls:CloudComputing,pyramideduCloud,folksonomie,dfinition,concept,implmentation

dumas-00524318, version 1 - 7 Oct 2010

Summary
Cloud Computing is set to become one of the pillars of nextgeneration computing. The Laboratory of Information Technologies (LTI) at the University of Applied Sciences Western Switzerland (HEG) in Geneva, whose missions are to conduct research and development, aims to understand Cloud Computing concepts andconductapilotprojectusingthetechnology. This engineering thesis is divided into four chapters. The first chapter defines Cloud Computing and presents the technologys five fundamentals concepts. The second chapter presents the different types of Cloud solutions and classifies them in three categories (infrastructure, platform and software). The third and fourth chapters cover practical aspects. The third chapter defines the requirements and objectives that will allow the LTI team to host a folksonomy project on a Cloud. The project, based on Web 2.0 concepts, consists in asking Internet users to classify the pages of a Web site by using their own keywords. This project facilitates information retrieval for other Internet users. The application, also allows users to rank keywords thus giving more importance to betterranked words. The implementation of the folksonomy project is describedinthefourthchapter. This Web 2.0 application will help determine the advantages, disadvantages and limitations specific to the development of applications on a Cloud and will validate the fundamental concepts of Cloud Computing definedinthefirstchapter. Keywords:CloudComputing,cloudpyramid,folksonomy,definition,concepts,application

LeclreOlivier

Miseenplacedunsitetype Web2.0surunCloud

dumas-00524318, version 1 - 7 Oct 2010

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Tabledesmatires
Remerciement..................................................................................................................................4 Abrviations......................................................................................................................................5 Glossaire...........................................................................................................................................7 Introduction......................................................................................................................................8 1 DfinitionduCloudComputing........................................................................................ 10 1.1 GenseduCloudComputing.................................................................................... 10 UtilityComputing.............................................................................................. 11 GridComputing................................................................................................ 12 ServerfarmetWebfarm............................................................................ 15

dumas-00524318, version 1 - 7 Oct 2010

1.1.1 1.1.2 1.1.3 1.2 1.3

ApparitionduCloudComputing............................................................................... 18 LesconceptsdterminantspourladfinitionduCloudComputing........................23 XasaService.................................................................................................... 23 Payasyougo.................................................................................................... 26 Scalabilitetlasticit............................................................................................ 28 Virtualisation.......................................................................................................... 29 Publicetpriv......................................................................................................... 30

1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.4 1.5 2

SynthsedesdfinitionsduCloudComputing.........................................................32 DfinitionpersonnelleduCloudComputing............................................................34

Prsentationdessolutionsdumarch................................................................................... 35 2.1 LapyramideduCloudComputing............................................................................ 35 LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud
2.1.1 2.1.2 2.1.3 3

CloudInfrastructure......................................................................................... 36 CloudPlatform................................................................................................. 37 CloudApplication............................................................................................. 39

MiseenpratiqueduconceptdeCloudComputing.........................................................40 3.1 Dfinitiondesbesoins.................................................................................................... 41 LeWeb2.0............................................................................................................. 42 LeCloudComputing......................................................................................... 44

3.1.1 3.1.2

dumas-00524318, version 1 - 7 Oct 2010

3.2

ObjectifsetcontraintesduprototypefonctionneldunsiteWeb2.0 ...........................45 Objectifsatteindrepourceprojet:..................................................................... 46 Contraintesduprojet:........................................................................................... 47

3.2.1 3.2.2 3.3

ChoixduneplateformedeCloudComputing........................................................47 Comparatifdescots............................................................................................. 50 Matricedeprfrence........................................................................................... 52 Analysemulticritres............................................................................................. 57 Analysedesrsultats............................................................................................. 60

3.3.1 3.3.2 3.3.3 3.3.4 4

Ralisationtechnique............................................................................................................ 62 4.1 Modlisationarchitecturale........................................................................................... 62 Architectureserveurphysique............................................................................... 63 Architectureserveurapplicatif.............................................................................. 66 Architectureapplicative......................................................................................... 67

4.1.1 4.1.2 4.1.3 4.2

DveloppementdusiteWeb2.0Folksonomie........................................................68 Usecases............................................................................................................... 69

4.2.1

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud
4.2.2 4.2.3 4.2.4 4.3

Diagrammededploiement................................................................................... 76 Modlephysiquededonnes................................................................................ 79 Codedelapplication.............................................................................................. 82

Validationdelaralisationtechnique............................................................................ 87 Validationdudesignettestdaccessibilit............................................................89 Testsdecharge....................................................................................................... 90 Testsdepanne ........................................................................................................ 95

4.3.1 4.3.2 4.3.3

dumas-00524318, version 1 - 7 Oct 2010

4.4

Amliorationstudier.................................................................................................. 96

Conclusion......................................................................................................................................98 Annexes........................................................................................................................................100 Bibliographie .................................................................................................................................101 Listedesfigures............................................................................................................................ 103 Listedestableaux......................................................................................................................... 103

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Remerciement
Je tiens remercier en premier lieu mes collgues du Laboratoire des Technologies de lInformation (LTI) de la Haute cole de Gestion (HEG) de Genve et plus particulirement le Professeur JeanPhilippe Trabichet qui me soutient depuis plus de sept ans dans tous mes projetsetquimaencouragminscrirelEiCNAM. Je remercie galement Messieurs Grard Ineichen, Cyril Dchelette et Jrmie Blanchard, mes collgues du centre informatique de la HEG pour le temps quils ont consacr au montage des environnementsdedveloppementetdetestsquimonttncessaires.

dumas-00524318, version 1 - 7 Oct 2010

Je souhaiterai galement remercier mes collgues du Centre des Technologies de lInformation (CTI) de ltat de Genve qui mont encourag dans mes recherches en matire de Cloud Computing. Je remercie mes collgues Madame Christine Adonidis et Monsieur Giorgio Pauletto de lobservatoire technologique et systmes d'information du CTI pour leurs conseils aviss. Je tiens aussi remercier Monsieur Julien Conti pour son aide en matire de tests daccessibilitdanslespagesWeb. MerciMonsieurClaudeGenierquiaencadrcemmoirepoursonaideprcieuse.Jeremercie aussi tous ses collgues du CNAM qui mont fait dcouvrir de nouveaux domaines aussi bien danslinformatique,quedanslesbranchesdegestion. Je remercie aussi tous les membres du Comit Interdpartemental des Chargs de Communication (CICC), prsid par Madame Anja Wyden Guelpa, Chancelire d'tat, qui ont montruntrsgrandenthousiasmepourleprojetfolksonomie. Pour finir, je remercie galement mon pouse pour son soutien tout au long de mes tudes au CNAMetsurtoutcesdouzederniersmoislorsdelaralisationdecemmoiredingnieur.

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Abrviations
AJAXAsynchronousJavaScriptAndXML AMIouAMIsAmazonMachineImages ASPActiveServerPages ASPApplicationServiceProvider CPUCentralProcessingUnit

dumas-00524318, version 1 - 7 Oct 2010

DNSDomainNameSystem DTDDocumentTypeDefinition EC2ElasticComputeCloud(Amazon) FTPFiletransferprotocol GPLGeneralPublicLicense GUIGraphicalUserInterface:environnementgraphique HAhighavailability:Hautedisponibilit HaaSHardwareasaService IaaSInfrastructureasaService IISInternetInformationServices,anciennementInternetInformationServer JSONJavaScriptObjectNotation JSPJavaServerPages NISTNationalInstituteofStandardsandTechnology(tatsUnis) PaaSPlatformasaService PHPHypertextPreprocessor

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud
PMEPetiteetmoyenneentreprise RAMRandomaccessmemory RIARichInternetApplication SaaSSoftwareasaService SANStorageAreaNetwork SLAServiceLevelAgreements SOAServiceOrientedArchitecture

dumas-00524318, version 1 - 7 Oct 2010

SSLSecureSocketsLayer VMVirtualmachine:machinevirtuelle VNCVirtualNetworkComputing VPCVirtualPrivateCloud VPNVirtualPrivateNetwork WAIWebAccessibilityInitiative WPFWindowsPresentationFoundation

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Glossaire
Cluster: Le Cluster ou Grappe est un concept architectural en informatique. Il consiste regrouper des ordinateurs / serveurs pour former une machine offrant de meilleures performances,unedisponibilitaccrueetunefacilitdemonteencharge. Crossdomain:Principequivisefairecommuniquerdeuxdomaines(sitesWeb)ensemble. Folksonomie: Nologisme dsignant un systme de classification collaborative dcentralise et spontane,bassuruneindexationeffectuepardesnonspcialistes[WIKI1].

dumas-00524318, version 1 - 7 Oct 2010

Freemium: Modle conomique qui consiste offrir un service de base gratuitement et faire payerlesservicessupplmentaires. Middleware: Dans un Cloud couche logicielle servant dintermdiaire entre lapplication et lesinfrastructurestechniques. Twitt:messagede140caractrespostsurlesitedemicroblogingTwitter. WebService:Programmepermettantl'changededonnesentredesapplications.

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Introduction
Le Cloud Computing a t dfini, par Tim OReilly, PDG de OReilly Media, lors du congrs Web 2.0 en avril 20081, comme une des briques de base des platesformes informatiques de prochaine gnration. Le Gartner a confirm cette annonce durant lt 20082, en qualifiant danssonrapportannuelleCloudComputingcommeunetechnologiemergente. Ce concept technologique rpond aux besoins croissants des entreprises qui veulent rduire leurs cots lis linformatique, tout en ayant accs une large offre de services qui vont du hardwareausoftware.

dumas-00524318, version 1 - 7 Oct 2010

Le Laboratoire des Technologies de lInformation (LTI) de la Haute cole de Gestion (HEG) de Genve a comme mission de faire de la recherche et de valoriser cette dernire au travers de mandats. Le LTI travaille principalement sur des thmatiques lies au Web avec des sujets comme lAdministration en Ligne (AeL), linfobsit et le Web 2.0. Le Cloud Computing devantdevenirlaplateformeinformatiquedeprochainegnration,ilnousasemblimportant decomprendrecommentcenouveauconcepttechnologiquefonctionneetcequenouspouvons enfaire.

Joyent,TimOReilly,WhatisCloudComputing,http://www.youtube.com/watch?v=6PNuQHUiV3Q, publile7/05/2008,visionnle15/10/2009 Gartner,GartnerHighlights27Technologiesinthe2008HypeCycleforEmergingTechnologies, http://www.gartner.com/it/page.jsp?id=739613,publile11/08/2008,consultle12/03/2009


2 1

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Ce mmoire est compos de quatre chapitres principaux. Le premier chapitre dfinit le concept de Cloud Computing en partant de la gense, puis en dtaillant chaque notion qui fait du Cloud ce quil est. Le deuxime chapitre se focalise sur les solutions de type Cloud Computing. Le troisime et le quatrime chapitre prsentent une mise en pratique avec la ralisation dun prototype fonctionnel de site type Web 2.0 hberg sur un Cloud. Nous commenons ce projet en choisissant la solution de Cloud Computing la plus adapte, aux besoins de notre mandant qui est lAdministration cantonale genevoise. Puis nous dtaillerons toute la partie technique du projet. Nous finirions ce dernier par des recommandations pouvant lamliorer.

dumas-00524318, version 1 - 7 Oct 2010

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

1 DfinitionduCloudComputing
Dans ce premier chapitre, nous allons tout dabord prsenter les concepts antrieurs au Cloud Computingquiontpermislmergencedecenouveautypedeplateformeinformatique.Nous prsenterons ensuite lhistorique du Cloud Comptuing et lorigine de ce terme. Puis nous dvelopperons les cinq concepts de base qui permettent de qualifier ce quest le Cloud Computing. Nous conclurons ce premier chapitre en donnant notre propre dfinition du Cloud Computing. Cette dfinition sera base sur une analyse des dfinitions proposes par lemondeacadmiqueetsurlarflexionquenousauronsconduitedanscechapitre.

dumas-00524318, version 1 - 7 Oct 2010

1.1 GenseduCloudComputing
Le Cloud Computing est lvolution de concepts informatiques tudis et dvelopps depuis les annes septante. Ces concepts ont volu avec la technologie, les besoins des utilisateurs et un besoin constant de rduire les cots lis linformatique. Dans cette section, nous commencerons notre voyage dans le temps avec lUtility Computing, puis le Grid ComputingetnouslafinironsaveclesServerfarmsainsiquelesWebfarms.

10

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

1.1.1 UtilityComputing
LUtility Computing ou Calcul la Demande est un concept qui revient rgulirement danslhistoireinformatique. En 1974, George J. Feeney, dans sa synthse dune table ronde Utility computing A superior alternative [F_74], introduit le concept dUtility Computing. Dans cet article il annonce que les 60'000 socits qui avaient un mainframe dans les annes septante, devraient suivre le mme chemin que lindustrie. Au dbut du XXme sicle, les usines produisaient leur lectricit pour leurs propres besoins. En moins dun demisicle, ces dernires ont externalis leur productiondnergieafinderationaliserlescots.PourGeorgeJ.Feeney,lessocitsmodernes devraient terme aussi externaliser leur informatique principalement pour des raisons conomiques. Plusieurs facteurs ont conduit ce changement dans la consommation dlectricit par lindustrie.Ilsagitdesconomiesdchelle,dufaitquelescotspeuventtrevariablesetquela technologie de production de cette nergie volue rapidement. George J. Feeney rapporte aussi que grce lUtility Computing les socits et les universits pourront utiliser des machines sophistiquesennepayantquecequellesconsomment.

dumas-00524318, version 1 - 7 Oct 2010

11

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

En 20023, les socits IBM, Sun et HP investissent dans le concept dUtility Computing et proposent toutes les trois leur propre solution. Largumentaire4 5 6 de ses prestataires de services est une diminution des cots, une simplification de la gestion des infrastructures et une possibilit daugmenter ou de diminuer la puissance de calcul en fonction des besoins. Depuis, dautresacteurs,commeMicrosoft,GoogleouAmazonontlancleurpropresolution. Le concept dUtility Computing est rmanent et toujours la base des projets dexternalisation des solutions informatiques. Nous retrouvons les mmes arguments conomiques pour le Grid Computing, les Web Farms et le Cloud Computing; seuls lesconceptstechniquesvoluent.

dumas-00524318, version 1 - 7 Oct 2010

1.1.2 GridComputing
Le concept de Grid Computing ou Grille Informatique est n en 1997 lors dun sminaire intitul Building a Computational Grid tenu au Laboratoire national dArgonne7. En 1998, Ian Foster et Carl Kesselman, les deux organisateurs de ce sminaire, ont publi un livre intitul The Grid: Blueprint for a New Computing Infrastructure8. Cet ouvrage est souvent considr commelabibleduGrid.
3

JohnG.SpooneretSandeepJunnarkar,IBMtalksup'computingondemand',http://news.cnet.com/IBM talksupcomputingondemand/21001008_3963807.html,publile30/10/2002,consultle06/08/2009
4

IBM,ApplicationonDemand,http://www 935.ibm.com/services/us/index.wss/itservice/aod/a1011244,consultle06/08/2009
5 6

Sun,JavaTechnologySunN1,http://www.sun.com/software/learnabout/n1/,consultle06/08/2009

HP,AnimationCompany"FastForwards"ProductionwithHPUtilityDataCenter, http://www.hp.com/hpinfo/newsroom/press/2003/030731a.html,consultle06/08/2009
7 8

http://www.anl.gov/

IanFoster,CarlKesselman.TheGrid:BlueprintforaNewComputingInfrastructure.MorganKaufmann Publishers,1reedition1998

12

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Le Grid ou Grille est une analogie au rseau lectrique, power grid en anglais, o lutilisateur se branche au rseau et paie ce quil consomme sans se soucier do vient le courant. Le Grid a t initialement mis au point pour permettre le partage des ressources au sein de la communaut scientifique. Les ressources partages [CERN1] peuvent tre de natures diverses comme des donnes de tests, des logiciels, du matriel informatique et mme des tlescopesoudesmicroscopes. LetermeGridestrapidementdevenuunlmentvendeuretiladonctutilispourvendre de nombreux projets comme par exemple: Data Grids ou Cluster Grids, etc. Ian Foster a doncprcissadfinitionen2002endcrivantentroispointsleGridComputing[F_02]: 1. Un Grid coordonne des ressources partages qui ne sont pas gres de manire centralise. C'estdire quil permet de coordonner diffrents systmes indpendants au sein dune mme entreprise ou au sein dentreprises tierces tout en abordant les questionsdescurit,dedroitsdaccsetdepaiement. 2. Un Grid utilise des interfaces, ainsi que des protocoles ouverts et standards afin de permettrelauthentification,ladcouvertedesservicesetleurutilisation. 3. Un Grid doit fournir un niveau de service de qualit, malgr lutilisation de ressources de natures diffrentes. Ce niveau de service doit tre adapt en fonction des besoins comme le temps de rponse, le dbit, la disponibilit, la scurit ou la colocationdesressources. Ces trois points laissent le dbat ouvert sur ce que sont une gestion centralise des ressources, des interfaces et protocoles ouverts et un service de qualit. Toutefois, Ian Foster prcise quun ClusterinformatiquenestpasunGrid.

dumas-00524318, version 1 - 7 Oct 2010

13

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Techniquement un Grid Computing sarchitecture en quatre couches [CERN1]. La premire couche est la couche rseau qui permet dinterconnecter les diffrents lments entre eux. Ladeuxime coucheestconstituedesressourceseffectivesfaisantpartiedelagrille,tellesque des ordinateurs, des systmes de stockage ou mme des capteurs tels que des tlescopes ou autres instruments qui peuvent tre connects directement au rseau. La troisime couche est le middleware. Elle permet de grer les interactions entre les diffrentes ressources. Cette couche gre lorganisation et la distribution des tches aux diffrentes ressources. Pour faire cela, le middleware sappuie sur des agents capables dchanger des mtadonnes et des brokers chargs de ngocier lauthentification et lautorisation dutilisation. Le broker se charge aussi de conclure la transaction pour lutilisation et le paiement de la ressource. Le Globus toolkit est un middleware trs rpandu qui permet entre autres de grer laffectation des ressources, de garantir la scurit, de surveiller et dcouvrir les services et de rpliquerlesdonnes.Ladernirecouche,quiestlaseuletrevisibleparlesutilisateurs,estla couche applicative. Cest elle qui contient tous les types dapplications dveloppes pour le Grid.Cesapplicationspeuventtredenaturesdiversescommedesapplicationsscientifiques ou financires, devant raliser de gros calculs sans contraintes de temps. Pour fonctionner sur un Grid, une application doit tre gridifie pour interagir avec le systme et pouvoir soumettredesdemandeslaGrille. Pour conclure cette soussection, nous pouvons dire que malgr la souplesse offerte par un Grid tant au niveau du type de ressources qu la quantit des ressources utilisables un tempsT,unGridComputingnapastconupourhbergerdessitesWebetWeb2.0.Ceci estdsanaturedebrokeringdetchesenfonctiondesbesoinsetdesdisponibilits.

dumas-00524318, version 1 - 7 Oct 2010

14

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

1.1.3 ServerfarmetWebfarm
LesfermesdeserveursetplusparticulirementlesWebfarmssesontdveloppesaudbut desannes2000[CT_01,WY_01]pourrpondreauxbesoinsdelabulleinternet.Cesfermes hbergent jusqu plusieurs centaines de serveurs monts en Cluster. Le nom farm a t choisi par analogie avec les grandes granges amricaines qui servent au stockage des crales. Tout comme pour lagriculture, ces fermes de serveurs sont installes en campagne ce qui permet aux exploitants de diminuer les cots de stockage et de garantir un approvisionnement faciliteneau(ncessairepourlerefroidissementdesmachines)etenlectricit.

dumas-00524318, version 1 - 7 Oct 2010

Ces fermes de serveurs ont permis de rpondre au besoin de haute disponibilit (HA high availability en anglais) ncessaire une grande majorit de services accessibles au travers de linternet. La HA permet de garantir laccomplissement des tches mme en cas de dfaillance dun des nuds (nodes en anglais) du Cluster. Ce principe de haute disponibilit est ralis grce la redondance des infrastructures physiques et logiques ainsi que la mise en place de mcanismes de reprise sur panne (failover en anglais) et de rpartition de charge (load balancing en anglais). Malgr la HA lutilisateur peut ressentir des baisses de performance, mais ne perdra pas compltement laccs au service quil est en traindeconsommer.

15

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

PourrpondrecebesoindehautedisponibilitdanslesWebFarmsdeuxconceptssont primordiaux:celuidelascalabilitetceluidelarpartitiondecharge. LascalabilitpermetdefacilementaugmenterlatailleduClusterenajoutantdes machines. Cette proprit permet de faciliter la monte en charge grce laugmentation de la puissance de calcul et de la mmoire offerte dans la ferme. Ce concept permet aussi de garantir la haute disponibilit en permettant le remplacementdunemachinesansinterruptiondeservice. La rpartition de charge en anglais load balancing est un norme dfit pour les ingnieursetfaitlobjetdenombreusespublications[BDH_03,CT_01,WY_01].Lobjectif de toutes les solutions proposes est de minimiser le temps de rponse moyen et dviter de surcharger une machine particulire. Pour atteindre ce but, les paramtres prendreencomptesontdiversetvarientenfonctiondesprojets. La solution la plus simple, pour le load balancing, est base sur la rpartition de charge au niveau du serveur DNS (Domain Name System). Cette premire solution ne fait que convertir un nom de domaine en une adresse IP. Cette solution est externe au Cluster et elle ne permet pas d'viter de diriger lutilisateur sur une machine surchargeouquinerpondplus. La seconde solution consiste utiliser un serveur frontal, appel communment dispatcheur, pour rpartir la charge. Le dispatcheur, pour faire son travail, prend en compte plusieurs paramtres tels que la nature du site (statique ou dynamique), lURL demande, les cookies ou la popularit momentane du site. En fonction de la naturedusitestatiqueoudynamique,ledispatcheurmettraenuvreunalgorithme diffrent.

dumas-00524318, version 1 - 7 Oct 2010

16

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Pour des sites statiques, hbergs sur un Cluster de serveurs homognes, les algorithmes RoundRobin ou Random sont idaux. Lalgorithme RoundRobin rpartit la charge de manire squentielle entre tous les serveurs. Lalgorithme Random se sert dune fonction alatoire pour rpartir la charge. Ce dernier peut doncmomentanmentsurchargerunserveur. Pour des sites dynamiques ou des sites hbergs sur des Clusters de serveurs htrognes, il est ncessaire dutiliser des algorithmes adapts et capables destimer la charge des serveurs. Lalgorithme Weighted RoundRobin est trs utilis pour rpartir la charge en fonction de la puissance de la machine. Perceptive est quant lui un algorithme qui se base sur une analyse des demandes anciennes et actuelles.

dumas-00524318, version 1 - 7 Oct 2010

Lalgorithme Least Connections surveille en permanence le nombre de connexions activessurchaquenudduClusteretildirigelademandesurceluiquialemoinsde connexions. Finalement, Fastest Response Time est un algorithme qui calcule le temps de rponse de chaque serveur et affecte le travail au serveur qui rpond le plus rapidement. Dautres architectures de rpartition de charge ainsi que dautres algorithmes peuvent tre dvelopps pour rpondre des besoins spcifiques. Les ingnieurs de Google, dans larticle Web Search for a Planet: The Google Cluster Architecture [BDH_03], dcrivent la solution mise en uvre par ce leader des moteurs de recherche, pour rpondre aux requtes faites sur son propre moteur de recherche. La solution consiste premirementenunerpartitiondelachargeauniveauduserveurDNS.Cettepremire tape dirige lutilisateur sur le Cluster le plus proche de lui gographiquement. Dans une seconde phase, un serveur excute la demande en interrogeant un serveur dindexetcompltelecontenudelapagedersultatseninterrogeantunserveurdit dedocumentsavantdelaretournerlinternaute. Dans leur article Load Balancing for Clustered Web Farms [WY_01] Joel L. Wolf et Philip S. Yu, ingnieurs chez IBM, proposent dhberger plusieurs sites Web indpendants sur un nud du Cluster et chacun de ces sites Web est luimme rpliqu sur plusieurs nuds du Cluster. Ce chevauchement de sites sur plusieurs nuds permet doptimiser lutilisation des ressources du serveur, car un site peut tre temporairement fortement sollicit tandis que les autres sites hbergs sur le mme

17

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

serveur ne le sont pas. Cette solution, de partage des ressources physiques pause toutefoisun problmepourlaconfidentialit desdonnes,carcesdernires sonttoutes hbergessurlemmeserveur.Unconcurrentpourraitdoncaccderdesdonnesqui neluiappartiennentpas. Pourconclurecettesection,nouspouvonsdirequelesWebFarmsontpermisetpermettent toujours dhberger des services accessibles sur linternet ncessitant une trs haute disponibilit. La principale difficult, pour le dveloppement des services hbergs dans ces fermes, est lie au fait que chaque machine reste indpendante, malgr quelles fassent toutes parties du mme Cluster. Il faut donc, tout comme pour le Grid Computing dvelopper spcifiquementlesapplications,pourquellesfonctionnentsurunCluster.

dumas-00524318, version 1 - 7 Oct 2010

1.2 ApparitionduCloudComputing
Le Cloud Computing est lvolution des notions que nous avons dcrites dans les sections prcdentes. Le terme Cloud (nuage en franais) a t cit pour la premire fois en 2001. Cette anne l, Microsoft9, en lanant sa nouvelle plateforme de dveloppement .Net prsente le Cloud comme lendroit o seront hbergs les Web Services. Ces services seront accessibles sur linternet et lutilisateur pourra les consommer sans se soucier do ils sont hbergs et avec quelle technologie ils sont dvelopps. Le terme Cloud est utilis par analogie au symbole communment utilis pour reprsenter linternet dans les schmas des ingnieurs rseau. Cest en aot 2006, lors du congrs Search Engine Strategies quEric Schmidt, PDG de Google. prsente un nouveau modle architectural informatique o les donnes et les

Microsoft,SanjayParthasarathy,WinHECConference2001, http://www.microsoft.com/presspass/exec/sanjay/0326winhecsanjayp.mspx,publile26/03/2001, consultle11/09/2009

18

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

services seront hbergs quelque part sur le Cloud10. Le 24 aot de la mme anne Amazon annonce son nouveau service Elastic Compute Cloud (EC2). Ce service Web, qui est le premier du genre, offre aux dveloppeurs le premier ordinateur redimensionnable sur le Cloud11.Grcecettesolution,chaquedveloppeurpeutvirtuellementcrerleserveurdont ilabesoinpoursonprojetetledimensionnerpoursesbesoins.
8 7 6 5 4 3 2 1 0 Aug62006 Sep102006 Oct152006 Nov192006 Dec242006 Jan282007 Mar42007 Apr82007 May132007 Jun172007 Jul222007 Aug262007 Sep302007 Nov42007 Dec92007 Jan132008 Feb172008 Mar232008 Apr272008 Jun12008 Jul62008 Aug102008 Sep142008 Oct192008 Nov232008 Dec282008 Feb12009 Mar82009 Apr122009 May172009 Jun212009 Jul262009 Aug302009

dumas-00524318, version 1 - 7 Oct 2010

Figure1:TraficmoyenpourletermeCloudComputing12 Cest au second semestre 2008 que le terme Cloud Computing se rpand et devient un concept phare en informatique, comme le montre la figure (1) cidessus. Ce graphique se base sur les statistiques de recherche sur Google pour le terme Cloud Computing entre le 1er janvier 2004 et le 30 aot 2009. Sur ce graphique, nous constatons un pique de recherches en

EricSchmidt,SearchEngineStrategiesConference,ConversationwithEricSchmidthostedbyDanny Sullivan,http://www.google.com/press/podium/ses2006.html,publile09/08/2006,consultle 05/07/2009 Amazon,AnnouncingAmazonElasticComputeCloud(AmazonEC2)beta, http://aws.amazon.com/aboutaws/whatsnew/2006/08/24/announcingamazonelasticcomputecloud amazonec2beta/,publile26/08/2006,consultle11/09/2009


12 11

10

google.com/trends,TraficmoyenpourletermeCloudComputing,gnrle12/09/2009

19

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

octobre 2008. Cest ce moment prcis quAmazon a lanc la version commerciale d'EC213. Depuis, Amazon a aussi ouvert son premier data center europen en Irlande, afin de diminuer les temps de latence rseau lis aux connexions transatlantiques. Cette ouverture a aussi permis Amazon doffrir une solution conforme aux standards europens en matire de stockagede donnes1415.Entre2008etlepremiersemestre2009,touslesautresgrandsacteurs du march informatique, comme Google16, Microsoft17, IBM18, HP19, Dell20, Sun21, Cisco22, VMware23, Xen24 et Ubuntu25 ont rejoint le march du Cloud Computing ou ils ont lanc des projetsliscesconcepts.

dumas-00524318, version 1 - 7 Oct 2010

Amazon,AmazonEC2ExitsBetaandNowOffersaServiceLevelAgreement, http://aws.amazon.com/aboutaws/whatsnew/2008/10/23/amazonec2exitsbetaandnowoffersa servicelevelagreement/,publile23/10/2008,consultle11/09/2009


14

13

Amazon,AmazonEC2CrossestheAtlantic,http://aws.amazon.com/aboutaws/whats new/2008/12/10/amazonec2crossestheatlantic/,publile10/12/2008,consultle11/09/2009 LeMondeInformatique,EmmanuelleDelsol,Lecloudd'AmazonEC2arriveenEurope, http://www.lemondeinformatique.fr/actualites/lireleclouddamazonec2arriveeneurope27631.html, publile11/12/2008,consultle17/12/2008


16 17 18 19 15

http://code.google.com/appengine/,consultle11/09/2009 http://www.microsoft.com/azure/,consultle11/09/2009 http://www.ibm.com/grid/,consultle11/09/2009

http://h71028.www7.hp.com/enterprise/us/en/technologies/cloudcomputing.html,consultle 11/09/2009 http://www.dell.com/cloudcomputing,consultle11/09/2009 http://www.sun.com/solutions/cloudcomputing/,consultle11/09/2009 http://www.cisco.com/en/US/netsol/ns976/index.html,cosnultle11/09/2009 http://www.vmware.com/technology/cloudos/,consultle11/09/2009 http://www.xen.org/products/cloudxen.html,consultle11/09/2009 http://www.ubuntu.com/cloud,consultle11/09/2009

20 21 22 23 24 25

20

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

dumas-00524318, version 1 - 7 Oct 2010

Figure2:courbedehype2009pourlestechnologiesmergentes26 Pour analyser les volutions technologiques, le Gartner publie chaque anne sa courbe de hype (popularit) pour les technologies mergentes27 (figure 2 cidessus). Le Cloud Computing atannoncdanscerapportpourlapremirefoisen2008etilaatteinten 2009 le sommet du pic des attentes exagres. Ce phnomne est d au fait que le concept de Cloud Computing est nouveau. Comme avec toute nouveaut, pour dominer le march, les concepteurs se doivent de promettre limpensable. Dans son article TwentyOne Experts Define Cloud Computing [G_09], Jeremy Geelan relve dj 21 dfinitions reprises et compltes dans la publication scientifique A Break in the Clouds: Towards a Cloud
SourceGartner,http://www.gartner.com/it/page.jsp?id=1124212,publile11/08/2009,consultle 12/09/2009 Gartner,Gartner's2009HypeCycleSpecialReportEvaluatesMaturityof1,650Technologies, http://www.gartner.com/it/page.jsp?id=1124212,publile11/08/2009,consultle12/09/2009
27 26

21

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Definition[VRCL_09]. Durant nos recherches, nous avons trouv dautres dfinitions comme celle de luniversit de Berkeley [AFG_09], celle de luniversit de Karlsruhe [WTK_09] ou la quinzime version de la dfinition du National Institute of Standards and Technology (NIST) amricain [MG_09]. Toutes ces dfinitions prsentent des aspects novateurs et prometteurs pour linformatique, mais comme le rappellent les auteurs de la dfinition du NIST le Cloud Computing est encore un paradigme en pleine volution. Toutefois, comme pour les autres technologies mergentes, le concept de Cloud Computing devrait, selon le Gartner, rapidement tomber dans le foss des dsillusions, car les acteurs du march ne pourront tenir toutes leurs promesses. Un des premiers exemples est Amazon, qui pour viter les problmes de goulets dtranglement rseau et afin de permettre ses clients denvoyer des gigas octets de donnes rapidement, a du proposer lenvoi par courrier (Fedex) de disques durs2829. Finalement, le concept de Cloud Computing devrait atteindre, selon les analyses du Gartner, leplateaudelaproductivitdici25ans.ToujoursselonleGartner,ceconceptdevraitterme aussi modifier le monde des technologies en offrant linformatique comme un service consommable et non plus comme un investissement couteux. Dans les sections suivantes, nous allons donc prsenter les concepts qui nous semblent dterminants pour donner une dfinition duCloudComputing.

dumas-00524318, version 1 - 7 Oct 2010

GigaOM,StaceyHigginbotham,AmazonsNewServiceGoesPostalOverSlowBroadband, http://gigaom.com/2009/05/21/amazonsnewservicegoespostaloverslowbroadband/,publile 21/05/2009,consultle13/06/2009


29

28

AWSImport/Export,http://aws.amazon.com/importexport/,consultle12/09/2009

22

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

1.3 Les

concepts

dterminants

pour

la

dfinition

du

CloudComputing

Les dfinitions du Cloud Computing sont nombreuses [AFG_09, G_09, McK_09, MG_09, P_09, TCW_09, VRCL_09, WTK_09]. Chaque dfinition introduit un ou plusieurs concepts qui selonleurauteurqualifiecequestleCloudComputing. La dfinition du National Institute of Standards and Technology amricain [MG_09] est souvent considr comme tant une des rfrences en la matire et elle prsente les cinq caractristiquesessentiellesduCloudComputing.Cescaractristiquesonttreprisesparle

dumas-00524318, version 1 - 7 Oct 2010

paneldintervenantslaconfrenceCloudComputinglorsduforumdelUITTelecom World 2009 Genve [TCW_09]. Ces cinq concepts: service, pay as you go (paiement du consomm), lasticit et scalabilit, virtualisation et accs par linternet de manire publique ou prive vont tre dtaills dans les soussections cidessous. A la fin de ltude de ces cinq notions, nous ferons une synthse ce qui nous permettra de donner notre propre dfinition du CloudComputing.

1.3.1 XasaService
Le concept de service30 en informatique est rcurrent. En prsentant le concept d'Utility Computing en 1974, George J. Feeney [F_74] basait son analyse sur le fait quau dbut du XXme sicle les usines produisaient ellesmmes leur lectricit et que cinquante ans plus tard elles sont devenues consommatrices dun service llectricit. En cinquante ans, llectricit est devenue un service, public suivant le pays, de base, disponible et accessible pour tout le monde.PourGeorgeJ. Feeneylinformatiqueausenslargesuitlemmeprocessusetdeviendra termeunecollectiondeservicesdebaseladispositiondetous.

30

Larousse.fr,servicen.m:usagequel'onpeutfairedequelquechose,consultle17/10/2009

23

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Eninformatique,unservicepeuttredfinicommeunetchequiatprparedemanire ce qu'elle puisse tre automatise et livre aux clients leur demande tout en garantissant sa cohrence. Durant les annes nonante, le Web sest dvelopp. Ds le dbut des annes deux milles, les startupsontcommencproposerauxentreprisesdelouerdesapplicationsmtiersenligneau travers dinterfaces Web simples ou dune interface type clientserveur [P_09]. Ce nouveau modle daffaires a t appel ASP (Application Service Provider). Pour les clients, lASP permettaitdesedbarrasserdelaproblmatiquedexploitation,souventlourdeetcoteuse,de leurs applications. Ces startups ont aussi permis laccs aux PME des solutions comme Oracle GeneralLedgeroutoutesautressolutionscoteusesetdifficilesinstaller,pourunprixmoindre grceaupartageducotdeslicencesetdesressourcesinformatiquesentreplusieursclients. Avec le dveloppement du concept de client riche durant la premire dcade des annes deux milles, les solutions type ASP ont t remplaces par des solutions appeles SaaS (Software as a Service). Le client riche est une volution des clients lgers (pages Web non dynamiques lues dans un browser) qui intgre les fonctionnalits des clients lourds ou dapplications de type clientserveur. Le client riche est utilis dans le browser et il met en uvredestechnologiestellesquAJAX,Flex,WPF,etc.pourafficherlespagesWebetreproduire le comportement des applications de type client lourd. Le terme RIA (Rich Internet Application) est aussi communment utilis pour dsigner les applications de type client riche. Nous prsenterons de manire plus dtaille les solutions de type Saas dans notre sectionCloudApplication(2.1.3). Le concept de SaaS a ensuite t adapt pour lutilisation distance de hardware HaaS (Hardware as a Service) ou IaaS (Infrastructure as a Service) grce au dveloppement de la virtualisation et des RIA. Ce concept permet dadministrer et dexploiter un data center virtuel hberg sur le Cloud. Avec ces services, lentreprise cliente ne paie que ce quelle utilise. Ce type de service vite aussi lentreprise les dsagrments lis lexploitation dun datacenter,telsquelaredondance desinfrastructures,lascuritausenslarge,lespiquets, etc.Cemodleconomiquepermetaussidediminuerlescotsenmatiredinfrastructureetde ressources humaines pour lentreprise cliente. Nous prsenterons de manire plus dtaille les solutionsdetypeIaasouHaaSdansnotresectionCloudInfrastructure(2.1.1).

dumas-00524318, version 1 - 7 Oct 2010

24

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Afin de rpondre aux besoins des dveloppeurs informatiques, qui ne se soucient gure des problmes de hardware et dinfrastructure, le concept de X as a Service a t adapt selon les mmes principes que pour le SaaS et le IaaS ds 20083132, pour leur offrir une plate forme dhbergement dapplications en ligne. Ce type de solution est communment appel PaaS(PlatformasaService).LarchitecturetechniquedesPaaSreposeengnralsurune coucheappelemiddlewarequipermetauxdveloppeursdapplicationsdefaireabstraction du systme sur lequel leur application tournera. Comme pour le SaaS et le IaaS le dveloppeur accde sa plateforme au travers dinternet. Nous prsenterons de manire plus dtaillelessolutionsdetypePaaSdansnotresectionCloudPlatform(2.1.2).

dumas-00524318, version 1 - 7 Oct 2010

Pourrsumercettesoussection,nouspouvonsdirequeleconceptdeXasaServiceconsiste consommer un service qui peut tre matrialis sous la forme dun software, un middleware ou mme dun hardware en ligne sur le Cloud, au travers dune interface Web de type client riche, de la mme manire que nous consommons de llectricit pour clairer une pice.

31

Google,IntroducingGoogleAppEngine,http://googleappengine.blogspot.com/2008/04/introducing googleappengineournew.html,publile07/04/2008,consultle15/06/2009 itbusiness.ca,WindowsinthecloudandaservicesofferingfromMicrosoft, http://www.itbusiness.ca/IT/client/en/CDN/News.asp?id=50556,publile30/10/2008,consultle 15/06/2009


32

25

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

1.3.2 Payasyougo
Le concept de pay as you go permet lutilisateur de ne payer que ce quil consomme rellement, sans forfait minimum. Le prix est donc calcul laide de ratios tels que processeurs parheure,gigaoctetsdedisquesparmois,etc. Cette notion permet de rduire radicalement les cots lis aux infrastructures informatiques. Joel L. Wolf et Philip S. Yu, dans leur article Load Balancing for Clustered Web Farms [WY_01], mentionnent que la sousutilisation des serveurs est du gaspillage. Cette sous utilisationestcourantedanslesentreprises,maiselleestncessairepourrpondredespicsde demandes. Selon Sun et AMD [GS_08], seulement 10 15% de la puissance des machines est utilise lheure actuelle. Mme sousutilises, ces machines consomment de lnergie et elles occupentdelaplaceinutilement. Les graphiques cidessous illustrent les diffrents cas de sousutilisation et de surutilisation des ressources informatiques. Le premier graphique (figure 3 cidessous) prsente le cas dune socit qui a les ressources informatiques pour absorber tous les pics. Les zones grises montrentlapartdebudgetperduedunesousutilisationdesressources.

dumas-00524318, version 1 - 7 Oct 2010

Figure3:Besoinsenressourcesinformatiques,surestimation

26

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Ce deuxime graphique (figure 4 cidessous), prsente le cas dune socit qui ne peut pas absorber tous les pics. Cette compagnie risque de perdre des clients, car ces derniers ne seront pas satisfaits de la prestation offerte. Les zones grises montrent la part de temps o les capacits informatiques ont t sousestimes. Cette zone est gnralement difficile estimer dunpointdevuetechnique,maisencoreplusdunpointdevuebudgtaire.

dumas-00524318, version 1 - 7 Oct 2010

Figure4:Besoinsenressourcesinformatiques,sousestimation

27

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Finalement,cederniergraphique(figure5cidessous)montrelecasidal.Lasocitnepaieque pourcequelleconsommegrceauxmcanismesdescalabiltetdlasticit(soussection1.3.3) offertsparleCloudComputing.

dumas-00524318, version 1 - 7 Oct 2010

Figure5:Besoinsenressourcesinformatiques,lacapacitcorrespondlademande En conclusion, nous pouvons dire que le Cloud Computing avec son modle conomique pay as you go permet en gnral dviter le gaspillage des ressources informatiques et donc dediminuerlescotsdexploitationlislinformatique.

1.3.3 Scalabilitetlasticit
Les concepts de scalabilit et dlasticit sont les pendants techniques du concept dcrit ci dessuspayasyougo(1.3.2).Ilsoffrentlutilisateurlimpressiondavoirenpermanencedes ressources de calcul et/ou de stockage illimites [MG_09]. Ces ressources peuvent tre facilement et rapidement ajoutes ou retires, de manire automatique parfois, afin de rpondreauxbesoinsdelutilisateur.

28

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

La scalabilit est la capacit dun systme de sadapter aux dimensions du problme quil a traiter33.C'estdirequela puissancede calcul,la mmoireoulestockage utilisparlesystme peuventfacilementtreaugmentsoudiminusenfonctiondesbesoins. Llasticit est laptitude d'un corps reprendre, aprs sollicitations, la forme et les dimensions qu'il avait avant d'tre soumis ces sollicitations34. Dans notre cas le corps est le systme informatiqueetlessollicitationssontlesbesoinsenmatiredepuissance,demmoireoude stockage. Llasticitpermetdoncdautomatiserlemcanismedescalabilitdesressourcesinformatiques

dumas-00524318, version 1 - 7 Oct 2010

misesdispositionsurleCloudComputing.

1.3.4 Virtualisation
Leconceptdevirtualisationoffreunevuelogiquepluttquephysique,delapuissancedecalcul, de la capacit de stockage, et des autres ressources informatiques. Elle permet de faire tourner sur une mme machine physique une ou plusieurs machines logiques. Ces machines logiques peuvent fonctionner avec des systmes dexploitation diffrents. Nous pouvons donc faire tournervirtuellementunLinuxsurunemachineWindowsetviceversa. La virtualisation permet aussi de faire fonctionner plusieurs machines logiques sur une machine physique et par consquent de diminuer le gaspillage des ressources tel que nous lavons dcrit danslasoussectionpayasyougo(1.3.2). La virtualisation dcouple le systme dexploitation et les applications du systme physique sur lequel ils fonctionnent. Ce principe permet soit de les porter sur de nouveaux environnements

CNAM,CoursCMSLIcssea2001,http://deptinfo.cnam.fr/CMSL/icssea/icssea2001/cours.html,publi endcembre2001,consultle17/10/2009
34

33

Larousse.fr,consultle17/10/2009

29

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

physiques, soit de les migrer dune machine une autre. La virtualisation offre aussi des mcanismes capables de capturer ltat de la mmoire vive, ce qui acclre et simplifie le dplacementouladuplicationduneinstancedemachinevirtuelle. En virtualisant les diffrents lments hardware dune machine physique, il devient alors trs facile daugmenter ou de diminuer la taille de chacun de ces lments en fonction des besoins dumoment. Nous en concluons que la virtualisation est le concept qui permet au Cloud Computing doffrir un moindre cot tous les types de machines: petite ou puissante; sur Linux, Windows ouUnix;etc.

dumas-00524318, version 1 - 7 Oct 2010

1.3.5 Publicetpriv
IlexistetroismodlestypesdeCloudComputing:publics,privsethybrides[GL_09,MG_09, SUN_09].Ilssonttousaccessiblesparunseultypedemdiumlinternet. Les Clouds publics sont gnralement exploits par des socits tierces comme Amazon, Google, Microsoft, GoGrid35, etc. (nous tudierons plus prcisment ces acteurs dans les chapitres suivants (2 et 3.3)). Ce sont des infrastructures mutualises et partages par un grand nombre dutilisateurs, accessible par linternet. Ces data centers sont construit un peu partout sur la plante, gnralement dans des lieux o llectricit est bon march et proche dunesourcedeau(rivire,fleuve)pourrefroidirlesmachines.Nouspouvonsciterlexemplede Google qui a ouvert en 2006 un data center The Dalles dans lOregon aux tatsUnis (environ 370km de Seattle). Ce data center se trouve au bord de la rivire Columbia et procheduneusinehydrolectrique. Les Clouds publics permettent de rduire les prix et les risques grce aux conomies dchelle par la multiplication des infrastructures. Ce modle permet aussi dassurer les capacits de scalabilit et dlasticit que doit offrir le Cloud Computing. Le Cloud public
35

http://www.gogrid.com/

30

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

tant hberg dans un environnement partag et exploit par une socit tierce, son exploitationpeutposeruncertainnombredeproblmescomme: Laconfidentialitdesdonnespeuttremisesendangerparlesautresutilisateurs. En fonction do sont hberges les machines, certaines lois peuvent porter un prjudicelutilisateur[AFG_09]. Les performances ne sont pas constantes, car dpendantes de lactivit des autres utilisateurs.

dumas-00524318, version 1 - 7 Oct 2010

Les Clouds privs sont des solutions ddies un client. Ils sont hbergs soit au sein de lentreprise soit chez un prestataire de services. Le client a par consquent un contrle total sur ses donnes, il matrise la scurit et bnficie dun niveau de service garanti. Par contre, les Cloudsprivssontsouventlimitsdansleurscapacitstechniques. LesCloudshybrides combinent les deuxtypesdeCloud. Cemodlepermetde garantirla scurit et la confidentialit des donnes tout en offrant la possibilit dabsorber une plus grande charge de manire temporaire. Ils sont gnralement utiliss pour absorber les pics de charge.LeproblmemajeurdecemodleestletransfertdesdonnesentrelesCloudprivs hbergs gnralement au sein de lentreprise et le Cloud public qui se trouve quelque part surlaplante. Pour rsumer cette soussection, nous pouvons dire que les termes public et priv ne dfinissent pas forcment o se trouve physiquement le Cloud. Souvent le terme public connote que la solution de Cloud Computing est hberge quelque part sur linternet et le termeprivquecettedernireesthbergeauseindelentreprise,etceci,quellequesoitla naturedesoncontenu.

31

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

1.4 SynthsedesdfinitionsduCloudComputing
Dans les sections prcdentes nous avons dfini les cinq concepts de base du Cloud Computing. Ces notions sont rpandues et ont atteint une certaine maturit depuis plusieurs annes dans le monde informatique, mais elles sont gnralement utilises de faon individuelle. Le concept de Cloud Computing ne fait donc quassocier des concepts architecturaux, techniques et commerciaux afin de rpondre un besoin mis il y a plus de trenteans[F_74].

dumas-00524318, version 1 - 7 Oct 2010

Ces notions sont reprises dans les nombreuses dfinitions releves par les auteurs des articles [G_09, VRCL_09], ainsi que dans les publications qui nous ont permis de mieux comprendre ce questleCloudComputing[AFG_09,McK_09,MG_09,P_09,TCW_09,WTK_09].Enlisantces dfinitions, nous constatons que les notions de service, de scalabilit et de virtualisation sont des concepts primordiaux, mentionns dans plus de la moiti des dfinitions tudies. Deux autres notions sont moins souvent mentionnes, mais elles ne nous semblentpasanodines. Pour la premire, il sagit de lide de centralisation releve dans la dfinition du Cloud Computing dAaron Ricadela [G_09]. Cette notion nous rappelle larchitecture terminal/serveur des annes soixante. Cette architecture centralise a disparu au dbut des annes nonante avec laugmentation exponentielle des ordinateurs personnels dans les entreprises. La centralisation des systmes informatiques a commenc son retour au dbutdesannesdeuxmilleaveclapparitiondesASP(1.3.1)etsaccroitavecundes conceptsdebaseduCloudComputingquestlanotiondeservice. La seconde notion est encore trop souvent mise de ct, mais elle est la cl pour choisir un prestataire de service de type Cloud Computing. Il sagit de la notion de servicelevel agreements (SLA). Le SLA est une notion qui devient importante lors de la premire panne. Ces pannes sont rares, mais peuvent bloquer des millions dutilisateurs, faire perdre beaucoup dargent une entreprise, voir faire perdre des

32

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

donnes prcieuses aux utilisateurs36. Ces problmes font donc gnralement lobjet de milliers darticles, et de millions de Twitt montrant le mcontentement des clients. Afin de diminuer le mcontentement du consommateur, cette notion devra tre dveloppe par les prestataires de service et les pnalits en cas de problme doivent tre clairementdfinies. Lesdeuxderniersconcepts,payasyougoetpublicetpriv,quenousavonstudisdans les soussections (1.3.2 et 1.3.5) cidessus, sont des notions reprises dans un quart des dfinitions seulement. Le concept de pay as you go est principalement un argument conomique.Certainespublicationsscientifiquesprouventquecemodleconomiquenestpas forcment moins cher pour le client quun autre [AFG_09]. Le concept de pay as you go permetderduirelescotspourdesorganismesquiontdesbesoinstrsvariablesenressource informatique, ou pour les petites structures qui nont pas les moyens davoir leur propre service informatique. Ce point est tudier avec attention avant de migrer son informatique sur Cloud. Le concept public et priv a t dvelopp pour rassurer les utilisateurs de solutions de Cloud Computing. Selon Neal Leavitt, au moment de la publication de son article, en janvier 2009, dans Computer du IEEE [L_09], 75 pourcent des responsables informatiques craignaient pour la scurit de leurs donnes sur un Cloud Computing. Les socits qui offrent des solutions de type Cloud ont donc dvelopp les modles public, privethybridepourgarantirlascuritdesdonnesetrassurerleursclients.

dumas-00524318, version 1 - 7 Oct 2010

TechCrunch,JasonKincaid,TMobileSidekickDisaster:DangersServersCrashed,AndTheyDontHaveA Backup,http://www.techcrunch.com/2009/10/10/tmobilesidekickdisastermicrosoftsserverscrashed andtheydonthaveabackup/,publile10/10/2009,consultle10/10/2009


36

33

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

1.5 DfinitionpersonnelleduCloudComputing
En nous basant sur la lecture des dfinitions [AFG_09, G_09, McK_09, MG_09, P_09, VRCL_09, WTK_09], ainsi que sur les rflexions conduites cidessus en tudiant les cinq concepts de base, nouspouvonsprocderunedfinitionduCloudComputing: Le Cloud Computing est un mga ordinateur scalable et lastique, pour lequel lutilisateur ne paie que ce quil consomme. Cet ordinateur virtuel hberge des services (software, hardware ou middleware) accessibles depuis linternet de manire publiqueouprive.

dumas-00524318, version 1 - 7 Oct 2010

LeCloudComputingestunconceptjeunequidoitencoresestabiliserettrouverunnomplus orient business37. Par exemple, Sam Palmisano PDG d'IBM prfre parler dinfrastructure hautement virtualise pour parler de Cloud Computing. Tous les acteurs du march avancent leurs arguments: facilits de dveloppement, solution accessible depuis nimporte o, conomique, scalable, dynamique, etc. Lavenir nous montrera ce que nous garderons de ce concept qui devrait rvolutionner le monde informatique selon une analyse du Gartner en mai 200838.

InformationWeek,BobEvans,HP'sHurd,IBM'sPalmisanoAgree:CloudIsLousyName, http://www.informationweek.com/blog/main/archives/2009/11/hps_hurd_ibms_p.html,publile 5/11/2009,consultle5/11/2009 Gartner,GartnerIdentifiesTopTenDisruptiveTechnologiesfor2008to2012, http://www.gartner.com/it/page.jsp?id=681107,publile28/05/2008,consultle13/12/2009


38 37

34

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

2 Prsentationdessolutionsdumarch
Dans le chapitre prcdent nous avons donn notre dfinition du Cloud Computing. Ce concept est gnraliste et il englobe aussi bien des solutions de location de hardware sur internet, que des solutions applicatives accessibles en ligne. Nous allons, dans les sections ci dessous, classifier les diffrentes solutions (en les regroupant en trois catgories hardware, middlewareetsoftware)etce,enutilisantlapyramideduCloudComputing.

dumas-00524318, version 1 - 7 Oct 2010

2.1 LapyramideduCloudComputing
Dans notre section Dfinition personnelle du Cloud Computing (1.5), nous dfinissons le Cloud Computing comme un mga ordinateur qui hberge des services (software, hardware ou middleware) accessibles depuis linternet. Cette dfinition est gnrale et permet denglober tous les types de services: software (SaaS), hardware (IaaS) ou middleware (PaaS) offerts par les acteurs du march du Cloud Computing. Afin de faciliter la comparaison entre les diffrentes solutions du Cloud Computing, certains spcialistes [E_08, L_08, S_08] les ont hirarchises en trois catgories. Michael Sheehan [S_08] les prsente sous forme dune pyramide (figure 6). Selon lui, cette pyramide pourrait tre inverse, si elle tait base sur le nombre de services offerts par catgorie. Elle est ainsi prsente afin de montrer une hirarchie de services (hardware, middleware et software) qui pourraient tre interdpendants. lheure actuelle, une application de bureautique SaaS comme celle offerte par ZoHo39 nest pas dpendante dune solution de type IaaS comme EC240 dAmazon. terme cela pourrait changer,ainsicertainesapplicationsSaaSseronthbergessurdesIaaSoudesPaaS. Dans les soussections suivantes nous allons dfinir les trois couches: Cloud Infrastructure, Cloud Platform et Cloud Application de la pyramide du Cloud Computing et prsenter
39 40

http://writer.zoho.com/ http://aws.amazon.com/ec2/

35

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

des solutions du march qui pourront tre utilises pour la mise en place dun site type Web 2.0surunCloud.Nousneferonsquelisterlesautressolutionsquinecorrespondentpas,selon nous,nosbesoinspourceprojet.

Application Platform Infrastructure

dumas-00524318, version 1 - 7 Oct 2010

Figure6:PyramideduCloudComputing

2.1.1 CloudInfrastructure
Cette catgorie, la base de la pyramide du Cloud Computing regroupe les solutions qui permettent aux dveloppeurs et aux ingnieurs systme dadministrer et dexploiter un data center virtuel hberg sur le Cloud. Les solutions de type Cloud Infrastructure laissent aux spcialistes une grande libert pour contrler et paramtrer ces infrastructures informatiques (systme) selon leurs besoins. Les solutions offertes dans cette couche sont souvent aussi appeles solutions IaaS. Dans cette catgorie sont regroupes aussi bien des solutions de stockage de donnes comme Amazon S341, que les solutions dhbergement de serveurs (virtuels). Dans cette seconde catgorie nous pouvons citer les solutions que nous avonstudiescommeAmazonEC242[AnnexeA]etElasticHosts43[AnnexeB],ainsiquedautres

41 42 43

http://aws.amazon.com/s3/ http://aws.amazon.com/ec2/ http://www.elastichosts.com/

36

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

solutions du march qui sont similaires comme GoGrid44, Rackspace Cloud45, RightScale46, Skytap47etOrangeBusiness48. Lavantage principal, offert par les solutions de type Cloud Infrastructure, est un contrle complet des infrastructures utilises. Les inconvnients sont plus nombreux pour le moment. Ces solutions ncessitent plus de travail et dexpertise pour leur mise en uvre, compares aux solutions des couches suprieures de la pyramide du Cloud Computing. Ces solutions ncessitent souvent un programme tiers pour mettre en uvre les mcanismes de scalabilit.Deplus,lessolutionsdetypeCloudInfrastructurefonctionnentgnralement avec un mcanisme de multiplication dinstances (clonage de machines virtuelles), ce qui ncessite la mise en place dun rpartiteur de charge et impose certaines contraintes

dumas-00524318, version 1 - 7 Oct 2010

architecturales pour le dveloppement dapplication. Le dernier inconvnient est li aux cots cachs. Le prix des licences des systmes dexploitation et des programmes excuts sur ces machinesvirtuellespeuttrelev,carleslicencessontsouventfacturesauprocesseuretnon selonlemodleconomiquepayasyougoprocesseur/temps(1.3.2).

2.1.2 CloudPlatform
Cette catgorie de la pyramide du Cloud Computing permet aux dveloppeurs de dployer leurs applications sans se soucier des contraintes systme, ainsi que de saffranchir des problmes de scalabilt et dlasticit. Souvent les solutions offertes dans cette couche sont appeles solutions PaaS. Cette couche de la pyramide regroupe deux types de solutions. Les premires sont accessibles en ligne comme Microsoft Windows Azure49 [Annexe C], Engine
44 45 46 47 48 49

http://www.gogrid.com/ http://www.rackspacecloud.com/ http://www.rightscale.com/ http://www.skytap.com/ http://www.orangebusiness.com/fr/entreprise/thematiques/solutionsIT/cloudcomputing/index.jsp http://www.microsoft.com/windowsazure/

37

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Yard50, Force.com51, GigaSpaces52, Google App Engine53 [Annexe D] ou Heroku54. Les secondes sont des solutions de type middleware installer en interne ou sur des solutions de la couche infrieure Cloud Infrastructure comme Appistry55 [Annexe E], AppScale56 [Annexe F], VMware vSphere 457 [Annexe G] ou Xen Cloud Platform58 [Annexe H]. Ces middlewares sont dvelopps pour hberger tous types dapplications, pour lesquelles le dveloppeur ne veut pas sesoucierdesproblmesdescalabiltetdlasticit. Les avantages principaux des solutions de type Cloud Platform sont une simplification des dveloppements pour les applications de type Cloud et un affranchissement des contraintes systme, de scalabilt et dlasticit. Les inconvnients sont lis au choix de la plateforme qui est souvent une solution ferme (propritaire) avec ses propres contraintes. Le choix du ou des

dumas-00524318, version 1 - 7 Oct 2010

langages de programmation est limit. De plus, les prestataires de services qui offrent des solutions de PaaS imposent souvent des rgles contraignantes pour le dveloppeur, comme linterdictiondutiliserdesmcanismesdesession.

50 51 52 53 54 55 56 57 58

http://www.engineyard.com/ http://www.salesforce.com/platform/ http://www.gigaspaces.com/ http://appengine.google.com/ http://heroku.com/ http://www.appistry.com/ http://appscale.cs.ucsb.edu/ http://www.vmware.com/products/vsphere/ http://www.xen.org/products/cloudxen.html(encoursdedveloppementle20/01/2010)

38

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

2.1.3 CloudApplication
Cette catgorie au sommet de la pyramide du Cloud Computing regroupe toutes les applications (webmail, suite de bureautique en ligne, CRM, ERP, etc.) hberges sur linternet, capables de grer un grand nombre dutilisateurs simultanment et pour lesquelles le client ne se soucie pas do elles sont hberges et comment elles fonctionnent. Ces solutions sont dveloppes pour rpondre aux besoins de lutilisateur final et elles noffrent que peu de possibilits de paramtrisation. Les solutions offertes dans cette couche sont souvent aussi appeles solutions SaaS. Les solutions regroupes dans la catgorie Cloud Application permettent de rpondre des besoins spcifiques du client. Il peut sagir de la gestion de ses

dumas-00524318, version 1 - 7 Oct 2010

propres clients avec par exemple Salesforce.com59, de la gestion de sa messagerie avec une solutioncommeProofpoint60oucelledelabureautiqueaveclessolutionsGoogleApps61,Google Docs62,iWork.com63,ZoHo64ou24SevenOffice65. Les avantages principaux des solutions de type Cloud Application sont les suivants: un accs direct lapplication depuis nimporte o dans le monde, une simplicit dutilisation, une mise en uvre de solutions prouves. Un autre avantage des solutions de type SaaS est quelles sont parfois gratuites et mettent en uvre le modle conomique freemium. Linconvnient majeur est li aux fonctionnalits souvent limites de lapplication. Ces solutions ne permettent gnralementpasdtreadaptespourrpondredesbesoinsspcifiques.

59 60 61 62 63 64 65

http://www.salesforce.com/ http://www.proofpoint.com/ http://www.google.com/a/ http://docs.google.com/ http://www.iwork.com/ http://www.zoho.com/ http://www.24sevenoffice.com/

39

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

3 MiseenpratiqueduconceptdeCloudComputing
Nous commenons ce chapitre par un rappel du contexte nonc dans le document propositiondesujetdemmoiredu17juin2009. LesmissionsduLaboratoiredesTechnologiesdelInformation(LTI)sontdedeuxtypes.La premiremissionestlaralisationdemandats,telsqueledveloppementdapplications, laralisationdesitesWeb,lacrationdegraphismesetlamaintenancedesitesWeb.La secondemissionestlarecherche,principalementdansledomaineduWeb,surdessujets commelAdministrationenLigne(AeL),linfobsitouleWeb2.0.

dumas-00524318, version 1 - 7 Oct 2010

En 2005, Tim O'Reilly a dfini le Web 2.0 comme tant le Web communautaire et interactif. En 2008, Amazon a t la premire socit offrir une nouvelle solution dhbergement base sur les concepts dits de Cloud Computing. Dautres acteurs du march des Technologies de l'information et de la communication (TIC), comme Google et Microsoft ont rapidement suivi. Depuis le dbut de lanne 2009, les fabricants de hardware ont rejoint le march en offrant des machines spcialement conues pour ce type darchitecture. Le Web 2.0 ncessitant de grosses ressources informatiques, il nous semble important dtudier commentnous pourrions hbergerun siteWeb2.0suruneplateformedetype Cloud. Dans les sections cidessous, nous allons premirement dfinir les besoins lis la mise en uvre de ce projet. Nous rappellerons aussi succinctement ce quest le Web 2.0 et les tudes que nous avons menes sur ce sujet au sein du Laboratoire des Technologies de lInformation. Nous dcrirons ensuite les objectifs atteindre pour valider la partie technique ainsi que la ralisationdeceprojet.Noustermineronscechapitreenchoisissant,laidedoutilsdegestion,

40

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

la plateforme de Cloud Computing qui sera utilise pour la ralisation et la validation de ce projet. Pour raliser ce projet, je suis encadr par le Professeur JeanPhilippe Trabichet responsable du Laboratoire des Technologies de lInformation. En tant que chef de projet, je suis soutenu par tousmescollguesduLTI,desingnieurssystmedelaHautecoledeGestiondeGenve(HEG) etparmescollguesduCentredesTechnologiesdel'Information(CTI)deltatdeGenve. Les besoins et les objectifs ont t valids par mon suprieur et les membres du Comit Interdpartemental des Chargs de Communication (CICC) de ltat de Genve. Jai ainsi

dumas-00524318, version 1 - 7 Oct 2010

commenc ma mission par une analyse des diffrentes platesformes de Cloud Computing, avant de choisir une plateforme pour le projet. Ensuite, jai travaill sur la partie modlisation du projet. Aprs avoir dvelopp et dploy lapplication, avec laide de mes collgues, jai conduitplusieurscampagnesdetests.

3.1 Dfinitiondesbesoins
Dans cette section, nous allons prciser les deux besoins identifis pour ce projet. Le premier besoin est un besoin mtier. Il consiste mettre en place une application de type Web 2.0 qui permetauxutilisateursdusitedeltatdeGenvedtiqueterchaquepageWebavecdesmots cls qui leurs sont propres, afin de faciliter la rcherche. Le second besoin est une exigence technique. Il consiste choisir une plateforme de Cloud Computing. Ce second besoin permet dtudier les contraintes et les opportunits lies lhbergement dapplications Web surunCloud.

41

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

3.1.1 LeWeb2.0
Notre premier besoin est li au Web 2.0. Dans cette soussection, nous allons commencer par dfinirceconcept.PuisnousprsenteronslestudesetlesprojetsmettantenuvreleWeb2.0 que nous avons dj conduits. Nous terminerons cette soussection par une spcification du besoin. Les dfinitions du Web 2.0 sont multiples, une ide matresse permet de les rsumer. Les sites

dumas-00524318, version 1 - 7 Oct 2010

Web 1.0 fournissent des informations. Les sites Web 2.0 placent linternaute comme un acteur ayantunrleactif,collaboratifetdoncproductifsurlesiteWebvisit. Ds le dbut du Web 2.0 en 2005, les responsables de la communication de lAdministration cantonale genevoise ont rgulirement sollicit les services du Laboratoire des Technologies de lInformation afin dtudier les possibilits dintgration de nouveaux services de type Web 2.0 dans le site www.ge.ch. Lun de ces services est loffre de flux RSS. Depuis dbut 2006, ltat de Genve loffre ses citoyens. Les flux RSS sont un des composants de base pour lchange dinformationdanslessitesWeb2.0. Dans le cadre de ces tudes, nous avons travaill sur la thmatique des blogs qui sont des sites Web dinformation faciles crer et mettre jour par tout un chacun sans formation de Webmaster. De plus, ils permettent linteraction avec les citoyens qui peuvent publier leurs commentaires. Les blogs nont jamais t mis en service sur le site officiel de ltat car les discussions peuvent rapidement prendre une tournure politique contraire aux principes dthiqueetdedontologiedesAdministrations. En 2008, nous nous sommes intresss aux sites http://del.icio.us et twine.com qui permettent de partager des favoris et de les qualifier. Il sagit dapplications alliant les concepts du Web 2.0 etduWebsmantique.Cedernierconceptpermetdefourniruneintelligenceausystme,base sur une meilleure connaissance du contenu. Cette tendance collaborer pour tiqueter de linformation se retrouve sur des sites de partage de photos comme Flickr.com, de liens comme del.icio.us et twine.com, ainsi que sur des sites de commerce en ligne comme Amazon.com. Ce concept est considrer par les diteurs de site Web et aussi par les rdacteurs des sites administratifs. 42 LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Au second semestre 2009, un audit du moteur de recherche du site de ltat de Genve a t men par une spcialiste en information documentaire66. Un des points qui a t soulev par cette tude est li au vocabulaire utilis. Le vocabulaire du site www.ge.ch peut tre abscons pour les personnes externes ltat et les termes spcifiques au mtier sont gnralement inadaptspourlegrandpublic. Suite cet audit du moteur de recherche et fort de nos tudes en matire de Web 2.0, nous avons propos au Comit Interdpartemental des Chargs de Communication, prsid par la Chancelire Madame Madame Anja Wyden Guelpa, de dvelopper un prototype fonctionnel dapplication Web 2.0, mettant en uvre des mcanismes dtiquetage collaboratif ou folksonomie. Cette application permet tout internaute dtiqueter une page Web et de

dumas-00524318, version 1 - 7 Oct 2010

rechercherlespagesautraversdunnuagedetag. Enconclusiondecettesoussection,nouspouvonsrsumernotrebesoinenmatiredeWeb2.0 en un mot: collaboration. En mettant en place une application qui permet au citoyen de collaborer avec lAdministration, cela nous permettra de mettre en pratique les rflexions que nous avons eues depuis 2005. Cela nous donnera galement la possibilit de dvelopper notre infrastructureapplicativepourconforterlacommunicationbidirectionnelle.

66

MadameKarinePasquier,assistanteHESlaHEG

43

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

3.1.2 LeCloudComputing
Notre second besoin est dtudier le concept de Cloud Computing. Nous commencerons cette soussection par rappeler limportance que va prendre le Cloud Computing dans les prochainesannes.Nouslatermineronsenspcifiantnosbesoinsenlamatire. Tim OReilly, PDG de OReilly Media, a dfini, lors du congrs Web 2.0 Expo en avril 200867, le Cloud Computing comme une des briques de base des platesformes informatiques de prochaine gnration. Le Gartner a annonc en aot 200968 que le Cloud Computing sera un desconceptstechnologiquesmajeursdicideuxcinqans. Aprs avoir dfini ce quest pour nous le Cloud Computing dans le premier chapitre, nous allons choisir et tester une plateforme dans les sections cidessous. Le rsultat de cette tude nous permettra, au travers dune ralisation pratique, de constater les contraintes techniques lieslhbergementduneapplicationWebsurunCloud. Cette tude ma permis de prsenter personnellement, en janvier 2010, le concept de Cloud Computing aux collaborateurs du Centre des Technologies de linformation de ltat de Genve. Lors de cette prsentation, jai dvoil ma perception de ce que pourrait tre la future plateforme informatique de ltat de Genve. En mars 2010, jai aussi introduit la thmatique duTechnologyDaydebQual69surleCloudComputing.Cetteprsentationapermistoutes les socits prsentes lors de cette journe et commercialisant des solutions de type Cloud, derpondreauxinterrogationsquejaisoulevesenmatiredescurit,deniveaudeserviceet de domiciliation de serveurs. Jai finalement eu lopportunit de prsenter cette tude aux

dumas-00524318, version 1 - 7 Oct 2010

67

Joyent,TimOReilly,WhatisCloudComputing,http://www.youtube.com/watch?v=6PNuQHUiV3Q, publile07/05/2008,visionnle15/10/2009

Gartner,Gartner's2009HypeCycleSpecialReportEvaluatesMaturityof1,650Technologies, http://www.gartner.com/it/page.jsp?id=1124212,publile11/08/2009,consultle12/09/2009
69

68

http://www.ebqual.ch/

44

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

tudiants du MSSI70 de la HEG, de leur exposer les concepts lis au Cloud Computing ainsi quequelquessolutionsdetypeIaaS,PaaSetSaaS. En conclusion de cette soussection, nous pouvons dire que nos besoins en matire de Cloud Computingsontprincipalementtournsversltudedecenouveauconcept,afindvangliser nos clients, nos partenaires ou nos tudiants et pouvoir rpondre leurs interrogations en la matire; mais aussi de nous prparer pour la nouvelle plateforme informatique que va devenir leCloud.

dumas-00524318, version 1 - 7 Oct 2010

3.2 Objectifs et contraintes du prototype fonctionnel dun site Web2.0


Afin damliorer et faciliter la recherche dinformations dans le site Web de ltat de Genve, nous avons dvelopp un prototype fonctionnel, mettant en uvre le concept dtiquetage collaboratif ou folksonomie, bas sur le concept de collaboration du Web 2.0. La folksonomie est un nologisme dsignant un systme de classification collaborative dcentralisespontane,bassuruneindexationeffectuepardesnonspcialistes[WIKI1]. Danslecadredeceprojet,nousavonsdveloppunpremierprototypepermettantauxcitoyens de qualifier, laide de motscls qui leurs sont propres, les informations publies sur les pages des sites Web de www.ge.ch. Cette fonctionnalit amliore le classement des pages Web et facilitelarecherchedinformations.

70

http://www.hesge.ch/heg/mba_mssi/

45

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Ce projet de folksonomie met en place un Widget pour tiqueter chaque page Web avec un ou plusieurs motscls. Un second module permet linternaute de retrouver linformation quil recherche laide des mots cls qui lui sont propres, au travers de ce nouveau plan de classement.

3.2.1 Objectifsatteindrepourceprojet:

dumas-00524318, version 1 - 7 Oct 2010

1. LtiquetagedespagesWeb:cedveloppementpermetdajouterdesmotsclsdansles pages Web. Il permet aussi linternaute de confirmer ou dinfirmer limportance dun motcldansunepage. 2. La recherche par motscls: ce second dveloppement permet aux internautes de lister les liens associs un motcl. La liste des liens prsente au citoyen peut tre affine enpermettantdechoisirplusieursmotscls. 3. Le Cloud Computing: ce projet doit permettre de choisir, tester et valider une solution de type Cloud Computing qui nous affranchit des problmes lis la rpartitiondechargeetdelahautedisponibilit.

46

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

3.2.2 Contraintesduprojet:
1. Ce dveloppement ne doit pas impacter le code dj mis en uvre dans la centaine de siteshbergssurlesserveursdewww.ge.ch. 2. Il doit sintgrer facilement dans des sites dvelopps dans les langages suivants: ASP, PHPetJava. 3. CedveloppementdoitrespecterlacharteditorialeWebdeltatdeGenve. 4. Le niveau de service pour ce projet doit tre dau moins 99.95% (moins de 5 heures

dumas-00524318, version 1 - 7 Oct 2010

dinterruptionsparan).

3.3 ChoixduneplateformedeCloudComputing
Dans cette section, nous allons slectionner laide doutils de gestion, la plateforme de Cloud Computing qui hbergera notre prototype fonctionnel (POC). Pour faire ce choix, nous utiliseronstroisoutils: Lecomparatifdes cotsestuntableauquipermetdercapitulertousles cotspour une solution dtermine. Dans cette matrice nous prsenterons les cots lis linfrastructuretechnique.Nousprsenteronsaussilescots deslogicielsncessairesau fonctionnement de lapplication hberge. Finalement, nous estimerons les cots des ressources humaines ncessaires lexploitation dune plateforme de Cloud Computing.

47

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Lamatricedeprfrenceestunemthodequipermetdedfinirunordredepriorit et dimportance entre les critres retenus pour notre projet. Dans cette soussection (3.3.2) nous commencerons par dfinir et qualifier chacun de ces critres. Nous comparerons ensuite chacun dentre eux avec tous les autres, afin de dterminer limportance de chaque critre. Cet ordre dimportance nous permettra de pondrer le rsultatobtenulaidedenotretroisimeoutillanalysemulticritres.

Lanalyse multicritres est une mthode qui permet de comparer plusieurs solutions entre elles, laide de notes pondres pour chaque critre dvaluation. Les notes, pour cette valuation vont de zro dix. Zro signifiant que le critre ne peut pas tre appliqu pour la solution et dix signifiant que le critre est totalement pris en

dumas-00524318, version 1 - 7 Oct 2010

comptedanslasolution. Danscesanalyses,certainscritres,impratifs(parexemple:datacenterenSuisseoustandards ouverts) pour notre mandant principal ltat de Genve, ont volontairement t rendus facultatifs. Ces critres impratifs, de par leur nature bloquante lors dun projet, limiteraient notre choix la solution vSphere 4 de VMware hberge au sein de notre data center. Ce changementdeprioritnouspermetdtudierdenouvellessolutionsetainsiproposerlavenir denouvellessolutionsnosclients. Pour cette tude et la mise en place de notre prototype fonctionnel dun site type Web 2.0 sur unCloud,nousavonsretenucinqsolutionsdeCloudComputing: Amazon EC2, avec sa solution de type IaaS, ne rvolutionne pas loffre en matire dhbergement Web dynamique. Les hbergeurs dans ce domaine sont nombreux et souvent meilleur march quAmazon. Nous retenons toutefois la solution EC2 car Amazon est un des pionniers en matire de Cloud Computing. Il a aussi su amliorer son offre durant sa premire anne dexploitation commerciale. De plus, Amazon est un des rares prestataires de service offrir de lhbergement aussi bien aux tatsUnis quenEurope.

48

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

AppScale est une solution open source de type Cloud Platform qui, pour le moment, permet principalement de tester des applications destines fonctionner sur Google App Engine. En ouvrant sa plateforme dautres solutions de stockage de donnes que la solution propritaire de Google, AppScale nous semble une solution davenir. AppScalesedploiesurlasolutionAmazonEC2.

Azure est la solution de PaaS commercialise par Microsoft. Cest une des seules solutions du march qui permet dexcuter un nombre important de langages de programmation. De plus, Microsoft dans sa solution de Cloud Computing offre un service de base de donnes (Sql Server) que nous utilisons dj pour certains projets de ltat de Genve. Azure permet aussi de se connecter depuis son Cloud des

dumas-00524318, version 1 - 7 Oct 2010

applicationsexistantesauseindelentreprise. GoogleAppEngineestunedesseulessolutionsdePaaSpromettreuneplateforme scalable et lastique de manire transparente pour le client. Google avec ses nombreux data centers rpartis autour du monde offre aussi une qualit de service indniable, malgrquellenesoitpasgarantie. VMwarevSphere4Dellestunedessolutionslesplusaboutiespourledploiement de Cloud Platform au sein dune entreprise. Ayant la possibilit de facilement tester cette solution au sein de notre laboratoire71, nous nous devons de prendre en compte cettesolutiondansnotretude. Quatre sur cinq des solutions retenues pour ce projet et numres cidessus sont de type Cloud Platform. Comme nous lavons dfini dans notre section (2.1.2) ces solutions permettent aux dveloppeurs de dployer leurs applications sans se soucier des contraintes systme, ainsi que de saffranchir des problmes de scalabilt et dlasticit. Notre objectif premier tant de mettre en place un site Web 2.0 sur un Cloud, nous ne prenons pas en considration des problmes dinfrastructure. Nous ne voulons pas non plus tester une solution

LeLaboratoiredesTechnologiesdelInformation,bnficiedesinfrastructuresdelaHEGpourses projetsderecherche.LtatdeGenveexploiteaussibiendessolutionsdechez:Dell,Sun(Oracle),IBM, etc.


71

49

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

type Cloud Application, car nous ne pourrions pas nous rendre compte des problmes techniqueslislamiseenplaceduneapplicationscalableetlastique. Nous conclurons cette section (3.3) par une tude des rsultats obtenus. Cette analyse nous permettraderetenirlasolutionquinoussemblelaplusadaptenotreprojetdemiseenplace dunsitetypeWeb2.0surunCloud.

dumas-00524318, version 1 - 7 Oct 2010

3.3.1 Comparatifdescots
Le comparatif des cots se prsente sous la forme dun tableau qui rcapitule les cots annuels de chaque solution de Cloud Computing que nous avons retenue pour lhbergement de notre projet folksonomie. Les quatre premires solutions: Amazon EC2, AppScale, Azure et Google App Engine sont des solutions de type Cloud public et donc hberges en externe. Pour comparer ces solutions, nous avons calcul le cot de la location de deux instances serveur, avec 10 Go de stockage en base de donnes. Ce prix comprend aussi un trafic de donnes de 25Go en entre et 250Go en sortie. La dernire solution, VMware vSphere 4 Dell, est une solution de type Cloud priv hberge en interne. Le prix des infrastructures techniques tant amorti sur 3 ans minimum, nous avons divis ce prix par trois. Nousdevonsaussinoterquecettederniresolutionpermetdhbergerauminimum8machines virtuelles, une par core de processeur. VMware garantissant un nombre suprieur de machines virtuellesparcore,lecotannueldelinfrastructuretechniquepourraittreencorediminu. Pour chacune des solutions analyses, nous avons prvu un budget de deux jours et demi pour des maintenances lies aux infrastructures techniques. Nous ne prvoyons pas de budget ni pour la maintenance applicative, ni pour le dveloppement. Ces cots pouvant fortement varier enfonctionduprojet.

50

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud
Solution/ Centrede cot Infrastructure technique Logiciel Ressources humaines 0. 2'500. 0. 5000. 0. 2'500. 0. 2'500. 13800. 13'800. 14'000. 12'300. AmazonEC2 AppScale Azure GoogleApp Engine

VMware vSphere4 Dell (38'000.) (an)12'670. 18'200. 27'500*.

dumas-00524318, version 1 - 7 Oct 2010

Totalannuel

16'300.

18'800.

16'500.

14'800.

(58'370.) 19'200.

TableauI:comparatifdescotsannuelsenfrancsSuisse(tatau21janvier2010)
*25joursparansontprvuspourlesmisesjourdusystmeetlemonitoringdesserveurs.Lesventuels cotsdemaintenancehardwaresontcouvertsparleservicegoldvenduparDell.

Dans le tableau (I) cidessus, la solution la plus chre (58'370. CHF) est celle de type Cloud priv mise en place sur une solution VMware vSphere 4 Dell. Ce prix peut tre divis par quatre pour obtenir le cot dhbergement dune VM aux capacits similaires celle des autres solutions compares dans cette matrice. Le prix annuel dune telle machine serait alors de 16'500. CHF. Toutefois, ce prix ne prend pas en compte toutes les charges (loyer, lectricit, refroidissement, rseau). Nous estimons le cot total de la solution VMware vSphere 4 Dell, charges comprises, 19'200. CHF par an. Ce prix reste plus lev que celui propos par les hbergeurs de type Cloud public, mais il montre quune solution de type Cloud priv ne fait pas exploser le budget dune socit (PME). Ce prix montre aussi quune PME peut bnficier aussi de petites conomies dchelle en rationalisant son informatique. De plus, si la socit garde son infrastructure technique une ou deux annes supplmentaires, cette dernire ne lui coutera plus que des cots dexploitation et de licence VMware, le hardware tant dj amorti.

51

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

LasolutionlamoinschreestcelledeGoogleAppEngine(14'800.CHF).Googleoffreuneplate formedequalit,maisleservicenestpasgarantiparunSLA. AmazonetMicrosoftavec Azureoffrentpourun prix similaire,touslesdeux uneplateformede bonne qualit avec un SLA quasi quivalent. Lavantage, pour les dveloppeurs, de la plate forme Azure est quils nont pas se soucier des problmes lis linstallation du systme dexploitationetduserveurapplicatif. LaderniresolutionAppScaleesthbergedanslecadredecechiffragechezAmazon.Lescots lislinfrastructuretechniquesontdoncidentiques.Parcontre,cettesolutionncessiteunpeu plusdetravaildemaintenanceetdoncunprixlgrementpluslev.

dumas-00524318, version 1 - 7 Oct 2010

3.3.2 Matricedeprfrence
Dans cette soussection nous allons dfinir et qualifier les critres qui nous permettront dvaluer et comparer les solutions de Cloud Computing. Ensuite, nous les comparerons entre eux afin de dfinir leur ordre dimportance et ainsi pouvoir pondrer les notes obtenues parchacunedessolutionsretenuesdansceprojet,pourchacundecescritres.

3.3.2.1 Critresdanalyse
Afindechoisirlasolution deCloudComputingpournotre projetavecltatde Genve, nous avons dfini treize critres importants pour valuer et comparer les solutions entre elles. Ces critres couvrent les domaines suivants: la qualit, la scurit, les aspects techniques et la situationgographique.

52

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Afindegarantirunecomprhensionpartousdecestreizecritresnouslesavonsdfiniscomme suit: 1. Cloudprivsignifiequelesapplicationsetlesdonnessonthbergessoitauseinde lentreprise, soit dans une structure ddie et scurise chez un prestataire de service. EncasdhbergementexternelesdonnessontaccdesautraversdunVPN. 2. Cloud public signifie que les applications et les donnes sont entirement hberges surdesinfrastructuresmutualises. 3. Communaut/ documentation/supportenglobent toutesles solutionsdaidemises disposition des utilisateurs de solution de Cloud Computing pour dvelopper,

dumas-00524318, version 1 - 7 Oct 2010

dployeretexploiterleursolution. 4. Data center en Europe signifie que les applications et les donnes sont hberges dans un des pays membres de lUnion Europenne ou de lAssociation europenne de librechange(AELE). 5. Data center en Suisse signifie que les applications et les donnes ne sont hberges quenSuisse. 6. Data center n'importe o signifie que les applications et les donnes sont hberges nimporteodanslemonde. 7. ElasticitsignifiequelasolutiondeCloudComputingestcapabledegrandiretde reprendresatailleinitiale,entirementautomatiquement. 8. Facilit de dploiement signifie que lutilisateur de la solution de Cloud Computing peut dployer son application de manire simple soit laide dun programmetypeFTP,soitautraversduneinterfaceWeb. 9. Langages de programmation signifie que les langages autoriss pour le dveloppementsontdeslangagesdeprogrammationcourammentutilisssurlemarch comme:Java,.Net,PHP,PythonouRuby.

53

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

10. Scalabiltsignifiequelasolutionestcapabledabsorberlamonteencharge. 11. Scurit des donnes signifie que la solution garantit que les tiers non autoriss ne peuvent accder aux donnes. Cela signifie aussi que les donnes sont rgulirement backupesetquellespeuventfacilementtrercupreslorsdemigration. 12. SLAsignifiequelasolutionoffreuncertainniveaudeservicegarantietdespnalits en cas de nonrespect. Le SLA dfinit des valeurs quantifiables pour chaque point important(rseau,serveur,tempsderponse,etc.)desonservice. 13. Standards ouverts signifie que la solution peut facilement tre transfre dune solutionuneautre.

dumas-00524318, version 1 - 7 Oct 2010

3.3.2.2 Analysedescritres
Dans cette soussection nous avons compar chacun des critres (tableau II cidessous), dfinis danslasoussectioncidessus(3.3.2.1)entreeuxafindefaireressortirleurniveaudimportance. lintersectiondesdeuxcritrescompars,unnombreestindiqu.Cestlenumroducritrele plus important du couple compar. Par exemple: en comparant le couple 1. Cloud priv et 2. Cloud public, nous avons estim que dans le cadre de ce projet, il est plus important de tester une solution de type Cloud priv quune solution de type Cloud public. La valeur retenuelintersectionducouplecomparest1.

54

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

3.Communaut/documentation/support

6.Datacentern'importeo

9.Langagesdeprogrammation

8.Facilitdedploiement

4.DatacenterenEurope

5.DatacenterenSuisse

11.Scuritdesdonnes

10.Scalabilt

dumas-00524318, version 1 - 7 Oct 2010

1.Cloudpriv 2.Cloudpublic 3.Communaut/documentation/ support 4.DatacenterenEurope 5.DatacenterenSuisse 6.Datacentern'importeo 7.Elasticit 8.Facilitdedploiement 9.Langagesdeprogrammation 10.Scalabilt 11.Scuritdesdonnes 12.SLA 13.Standardsouverts

1 X

3 3 X

1 4 3 X

5 5 3 5 X

1 2 3 4 5 X

7 7 3 7 7 7 X

1 8 3 8 8 8 7 X

1 10 11 12

12.SLA

9 10 11 12 13 3 3 11 12 13

9 10 11 12 13 5 10 11 12 7 7 11 7 5 7 8 9 10 11 12 13 8 10 11 12

X 10 11 12 13 X 11 12 10 X 11 11 X 12 X

TableauII:Matricedeprfrence

55

LeclreOlivier

13.Standardsouverts 1

2.Cloudpublic

1.Cloudpriv

7.Elasticit

MiseenplacedunsitetypeWeb2.0surunCloud

En comptant, dans le tableau (II) cidessus, le nombre de fois quun critre a t dfini plus importantquunautre,nousavonstabliletableau(III)cidessous. Critres Points Pourcentage 11.Scuritdesdonnes 12 15 7.Elasticit 10 13 12.SLA 10 13 3.Communaut/documentation/support 9 12 10.Scalabilt 8 10 1.Cloudpriv 6 8 5.DatacenterenSuisse 6 8 8.Facilitdedploiement 6 8 13.Standardsouverts 5 6 9.Langagesdeprogrammation 3 4 4.DatacenterenEurope 2 3 2.Cloudpublic 1 1 6.Datacentern'importeo 0 0 TableauIII:Synthsedelamatricedeprfrence Le tableau (III) cidessus fait ressortir que le critre le plus important pour nous, afin de choisir unesolutiondeCloudComputing,estlascuritdesdonnes(11).Cecritreestunfrein au dveloppement du Cloud Computing public de manire gnrale, car les socits grent les donnes confidentielles de leurs clients et/ou des donnes qui pourraient tre intressantes pour des concurrents. Le niveau de scurit des donnes peut aussi varier en fonction de la domiciliationduserveurphysique. Dans les cinq premiers critres, nous retrouvons llasticit (7) en deuxime place et la Scalabilit (10) en cinquime place. Ces deux concepts sont pour nous la base du nouveau concept quest le Cloud Computing. Ils sont une des valeurs ajoutes du Cloud par rapport la mthode actuelle de gestion dun data center. Ces deux concepts permettent dinitierdesmcanismesquipermettrontrapidementderduirelescotsdexploitation.

dumas-00524318, version 1 - 7 Oct 2010

56

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

La qualit du service lie au SLA (12) et la notion de communaut / documentation / support (3) sont aussi trs importantes pour nos projets. Ces deux critres sont dans le quint de tte. Le critre numro trois a souvent t un facteur dchec lors de projets mens par nos clients. En effet, une communaut sans le soutien de lindustrie ne vit pas longtemps. Pour garantir sa prennit, cette communaut doit donc tre soutenue par un des grands acteurs du march comme Google, IBM, Microsoft, etc. Le SLA est lassurance vie du client, sans un SLA clairement dtaill et prcisant toutes les conditions dexploitation, le client ne pourra pas se retournercontresonprestatairedeserviceencasdeproblme. Les trois critres suivants Cloud Priv (1), data center en Suisse (5) et facilit de dploiement (8) montrent encore le grand intrt de notre mandant, lAdministration

dumas-00524318, version 1 - 7 Oct 2010

cantonale,garderlamaitrisesursesinformationsetsurlesystmedinformationengnral. Les cinq derniers critres sont dimportance moindre. Le fait que nous nayons attribu aucun pointauderniercritredatacenternimporteo(6)traduitlefaitqueltatneveutprendre aucunrisqueavecsesdonnes,mmesiellesnesontpascritiques.

3.3.3 Analysemulticritres
Lanalyse multicritres nous permet de comparer entre elles les solutions retenues la section (3.3). Dans le tableau (IV) cidessous, nous attribuons une note pour chaque critre dfini dans les soussections cidessus (3.3.2.1). Cette note est pondre avec le pourcentage obtenu par chaque critre dans la soussection analyse des critres (3.3.2.2). La somme de tous les points obtenus permet de comparer les solutions entre elles. Dans le tableau (V) le cot annuel de chaque solution est divis par le nombre point, ce qui permet dtablir le prix par point. Cescorepermetdedfinirquellesolutionoffrelemeilleurrapportqualit/prix.

57

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud
Solution AmazonEC2 Pourcentage Notes Points 15 13 13 4 0 9 62 0 115 AppScale Notes Points 4 4 7 62 51 90 Azure Notes Points 6 4 8 92 51 103

Critres 11.Scuritdes donnes 7.Elasticit 12.SLA 3.Communaut/ documentation/ support 10.Scalabilt 1.Cloudpriv 5.DatacenterenSuisse 8.Facilitde dploiement 13.Standardsouverts 9.Langagesde programmation 4.Datacenteren Europe 2.Cloudpublic 6.Datacenter n'importeo TotalPoint TableauIV:analysemulticritre

GoogleAppEngine VMwarevSphere4Dell Notes Points Notes Points 5 9 0 77 115 0 8 5 5 123 64 64

dumas-00524318, version 1 - 7 Oct 2010

12 10 8 8 8 6 4 3 1 0

6 10 5 0 7 8 9 10 10 10 88

69 103 38 0 54 51 35 26 13 0 565

5 10 5 0 6 10 5 10 10 10 86

58 103 38 0 46 64 19 26 13 0 569

7 10 0 0 9 8 7 5 10 10 84

81 103 0 0 69 51 27 13 13 0 603

7 10 0 0 9 5 5 0 10 10 70

81 103 0 0 69 32 19 0 13 0 509

9 10 10 10 8 5 9 0 0 0 79

104 103 77 77 62 32 35 0 0 0 740

58

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

dumas-00524318, version 1 - 7 Oct 2010

AmazonEC2 AppScale Azure GoogleAppEngine VMwarevSphere4Dell Notes Points Notes Points Notes Points Notes Points Notes Points Total 88 565 86 569 84 603 70 509 79 740 Chargefinancire 16'300 18'800 16'500 14'800 19'200 Prixparpoint 29 33 27 29 26 TableauV:analysemulticritreetdtailducotparpoints

Solution

59

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

3.3.4 Analysedesrsultats
Danslestableauxprsentsdanslasoussectioncidessus(3.3.3),nousconstatonsquelasolutionde type Cloud Priv VMware vSphere 4 Dell est la solution la plus intressante. Ceci aussi bien au niveau du nombre de points obtenus 740, quau niveau du cot par point (prix de la solution divisparlenombredepoints)quiestgal26. Ce score est obtenu principalement grce lexcellent niveau de scurit offert par une telle plate forme. En effet, en ayant le contrle total de la solution nous pouvons protger totalement les donnes derrire des mcanismes de firewall et nouvrir que le ou les ports ncessaires pour

dumas-00524318, version 1 - 7 Oct 2010

lapplication. De plus, nous savons qui peut accder aux machines aussi bien dun point de vue logiquequephysique.Les autressolutionsdetypeCloudPublicrecommandentdecryptertoutes les donnes afin de garantir la confidentialit de ces dernires, ce qui peut gnrer des surcots importants. LedeuximepointquifaitpencherlabalanceestCommunaut/documentation/support(3).Ce pointobtientunenotepluslevedanslasolutionVMwarevSphere4Dell,carilestinclusdans le prix des contrats de support aussi bien du ct de Dell que du ct de VMware. De plus, ces socits ont des reprsentants techniques et commerciaux bass en Suisse ce que noffrent pas forcmentlesautressocits. Mme si nous navons pas dfini le critre Data center en Suisse (5) comme impratif, ce point obtient la note maximum de dix, car il reste important pour notre mandant lAdministration cantonale. Le fait que la solution VMware vSphere 4 Dell permet de faire du Cloud priv (1) est aussi un facteur qui influence fortement le rsultat final. Ce critre permet de garantir un meilleur contrle des donnes aussi bien du point de vue de la confidentialit que de celui de la scuritdecesinformations. Finalement, la solution VMware vSphere 4 Dell, contrairement certaines autres solutions comme Amazon EC2 qui ncessitent lachat dun service supplmentaire Elastic Load Balancing, nous permet de rpondre nos objectifs (3.2.1): tester et valider une solution de type CloudComputingquinousaffranchissedesproblmeslislarpartitiondechargeetdelahaute disponibilit. De plus, avec les services inclus dans la solution VMware vSphere 4 Dell nous pouvons respecter notre contrainte (3.2.2): le niveau de service pour ce projet doit tre dau moins

60

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

99.5%. Cet objectif ne peut tre atteint avec la solution de Google qui noffre aucune garantie de service, ou avec les solutions de Microsoft et Amazon qui ncessitent lutilisation dinstances de machinesvirtuellesbasesdansaumoinsdeuxzonesgographiques,cequidoublelescots. Pour lhbergement de notre prototype nous retenons donc la plateforme VMware vSphere 4 Dell,hbergeauseindenossallesmachines.

dumas-00524318, version 1 - 7 Oct 2010

61

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

4 Ralisationtechnique
Aprs avoir choisi la plateforme qui hbergera notre projet dtiquetage collaboratif ou folksonomie,nousallonsmaintenantdcriretousleslmentsquiontpermislaralisationdece projet. Nous commencerons ce chapitre par une description de larchitecture complte de la solution. Elle consiste en une description des infrastructures techniques et applicatives. Nous exposerons subsquemment les rsultats des tests conduits sur cette application. Nous conclurons cechapitreparunesriedamliorationsconduirepouruneindustrialisationdecetteapplication.

dumas-00524318, version 1 - 7 Oct 2010

4.1 Modlisationarchitecturale
Danscettesectionnousallonsdtaillerlestroiscouchesmisesenuvredansceprojet.Lapremire, qui est la plus basse, dcrit les infrastructures physiques. La deuxime expose larchitecture du serveur applicatif. Les dernires sections (4.2 et 4.3) sont consacres lapplication en ellemme et ellesdtaillentlescasdutilisation,lediagrammededploiement,lemodlephysiquededonneset lecodedelapplication.

62

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

4.1.1 Architectureserveurphysique
Suite notre analyse multicritres (3.3.3), nous avons retenu pour ce projet la solution VMware vSphere4Dell.Cette solutiongarantitunexcellentniveaudescuritpourlesdonnes,mmesi ellesnesontpascritiquesdanslecadredeceprojet.Deplus,celanouspermetaussidhbergerune premire application sur un cluster de machines rpondant notre dfinition du Cloud Computing. Ce choix nous permet donc de garder un contrle total sur les serveurs et de rassurer la matrise douvrage quant la scurit des donnes. Cela nous donne galement la possibilit de prendre en main une architecture de cluster de serveurs que tous les fabricants de hardware commencent commercialiseretce,enlimitantlesrisques. Cesserveurssonthbergsdansnossallesmachinesetoffreunniveaudeservice(SLA)tendantvers le cent pourcent. De brves interruptions de service, infrieures cinq heures par an, seront ncessaires pour effectuer les maintenances ncessaires sur le SAN (Storage Area Network). Ce dernier lment est le seul non redondant de cette nouvelle architecture, mais il pourra facilement tredoubldanslefutur.

dumas-00524318, version 1 - 7 Oct 2010

63

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

dumas-00524318, version 1 - 7 Oct 2010

Figure7:Schmadarchitectureserveur Le schma cidessus prsente larchitecture serveur qui hberge notre application de folksonomie. Ce cluster VMware vSphere 4 Dell est compos de deux serveurs Dell. Chaque serveuradeuxprocesseursXeonQuadCore2.4GHzet48GodeRAM.Cesserveurssontconnects un SAN (Storage Area Network), par deux liens fibre 1 Go chacun. Ce SAN est compos de quinze disques de 300Go chacun. Les serveurs sont aussi branchs par un lien rseau 100Mo un simple ordinateur qui sert de supervisor. Le supervisor monitore les deux serveurs en permanence

64

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

pour grer la haute disponibilit (HA). Finalement, en faisant abstraction de tous les mcanismes de routageetdescurit,chaqueserveuraunliendirectsurInternet. Sur chaque machine est installe la suite complte vSphere 4 de VMware. Cette solution est composededeuxcouches.Unecouchecommunmentappelehypervisorquivirtualisetousles lments du hardware et une couche compose de services. Cette seconde couche permet VMware doffrir une solution scalable, robuste et scurise pour sa propre solution de Cloud Computing. Nous dcrirons ciaprs les services les plus importants mis en uvre pour notre projet: VMwareVMotionetVMwareStorageVMotionpermettentdedplacerunemachine virtuelledunemachinephysiqueuneautresansinterruptiondeservice.Ceservicepermet deffectuerunemaintenanceaussibienhardware,quelogiciellesurunedesmachines physiquessansarrterlesserveursvirtuels,niperdrelessessionsdesutilisateurs. VMwareFaultToleranceestleservicequipermetdegarantirunedisponibilitcontinue delamachinevirtuellemmeencasdepannedelamachinephysique.Ceserviceest primordialpouroffrircequenousappelonsdelahautedisponibilit(HA). CestgrceunecombinaisondesdeuxservicesVMwareVMotionetVMwareFault TolerancequunSLAsuprieur99.95%peuttreoffertpourceprojetdefolksonomie. Ceniveaudeserviceconcernelespartieshardwareetlaplateformedhbergementdes machinesvirtuelles.Cetauxpeuttreport99.999%(interruptionsinfrieuresdix minutesparan),sitouteslesinfrastructuresphysiquessontdoublesetrpartiesentreau moinsdeuxsallesmachines.PourceprojetleSANnapastdoubl. VMwareHighAvailabilitypermetderedmarrerunemachinevirtuelledanslaminuteen casdepannedehardwareoudeproblmeaveclesystmedexploitation. DanslecadredeprojetncessitantdelaHA,ilestimportantdemenerdescampagnesde stressdusystmecomplet.Lorsdelexploitation,cecipermetdediminuerlesproblmesde surchargedusystmedexploitationlislapplication. VMwareDRSestleservicequigrelascalabiltetllasticit.Ilpermetdallouerdes ressources(processeur,mmoire)supplmentairesunemachinevirtuelledynamiquement etsansinterruptiondeservice.Lorsdelacrationdunemachinevirtuelle,unecertaine

dumas-00524318, version 1 - 7 Oct 2010

65

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

puissanceprocesseuretunecertainequantitdemmoirevivesontrserves.Unelimite maximumderessourcedisponiblepeuttrefixe.Cettelimitemaximumapouravantagede limiterlerisquedevoirlesperformancesdesautresmachinesvirtuellessedgrader chaqueajoutdunenouvellemachinevirtuelle.Parcontre,cettelimitemaximumne permettrapaslamachinevirtuelledutiliserdesressourcesnonallouesencasdefortpic decharge. VMware offre aussi des services pour garantir la scurit de tout le systme et assurer les backups. Dans le cadre de ce projet, ce type de service est directement gr par les ingnieurs systme en chargedesmachinesetilnestpasforcmentceluivenduparVMware.

dumas-00524318, version 1 - 7 Oct 2010

4.1.2 Architectureserveurapplicatif
La solution VMware vSphere 4 Dell, telle que dcrite la soussection (4.1.1) cidessus, peut hberger une quarantaine de machines virtuelles. VMware garantit le fonctionnement de cinq machinesvirtuellesparcoredeprocesseur. Pour notre projet dapplication de type Web 2.0, nous utilisons une machine virtuelle avec un processeur de 2.4GHz et 2Go RAM. En fonction des besoins et grce aux mcanismes VMware DRS, la machine peut consommer plus de ressources hardware condition que ces dernires ne soientpasrservesoudjallouesauxautresmachinesvirtuellesducluster. Sur cette instance de serveur applicatif, notre quipe dingnieurs systme a install la version 8.04 dUbuntu server comme systme dexploitation. Sur ce systme dexploitation, nous avons install un serveur Apache 2.2.8 avec PHP 5.2.4. Un serveur de base de donnes MySQL 5.0.51a administr autraversdePhpMyAdmin2.11.3aaussitinstallpourlestockagedesdonnes.

66

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Cette architecture de serveur applicatif, de type monolithique, nous permet de rpondre certains de nos objectifs (3.2.1): saffranchir des problmes lis la rpartition de charge et de la haute disponibilit. En ayant une seule machine disponible en permanence grce aux mcanismes VMware VMotion et VMware Fault Tolerance, nous nous affranchissons des mcanismes de clusteringdeserveurs(dcritdansnotresoussection1.1.3)etderpartitiondecharge. Cette solution ncessite moins de ressources humaines pour la gestion du serveur virtuel. Elle permet aussi de facilement migrer tout le projet dun environnement de dveloppement, vers un environnementderecetteetfinalementversunclusterdemachinesdeproduction. Cettearchitecturepermetgalementdesimplifierlagestiondelascurit.Eneffet,unearchitecture

dumas-00524318, version 1 - 7 Oct 2010

monolithiquevitelamiseenplacedunesolutiondereverseproxyoudetunnelSSLentreleserveur frontal, le serveur applicatif et le serveur de base de donnes. Ce dernier point fait lobjet de projets constants,auseindenosquipes,afindetoujoursamliorerlascurit. Par contre, cette solution monolithique ne permet pas de mettre en place des solutions MySQL, tellesquelarplication(masterslave)ouleclustering,pourfaciliterlamonteenchargedelabase dedonnes. tant donn la nature prototype fonctionnel (POC) de ce projet dapplication Web 2.0, ces considrationsdamliorationsserontabordesdanslasection(4.4).

4.1.3 Architectureapplicative
Lapplication meten uvrequatreusecasesprincipauxquenousdcrironsformellement cidessous (4.2.1) pour lapplication folksonomie. Les deux premiers permettent tous les internautes de soumettre des demandes lapplication. Le troisime permet de valider ou supprimer les donnes soumises par les internautes. Le dernier usecase permet linternaute de consulter lensemble des donnesautraversdunWebservice. Pourrappel,lebutdeceprojetestderaliserunprototypefonctionnel.Lorsdelindustrialisationde lapplication, il faudra tudier et dvelopper plusieurs usecases supplmentaires comme la gestion

67

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

desutilisateursetdesrlesoulapriseencomptedelagestiondeplusieurssitesWebdansuneseule instance de lapplication. Ces cas dutilisations ne sont pas primordiaux pour le fonctionnement de lapplication,maisilsenfacilitentladministration. Lapplication folksonomie est divise en quatre composants. Deux dentre eux englobent toute la partie soumission de donnes. Un autre composant soccupe de toute la partie recherche de donnesautraversdunWebservice.Lederniercomposantsertadministrerlecontenusoumispar les internautes. Tous ces composants seront dtaills dans la soussection consacre au diagramme dedploiement(4.2.2)cidessous.

dumas-00524318, version 1 - 7 Oct 2010

Dunpointdevuetechniqueetdansunsoucideperformance,chaquefonctionnalitdelapplication fait lobjet dun script procdural indpendant. Seuls les paramtres et certaines fonctions comme la connexion la base de donnes et la gestion des erreurs de lapplication ont t regroups dans un fichier commun. Ceci afin dviter de les rcrire dans tous les scripts. Nous dcrivons le code de manireplusprcisedanslasoussection(4.2.4).

4.2 DveloppementdusiteWeb2.0Folksonomie
Dans cette section nous allons dtailler toute la partie fonctionnelle et technique de notre projet de Folksonomie. Nous commencerons cette section par la description des quatre usecases dvelopps dans le cadre de ce prototype fonctionnel. Nous dcrivons ensuite les packages applicatifs. Puis nous prsenterons le modle physique de donnes. Nous finirons cette section avec unedescriptiondeslmentsprincipauxducodePHP.

68

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

4.2.1 Usecases
Pour ce prototype fonctionnel qui permet chaque internaute dtiqueter (ajouter des motscls) une page Web de faon collaborative, nous avons identifi quatre usecases (figure 8). Le premier permet linternaute dajouter un motcl. Le deuxime cas dutilisation modlise le processus dvaluation dun motcl. Le troisime diagramme dcrira la partie de gestion des motscls par un administrateur. Finalement, nous dcrivons la partie recherche de motscls et URLs au travers dun WebService.

dumas-00524318, version 1 - 7 Oct 2010

Figure8:diagrammedeusecases

69

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

4.2.1.1 Ajoutermotcl

Figure9:usecaseajoutermotcl

dumas-00524318, version 1 - 7 Oct 2010

Nom:Ajoutermotcl Acteurprimaire:Internaute Prrequis:LapplicationestchargedanslapageWeb Dclencheur:Linternautecliquedanslechampdesaisie Flotdebase: 1. Lutilisateursaisitdutexte 2. Lesystmeproposeunelistedemotsclscommenantparlasaisie 3. Lutilisateurvalidelemotcl 4. Lesystmeenregistrelemotcl 5. Lesystmemetjourlalistedesmotsclsdanslapageweb

Flotsalternatifs: 2.1. Lutilisateurslectionneunmotcldelaliste 2.1.1.Lesystmecompltelechampdesaisie 2.1.2.Lesystmemetlefocussurleboutondevalidation

70

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud
2.2. Lutilisateurignorelespropositionsetcontinuesasaisie.Continueaupoint2 4.1. Lesystmeconnaitlemotcl 4.1.1.Lemotclestinterdit 4.1.1.1. Lesystmeavertitlinternaute 4.1.1.2. Finduusecase 4.1.2.Unerelationmotclpageexiste 4.1.2.1. Lesystmeincrmentelanotedumotcl 4.1.3.Lesystmeajouteunerelationmotclpage

dumas-00524318, version 1 - 7 Oct 2010

4.2. Lesystmeneconnaitpaslemotcl 4.2.1.Lesystmeajoutelemotcl 4.2.2.Lesystmeajouteunerelationmotclpage

71

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

4.2.1.2 valuermotcl

Figure10:usecasevaluermotcl

dumas-00524318, version 1 - 7 Oct 2010

Nom:valuermotcl Acteurprimaire:Internaute Prsrequis:LapplicationestchargedanslapageWeb,unmotclestaffich Dclencheur:Linternautecliquesurunboutonthumbupouthumbdown Remarque:Ceusecaseestsimilairepourlesdeuxtypesdeboutons,seuleloprationen basededonnesestdiffrente.Thumbupincrmentedunlavaleurdelenregistrement etthumbdowndcrmentedunlavaleurdelenregistrement

Flotdebase: 1. Lutilisateurcliquesurlebouton 2. Lesystmemetjourlavaleurenbasededonnes 3. Lesystmeposeuncookiesurleclient 4. Lesystmedsactiveetmasquelesboutonsdumotclassoci

Flotsalternatifs:aucun

72

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

4.2.1.3 Grermotcl

Figure11:usecasegrermotcl

dumas-00524318, version 1 - 7 Oct 2010

Nom:Grermotcl Acteurprimaire:Webmaster Prrequis:Lewebmasterestauthentifi Dclencheur:LewebmasterchargelapageWebdegestiondesmotscls Flotdebase: 1. Lutilisateurcliquesurundesboutonsdactions(diter,valider,bloquer) 2. Lesystmevalidelesdonnes 3. Lesystmeexcutelaction 4. LesystmeraffichelapageWebdegestiondesmotscls

Flotsalternatifs: 2.1. Lewebmastervalideunmotcl 2.1.1.Lesystmechangelestatutdumotcl 2.2. Lewebmasterbloqueunmotcl 2.2.1.Lesystmechangelestatutdumotcl 2.2.2.Lesystmesupprimelesrelationsmotclpage

73

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud
2.3. Lewebmasterditeunmotcl 2.3.1.Lesystmevrifiesilemotclexiste 2.3.1.1. Lemotclexiste 2.3.1.1.1. Lesystmemetjourlesrelationsmotclpage 2.3.1.1.2. Lesystmebloquelancienmotcl 2.3.1.2. Lemotclnexistepas 2.3.1.2.1. Lesystmeajoutelemotcl 2.3.1.2.2. Lesystmemetjourlesrelationsmotclpage

dumas-00524318, version 1 - 7 Oct 2010

2.3.1.2.3. Lesystmebloquelancienmotcl

74

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

4.2.1.4 Consultertagcloud

Figure12:usecaseconsultertagcloud

dumas-00524318, version 1 - 7 Oct 2010

Nom:Consultertagcloud Acteurprimaire:ServeurWeb Dclencheur:UninternauteappellelapageWebquiconsommeleWebservice Flotdebase: 1. LeserveurWebinterrogeleWebservice 2. LeWebservicegnrelXML 3. LeserveurWebparselefluxXML 4. LeserveurWebaffichelersultat

Flotsalternatifs: 2.1.1.Aucunparamtrenatpass 2.1.1.1. Lesystmeretournelalistedetouslesmotscls

2.1.2.Uneouplusieursclssontpasses 2.1.2.1. Lesystmefournitlalisteduoudesmotsclsslectionns,lalistedesmots

clsassocisetlalistedesURLscorrespondantlademande

75

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Les quatre usecases dcrits cidessus sont des cas dutilisations simples et qui peuvent tre implments de manire indpendante. Dautres usecases, comme une gestion des utilisateurs webmaster ou une gestion des sites Web, devront tre ajouts lors dune phase dindustrialisation.

4.2.2 Diagrammededploiement

dumas-00524318, version 1 - 7 Oct 2010

Notre application de folksonomie se compose de quatre composants (Application, Key, TagCloud etGUIJS),rpartissur deux nuds (x: User Machineetx:LinuxServer).Un troisime nud (www.ge.ch), qui hberge un composant tiers (Parser XML) est ncessaire pour grer laffichage (conversion de XML en HTML) des donnes retournes par le Web service du composantTagCloud.

76

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

dumas-00524318, version 1 - 7 Oct 2010

Figure13:diagrammededploiement Danslenudusermachine,nousavonslecomposantGUIJS.Cecomposant,instancidepuis unepageWeb,grelaconnexionclientserveurenutilisantlalibrairieJSONscriptRequest.Cette librairie a pour avantage, par rapport aux solutions AJAX avec XMLHttpRequest, doffrir une connexion crossdomain. Ainsi, le composant GUI JS peut tre instanci dans une page Web hberge sur un site Web diffrent de celui qui hberge lapplication folksonomie. Sans ce type

77

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

de connexion, nous ne pourrions pas hberger notre service sur un Cloud, car nous devrions lhbergersurlemmeserveurquelesiteWeb. Ce composant gre aussi la transformation des donnes renvoyes par le composant Key, de JSON en HTML. Le composant GUI JS soccupe finalement dajouter les lments graphiques ncessaireslutilisationdelapplicationfolksonomiedanslapageWebcliente. Le second nud x: Linux Server hberge deux composants getag.hesge.ch: Application Server et DB: MySQL Server. Ces deux composants pourraient tre hbergs sur des serveurs distincts,maispourrpondrelundenosobjectifs(3.2.1),nousavonsdciddelesgroupersurune

dumas-00524318, version 1 - 7 Oct 2010

seule machine. Le premier composant getag.hesge.ch: Application Server sappuie sur le second composantDB:MySQLServerpourfournirlinformationaucomposantGUIJS. Le composant getag.hesge.ch: Application Server englobe trois composants Application, KeyetTagCloud. Application est le composant qui regroupe tout le code pour grer le contenu de lapplication folksonomie. Au travers de ce composant, nous pouvons valider, diter ou bloquerunmotcl.Lorsdelindustrialisation,nousajouteronsdanscecomposanttoutesles fonctionnalitspourgrerlesutilisateursetlessitesautorissutiliserlapplication. Le composant Key fait linterface entre la partie cliente GUI JS et la partie donnes stockesdanslecomposantDB:MySQLServer.Keyvalidelesdonnesreuesdansla requte HTTP et les formate pour soit interroger, soit mettre jour la base de donnes en fonctiondelactiondemande.Cecomposantgrelescinqactionssuivantes: o o o Getrcuprelalistedesmotsclspourunepage(URL)donne Addpermetdajouterunmotcldansunepagedonne List retourne une liste de tous les motscls commenant par la chane saisie par linternaute. Cette action permet de faciliter la saisie de nouveaux motscls par linternaute. o Up et Down sont deux actions qui fonctionnent de manire similaire. Ces actionspermettentdenoterlimportancedunmotclpourunepage.

78

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Le troisime composant TagCloud est un Web service qui sert consulter par site lensemble des motscls enregistrs dans lapplication. Ce Web service retourne soit une listedemotscls,soitlersultatdunerechercheparmotscls.Lersultatdecettedernire retourne une collection de couples URL titre de page, ainsi quune liste de motscls pour affiner ce rsultat. Un composant Parser XML est ncessaire sur le nud qui consomme ce Web service. Ce nud pourrait tre par exemple www.ge.ch. Ce composant ne fait pas directementpartieduprojetfolksonomie.

dumas-00524318, version 1 - 7 Oct 2010

4.2.3 Modlephysiquededonnes
Lapplication folksonomie enregistre toutes ses donnes dans une base de donnes MySQL 5.0.51a. Ce moteur de base de donnes offre plusieurs mcanismes pour grer lenregistrement des donnesdanslesdiffrentestables.MyISAMestlesystmeleplusancienpourgrerlestockagedes donnesetdoncleplusabouti[N_08]. InnoDB est plus rcent. Il permet entre autres dutiliser des mcanismes de transaction et de valider les relations entre les tables en implmentant le mcanisme de cls trangres. De plus, lors de la mise jour dun tuple, InnoDB ne bloque que lenregistrement impact dans la table et donc facilite lesaccsconcurrents. MyISAM quant lui bloque toute la table pour faire la mme opration. Toutefois, MyISAM est moinsgourmandenressourcesprocesseuretmmoirecarilbnficiedenombreusesoptimisations. Pour ce projet, nous avons compar les deux solutions, MyISAM et InnoDB, en ralisant des tests de charge(4.3.2)etnousavonsretenuInnoDBcommesystmepourgrerlabasededonnesMySQL. Danslecadredetousnosprojets,nousappliquonslesconventionssuivantespournommerlestables etleschamps.Lenomdunetabledoittresignificatifetilesttoujoursprfixdelacronymetbl. Lenomdestablesdejointureestcomposdesdeuxtrigrammesdestableslies,prfixparlalettre

79

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

j pour jointure. Lacronyme log signifie que la table nest utilise qu des fins denregistrementdedonnesdaudit. Chaque champ dune table est dfini en utilisant le trigramme de la table, suivi dune lettre donnant la nature du contenu du champ (c: texte, n: numrique et b boolen) et dun nom significatif. Par exemple: le champ pag_c_url est un champ de la table page (tbl_page) de type texte et qui contient un URL. Les cls trangres reprennent le nom du champ auquel elles font rfrence. Pour les champs de type date, nous appliquons le format suivant: anne (sur 4 chiffres), mois, jour, heure, minute et seconde (sur 2 chiffres). Ce format a pour avantage de saffranchir des diffrents paramtragesrgionauxapportsauserveurouhritsdesutilisateurs.Etce,toutenpermettantde trieroufiltrerlinformationdefaonsimpleetefficace. Pourgrerltatdunenregistrement,nousavonsdfinila conventionsuivante:0actifetvalide, 1actifnonvalidet2signifiequeladonneatsupprimeoudsactive. Pour les donnes de type texte, nous utilisons le format dencodage UTF8_unicode_ci afin de nous abstrairedesproblmesdecaractresaccentusetdelacasselorsderecherchesdanslabase. Certaines de nos applications peuvent tre mises disposition de tous. Pour cette raison, nous prfronsutiliserlanglaisdanslecodedenosprojets.

dumas-00524318, version 1 - 7 Oct 2010

1 *

* *

Figure14:ModlePhysiquedeDonnes

80

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud
Labasededonnesduprojetfolksonomieestcomposedecinqtables(figure14):

tbl_site contient la liste des sites (URLs racines) autoriss dans lapplication. Un site est identifi par un hash. Chaque tuple est compos dun URL, du nom du site et dune variable numriquepoursignifiersontat.

tbl_page contient la liste de toutes les pages (URLs) intgrant le composant GUI JS, pourautantquelapageaittchargeaumoinsunefois.Chaquepageestidentifieparun hash. Un enregistrement de la table tbl_page contient le titre et lURL de la page, ainsi quune variable numrique pour signifier son tat. Le champ pag_c_title est un champ quiestrgulirementmisjour.

dumas-00524318, version 1 - 7 Oct 2010

tbl_keyword contient la liste de tous les motscls soumis par les internautes au travers du composant du GUI JS. Chaque motcl est identifi par un hash. Chaque tuple est composdumotcletdunchampnumriquepoursignifiersontat.

j_pag_key est la table de jointure entre les tables tbl_page et tbl_keyword. Chaque enregistrement contient le couple de cls trangres ncessaires cette jointure, plus un champ numrique permettant de connatre limportance de cette liaison. La valeur par dfaut de ce dernier champ est zro. Cette table est la plus sollicite du projet car le champj_n_rankestconstammentmisjourparlevotedesinternautes.

log_keyword est la table qui enregistre des fins daudit, qui soumet quel mot cl.Seulslesnouveauxmotsclssontenregistrsdanscettetable.Chaquetupleestidentifi par le hash du motcl. Ladresse IP de linternaute et le timestamp sont ajouts cet enregistrement.

Des tables supplmentaires, par exemple une table utilisateur, pourront tre ajoutes lors de lindustrialisationduprojetfolksonomie.

81

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

4.2.4 Codedelapplication
Pour ce projet, nous avons retenu le PHP comme langage principal. Ce choix est bas sur plusieurs constatations.Lapremireconstatationestquenousnavionsencorejamaisralisdeprojetavecce langage sur le site officiel de ltat de Genve. Nos projets prcdents taient soit en ASP 3.0 (Active Server Pages), soit en JSP (JavaServer Pages) avec diffrents concepts architecturaux mettant parfois enuvredesframeworkdedveloppement. LASP est un langage dvelopp par Microsoft et qui est distribu avec les serveurs IIS (Internet Information Services) depuis 1996 (anne de lancement du premier site officiel de ltat de Genve). Ce langage na plus volu depuis la version 3.0 en 2000. Toutefois, lASP nous permet encore de dvelopper rapidement de petits sites Web dynamiques, mais il ne nous permet plus de rpondre touslesbesoins. LeJSPoffreplusdefonctionnalitsquelASP,maisilestplusdifficilemettreenuvreetcelangage ncessite toujours la mise en place dune quipe plus consquente pour la ralisation dun projet. Depuis le dbut des annes 2000, nous suivons lvolution du dveloppement du langage PHP. Ds 2008, nous avons ralis plusieurs sites pour notre institution et pour dautres clients, mettant en uvre du PHP 5 au travers du framework Zend72. Ce langage et surtout ce framework, nous ont permis de trs rapidement raliser des sites de qualit, rpondant aux besoins de nos clients. Par consquent, le PHP nous semble adapt ce prototype fonctionnel, car cest un langage simple, performant,facilemettreenuvreetquicontinuevoluer. Le second argument qui nous a pouss choisir le PHP est li notre objectif (3.2.1) qui consiste nousaffranchirdesproblmesderpartitiondecharge.IISestconnupoursesproblmesdestabilit et il ncessite rgulirement un redmarrage du service. Un seul serveur IIS ne nous permet pas datteindre un niveau de service proche de 100%. Le dploiement de sites en JSP chez notre client fait lobjet de procdures prcises. Le projet ncessiterait au minimum deux serveurs: un frontal Apache et un serveur applicatif distinct. Aucune des deux solutions utilises lheure actuelle ne nous permet de rpondre notre objectif: saffranchir des problmes lis la rpartition de charge etdelahautedisponibilit.

dumas-00524318, version 1 - 7 Oct 2010

72

http://framework.zend.com/

82

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

En choisissant le PHP pour le projet folksonomie, nous allons pouvoir raliser un premier projet mettant en uvre ce langage et ainsi montrer les avantages du PHP par rapport aux deux autres langages dj utiliss pour le site Web officiel de ltat de Genve. De plus, nous respecterons notre objectifsansdrogerauxprocduresdjenplaceetsansbaissedequalitdeservice. Lapplication folksonomie (figure 15), est dcoupe en quatre composants (4.2.2). Chaque composantregroupeunouplusieursscriptsdveloppsenPHP5,exceptionfaitepourlecomposant JS qui est dvelopp en JavaScript. Tous les scripts PHP utilisent un rfrentiel commun Inc: Ce rfrentiel regroupe les paramtres communs au projet et une libraire de fonctions offrant un mcanismepourseconnecterlabasededonnesettraiterlesexceptions. tant donn la nature prototype fonctionnel du projet folksonomie, nous avons opt pour un dveloppement en PHP de type procdural. De plus, nous voulions avoir une application capable de facilement monter en charge sur une architecture monolithique. Dans notre cas, la programmation orienteobjetenPHPnauraitrienapport,mispartunecomplexitaccrueauniveauducode.

dumas-00524318, version 1 - 7 Oct 2010

83

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

dumas-00524318, version 1 - 7 Oct 2010

Figure15:StructureducodePHP

84

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Le composant Application, dans cette phase de prototype fonctionnel, ne contient quun seul scriptquipermetdevalider,diteretbloquerunmotcl. Le composant Key a t divis en cinq scripts, un par action, pour deux raisons. La premire est dereproduirelastructure(contrleur action)desURLsutiliss pardesframeworkscommeZendet ainsipermettretermedefacilementmigrersuruntelframework.Deplus,cechoixnousviteaussi de devoir activer le mod_rewrite du serveur Apache. La nonutilisation de ce module nous permetdoncderduirelaconsommationdesressourcessurleserveuretsurtoutnousvitedcrire desrewriterulequipeuventtrecomplexesselonlesbesoins.

dumas-00524318, version 1 - 7 Oct 2010

Laseconderaisonquinousapoussfairecechoixestlieloptimisationdelaconsommationdes ressources systme. Compiler la vole et excuter des scripts qui psent entre 519 et 3580 octets, nous semble moins gourmand en ressources systme que de charger un script de 9'600 octets chaque requte HTTP. De plus, ce script devra contenir un niveau de tests supplmentaires, afin dexcuter laction demande par linternaute. Avec larchitecture applicative que nous avons retenue, ce test est directement fait par le serveur Apache. Par manque de ressources, nous navons malheureusement pas ralis de tests pour valider notre hypothse doptimisation de la consommationdesressourcessystmelorsdelaralisationdecePOC. ChaquescriptducomposantKeyestautonomeetcommenceparvaliderlesdonnesenentre.Il excute ensuite son action. Puis, il retourne dans le flux HTML une ligne de texte contenant lappel de la fonction JavaScript excuter ct client (par le composant GUI JS). Cette fonction prend commeparamtreunechanedecaractresstructureselonlestandardJSON73.

73

http://www.json.org/

85

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Le Web service TagCloud gnre des flux XML, en fonction des paramtres reus, respectant la DTD(DocumentTypeDefinition)suivante:

dumas-00524318, version 1 - 7 Oct 2010

<?xml version="1.0" encoding="UTF-8"?> <!ELEMENT H (#PCDATA)> <!ELEMENT L (#PCDATA)> <!ELEMENT S (#PCDATA)> <!ELEMENT ADR (#PCDATA)> <!ELEMENT LBL (#PCDATA)> <!ELEMENT A (L, H)> <!ELEMENT C (L)> <!ELEMENT R (H, L, S)> <!ELEMENT U (ADR, LBL)> <!ELEMENT URL (U+)> <!ELEMENT TAG ((C, A?) | R)> <!ELEMENT TC (TAG, URL?)>

Un TC (TagCloud) contient des TAG et des URL sil y en a. Un TAG contient soit des C (motcl cliqu) et des A (motcl associ) sil y en a, soit des R (motcl avec note). Les C (motcl cliqu) ne contiennent que des L (libell), les A (motcl associ) contiennent des L (libell) et des H (hash utilis pour filtrer le rsultat). Les R (motcl avec note) contiennent des L (libell), des H (hash utilis pour filtrer pour le rsultat) et des S (note). Les URL contiennent au moins un U (URL) qui luimme est compos dune ADR (adresse HTTP)etdunLBL(libelltitredelapage). Pour ce Web service, nous avons volontairement choisi des balises avec des noms courts (3caractresmaximum),afindelimiterlaquantitdedonnesenvoyes,cequidiminueletempsde rponseetvitedechargerlammoireduserveurquiconsommeceWebService.

86

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Le dernier composant dvelopp pour ce prototype fonctionnel est GUI JS. Ce composant, qui assure linterface entre la page Web et le serveur applicatif, a t volontairement dvelopp en JavaScript. Ce langage nous permet de facilement intgrer le GUI (Graphical User Interface environnement graphique) de lapplication folksonomie aux pages Web existantes du site officiel de ltat de Genve. Ce choix nous vite aussi de dvelopper un client pour chaque technologie ou framework utiliss dans les pages Web clientes. Finalement, ce choix technologique nous permet degarderuncontrlecompletsurlecodeexcutctclient,carcedernieresttlchargdepuisle serveurWebdelapplicationfolksonomie.

dumas-00524318, version 1 - 7 Oct 2010

Le code de cette application ne met pas en uvre dalgorithmes complexes et il ne rvolutionne pas lalgorithmique. Chaque fragment de code a par contre t pens et optimis pour diminuer les tempsderponsedelapplication.

4.3 Validationdelaralisationtechnique
Dans une premire phase, pour valider la ralisation technique du projet folksonomie, nous avons ralis plusieurs types de tests. Le premier concerne le GUI, c'estdire lintgration de lapplication dans les sites Web cibles de ltat de Genve (figure 16). Le deuxime type de tests a servi valider que lapplication rpondait dans un dlai infrieur 1 seconde dans 99% des cas. Le dernier test a permis de valider que le SLA de 99.95% peut tre assur sur la plateforme VMware vSphere4Dellhbergedansnossallesmachines.

87

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

dumas-00524318, version 1 - 7 Oct 2010

Application folksonomie

Figure 16: intgration de lapplication folksonomie dans une page du site officiel de ltat de Genve Dansunesecondephase,enjuin2010,nousallonsintgrercetteapplicationdansdespagesWebdu site officiel de ltat de Genve. Ces tests nous permettront de valider lintrt des citoyens pour les nouvelles technologies dans un site officiel. Avec laide de spcialistes en information documentaire, nousvalideronsaussilapertinencedesmotsclspropossparlesinternautes. Nousallonsdcriredanslessoussectionscidessouslestestsquenousavonsdjraliss.

88

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

4.3.1 Validationdudesignettestdaccessibilit
Pour le projet folksonomie nous avons la contrainte (3.2.2) de respecter la charte ditoriale Web de ltat de Genve. Nous avons donc fait valider cette contrainte par les spcialistes de la charte ditoriale Web, avant de prsenter le projet aux membres du Comit Interdpartemental des Chargs de Communication. Ce comit, responsable de lexploitation du site officiel de ltat de Genve, a montr un grand intrt pour le projet. Il a t demand, lors de la sance du 26 mars 2010,dintgrerlapplicationfolksonomiedanslespagesWebduDpartementdesconstructions etdes technologiesdel'information(DCTI)etduDpartement desaffairesrgionales,del'conomie etdelasant(DARES).

dumas-00524318, version 1 - 7 Oct 2010

Dans une seconde phase, nous avons collabor avec une personne malvoyante74 afin de valider laccessibilit de lapplication pour sonhandicap. Cette personne a pu trs facilement, au travers des outilsJaws75(outilvocaldelecturedcran)etunelignebraille,lirelesmotsclspostsdanslapage Web.Elleaaussipuinsrerdesmotsclssansdifficult.Cettepersonnenaparcomptepaspunoter les motscls laide des images (thumb up et thumb down). Ce point sera valu dans la section(4.4). Pour faciliter laccessibilit de lapplication folksonomie, nous avons aussi mis en uvre les principes des normes WCAG 1.0 du W3C76 (Web Accessibility Initiative) afin doffrir un code de qualit et accessible. Nous navons par contre pas offert dalternative pour les personnes ne supportantpasleJavaScript,carlabsencedecetteapplicationnempchenilutilisationdusite,nila navigationensonsein.

74 75

MonsieurJulienConti,chargdemissionpourlaccessibilitauCTIdeltatdeGenve

http://www.freedomscientific.com/jawshq.asp.Jawsestunoutilcapabledelirelecontenudelinformation affichelcran.PourlespagesWebcetoutilsebasesurleDOM(DocumentObjectModel)delapage.A laidedetouchesdefonction,lapersonnemalvoyantepeutdirectementaccderauxtitres,auxliensetaux formulairesdelapageWeb.


76

http://www.w3.org/TR/WCAG10/

89

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Finalement, nous avons test sur diffrents browsers (Internet Explorer 6 et 8, FireFox 3.5 et 3.6, Chrome 4, Safari 4 et Opera 10) et sur diffrents systmes dexploitation (Windows XP, Vista et sur Ubuntu 9.10) le rendu graphique et le comportement fonctionnel du composant GUI JS. Seul Opera 10 nous pose un problme li aux accents. Ce browser tant utilis par moins de 0.26%77 de nosinternautes,nousnavonspas,pourlemoment,prisdactioncorrective.

4.3.2 Testsdecharge
dumas-00524318, version 1 - 7 Oct 2010
Les tests de charge effectus sur le projet folksonomie ont deux objectifs. Premirement, nous aimerions optimiser chaque script de lapplication. Dans une seconde phase, notre souhait est de testerleslimitesdelapplicationetdelaplateforme. Pour raliser ces tests, nous avons install loutil Pylot78 (version 1.26) sur trois terminalserveurs, ce qui nous permet de simuler 150 utilisateurs virtuels. Cet outil opensource dvelopp en python est distribu gratuitement sur internet. Il permet au travers dun client lourd de facilement lancer une campagne de test. Linterface utilisateur permet de dfinir le nombre dutilisateurs, le temps en millisecondes entre chaque requte HTTP, le temps pour monter en charge et la dure du test de charge. Lors du lancement du test, lapplication charge un fichier XML contenant toutes les requtes HTTP excuter durant le test. Pendant le test de charge, chaque utilisateur virtuel excute de manirealatoirelesrequtesinitialement charges.Alafin du test,lapplicationgnreunrapport montrant dune manire gnrale le rsultat du test de charge. Nous avons dvelopp en plus, une petite application qui analyse les logs du test afin de ressortir par script le temps de rponse minimum, maximum et moyen. Ce second programme offre aussi la possibilit de sortir le pourcentagederequtesquiprennentplusquuncertaintempsdonn. Dun point de vue volumtrique, pour ces tests nous avons prcharg dans la base de donnes plus de 100'000 enregistrements dans la table page. La table des motscls contient un peu moins de
Valeurmoyenne,pourlessiteswww.ge.ch,www.geneve.chetwww.ge.ch/votationselections,releve durantles12derniersmoissurGoogleAnalytics,consultle4/10/2010
78 77

http://www.pylot.org/

90

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

1'000 enregistrements. Tous ces enregistrements sont aussi prsents dans la table rserve pour laudit log_keyword. Chaque page est associe entre deux et cinq fois des motscls, ce qui reprsente environ 400'000 enregistrements pour la table de jointure. Finalement, la table site ne contientquuneseuleadresse,celledusiteofficieldeltatdeGenvewww.ge.ch. Afin de valider les limites de lapplication, nous nous sommes bass sur les statistiques de frquentation des sites de ltat de Genve. Sur lensemble de ces sites, nous avons en moyenne environ 30'000 visiteurs uniques (un visiteur peut faire plusieurs visites par jour) quotidiennement. Ces internautes visitent en moyenne 120'000 pages tous les jours et ils tlchargent environ 2 millions de fichiers (image, feuille de styles, fichier JavaScript, etc.) associs aux pages visites. Lors dvnements spciaux comme des votations ou des lections par exemple, nous avons prs de

dumas-00524318, version 1 - 7 Oct 2010

80'000visiteursuniques.Ceciarrivequatresixfoisparan,horsvnementexceptionnel.Cesjours l,nosserveursdlivrentprsdunmilliondepageset5millionsdefichierssonttlchargs.

91

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Pourvalider nostestsde charge, nous avonsestimunnombre moyenderequtesquelapplication folksonomie peut avoir traiter un jour normal et un jour spcial. Nous avons rsum ces donnesdansletableau(VI)cidessous. Script GUIJS Get List Add Up/Down TagCloud Total Requtesparsecondedurant10 heures Requtesparsecondedurant4 heures Requtesparsecondedurant1 heure TableauVI:estimationdelacharge Dans le tableau (VI) cidessus, nous sommes partis du postulat pessimiste que chaque internaute chargeait chaque fois le composant GUI JS. Ce nest gnralement pas le cas grce aux mcanismesdecachebrowser.Maisnousdevonstenircomptequeplusdelamoitidenosvisiteurs sont de nouveaux internautes. Le script Get est excut lors de chaque chargement de page. En tant optimiste, nous avons estim que cinq pourcent des utilisateurs de lapplication folksonomievontsoumettreunmotcletquilsferontenmoyennevingtrequtespourlisterles motscls dj enregistrs. Nous pensons quen moyenne chaque visiteur va valuer (Up ou Down)deuxmotscls.Finalement,nousespronsavoirdixpourcentdinternautesquiutilisentle composantTagCloudunefoisparjour.Nousavonscalculquelapplicationpeuttresolliciteen moyenne 244'500 fois un jour normal et environ 1'332'000 fois un jour de forte affluence. Nous avons ensuite dfini le nombre de requtes HTTP par seconde que lapplication doit pouvoir traiter. Le maximum estim est de 370 requtes par seconde, mais ce nombre devrait gnralement tre infrieurougal68requtesHTTPparseconde. 30'000 80'000 visiteurs visiteurs 30'000 80'000 120'000 1'000'000 30'000 1'500 60'000 3'000 244'500 6.79 16.98 67.92 80'000 4'000 160'000 8'000 1'332'000 37.00 92.50 370.00 ~environ20requtesparmotcl ajout 5%desvisiteurs 2foisparvisiteur 10%desvisiteurs

dumas-00524318, version 1 - 7 Oct 2010

92

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Pour valider les donnes dcrites cidessus, nous avons effectu plusieurs fois des tests simulant des processuscomplets,c'estdire: 1. ExcutionduscriptGet 2. TroischargementsdelistesdemotsclsautraversduscriptList 3. AjoutdunmotcldanslabaseaveclescriptAdd 4. RcuprationdelalistedesmotsclsdelapagemisejourutilisationduscriptGet 5. valuationdumotclaveclesscriptsUpetDown

dumas-00524318, version 1 - 7 Oct 2010

6. InterrogationduWebserviceTagCloudtouslestrentetestsenmoyenne Entrechaquetestnouschangeonslesparamtressuivants: Les premiers tests nous ont permis de dtecter les faiblesses de lapplication. Afin damliorer les performances du projet folksonomie, nous avons principalement travaill sur le choix des indexes. Nous avons aussi simplifi certains codes en remplaant par exemple la jointure entre la table tbl_page et tbl_site par un calcul de la cl trangre sit_c_hash directement dans le code PHP Get. Finalement, nous avons rendu une partie du fichier XML, gnr par le Web service TagCloud, statique. Nous excutons la requte SQL, qui prend entre 18 et 20 secondes une fois toutes les 4 heures et nous enregistrons le rsultat au format XML directement sur le serveur. Avant de prendre cette dcision, nous avons test une solution utilisant une vue dans MySQL. Toutefois, cette solution ne nous offre pas une relle amlioration, car une vue MySQL ne met pas en uvre des mcanismes dindex pour faciliter la recherche. Dans ce Web service, nous avonsaussilimitlenombredemotsclsetURLsretournsparlesystmelorsderequtespourun motcldonn. Lenombredutilisateurs:1,15,100et150 LesystmedegestiondelabasededonnesMySQL:MyISAMetInnoDB

93

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Aprs ces amliorations, nous avons effectu nouveau les tests pour vrifier que nous pouvons tenir nos objectifs quantitatifs dfinis cidessus. En nous basant sur les rsultats du logiciel Pylot et lanalyse des logs, nous constatons quun utilisateur faisant en moyenne 7 requtes par seconde obtient gnralement un temps de rponse infrieur 0.01 seconde, exception faite pour les interrogationsduWebservicequiprennentordinairementmoinsde0.06seconde[AnnexeI]. Quand nous faisons un test avec 150 utilisateurs faisant en moyenne environ 130 requtes HTTP par seconde, le temps de rponse dans 99% des cas est infrieur 0.027 seconde, pour une base MyISAM [Annexe J]. Toujours dans ce cas prcis, moins de 0.23% des requtes dpassent les 3 secondesetseulement12requtesontprisplusde3.5secondes.

dumas-00524318, version 1 - 7 Oct 2010

Dans le cas dune base de donnes InnoDB, 150 utilisateurs faisant en moyenne environ 130 requtes HTTP par seconde, obtiennent un temps de rponse dans 99% des cas infrieur 0.029 seconde[AnnexeK].Toujoursdansce cas,moinsde 0.22%desrequtes dpassentles3secondeset seulement5requtesontprisplusde3.5secondes. Cestestsnousontpermisdevaliderquelapplicationfolksonomiepeuttraiterenuneheuredeux fois la charge globale prvue pour un jour normal sur le site officiel de ltat de Genve. De plus, la monteenchargenoccasionnepasdebaissesignificativedelaperformance.Cesdernierstestsnous ont aussi permis de valider nos amliorations sur lapplication, en matire dindexage des champs MySQLetdemiseencachedelarequtelapluspnalisante.Noussommesainsipasssduntauxde 90%derequtesHTTPrpondantsenmoinsdunesecondeuntauxde99%. Afin de valider les limites de lapplication folksonomie, nous avons utilis la commande ab (Apache HTTP server benchmarking tool). En excutant cette commande depuis une machine tiers, nous avons pu constater que le serveur tient une charge moyenne, gnre par 75 utilisateurs concurrents, denviron 730 requtes par seconde. Cette charge soutenue na pas affect les temps de rponse. Le temps maximum de rponse a t de 3.8 secondes et dans 99% des cas il tait infrieur0.188seconde.

94

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Ces tests ne nous ont pas facilit le choix entre les deux systmes de gestion de la base de donnes MySQL: MyISAMetInnoDB.Encomparantles deuxrsultats[AnnexesJ, K], nousnevoyonspasune diffrence majeure. La base fonctionnant avec le systme InnoDB rpond en moyenne un millime de seconde plus rapidement. Les performances de cette base se dgradent lgrement moins rapidement que pour la base gre avec MyISAM. Seulement 0.5% des requtes effectues sur la base InnoDB prennent plus dune seconde. Sur le second systme de gestion de base de donnes MySQL ce pourcentage passe 0.54%. La base utilisant MyISAM offre de meilleures performances uniquement lors de lexcution du script du Web service TagCloud. Contrairement aux autres scripts, ce dernier ne fait que des requtes de type SELECT. Pour garantir un temps de rponse toujours le plus bas possible et surtout afin de prvoir un nombre de donnes toujours croissant, nousavonsdciddutiliserlesystmeInnoDBpourceprojet.

dumas-00524318, version 1 - 7 Oct 2010

4.3.3 Testsdepanne
Nous avons effectu un seul et unique test de panne sur linfrastructure VMware vSphere 4 Dell. Pour tester les mcanismes VMware Fault Tolerance et VMware VMotion, nous avons brutalementarrtunedesmachinesphysiques.Enpingantencontinuundesserveurshbergssur notre Cloud, nous avons constat laide de la commande ping <dest>t, la perte dun ping, soit une interruption dune milliseconde du service. Les mcanismes VMware Fault Tolerance et VMware VMotion ont instantanment ragi et ils ont bascul tous les services sur le second serveurphysique.

95

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

En cas de panne du SAN, nayant pas une infrastructure redondante pour cet lment, nous savons quelensembledesservicesseraitinterrompupourunedurenondtermine. Nous concluons quen ltat, nous ne pouvons pas hberger dapplications critiques sur ces serveurs, mais nous pouvons trs bien hberger des projets ayant besoin dun excellent service. La solution VMware vSphere 4 Dell permet aussi de rpondre des projets qui ont des besoins en ressources systmes gomtrie variable. Doubler le SAN a un cot qui devra tre estim pour garantiruneredondancecompltedusystme.

dumas-00524318, version 1 - 7 Oct 2010

4.4 Amliorationstudier
Les premiers points que nous allons tudier dans cette section afin damliorer le projet folksonomie, concernent laccessibilit. Nous y sommes contraints par lOrdonnance fdrale OHandentreenvigueurlepremierjanvier200479.CommeilestcritdansledocumentP028 DirectivesdelaConfdrationpourl'amnagementdesitesInternetfacilementaccessiblesVersion 1.080 du 23 mai 2005, les nouveaux sites de la Confdration doivent respecter le niveau AA des normes WCAG 1.0 du W3C. Le canton de Genve a dcid dappliquer la directive fdrale P028 depuislepremierjanvier2006.

79 80

http://www.admin.ch/ch/f/rs/151_31/index.html,consultle19avril2010

http://www.bk.admin.ch/themen/egov/00266/00267/index.html?lang=fr&download=M3wBPgDB_8ull6Du36 WenojQ1NTTjaXZnqWfVp7Yhmfhnapmmc7Zi6rZnqCkkIN0gn,CbKbXrZ6lhuDZz8mMps2gpKfo,consultle19 avril2010

96

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Lesecondpointdamliorationquenousvoulonstudierestlilaugmentationdunombredesites etdepagesquelapplicationpourraittreamenehberger.Leprojetestdestindansunpremier temps au site officiel de ltat de Genve. Dans un deuxime temps, cette application pourra tre propose tous les sites de ltat de Genve et donc rfrencer plusieurs millions de pages. Nous devronsalorstudiersileserveur,quihbergelapplicationfolksonomie,esttoujourscapablede rpondre en moins dune seconde 99% des requtes. Si tel nest pas le cas nous devrions tudier des solutions comme MySQL replication, MySQL cluster ou mme une solution Oracle. Dans ce dernier cas se poserait aussi la question du budget qui devra tre plus consquent. Les deux autres solutions permettent damliorer les performances en multipliant le nombre de serveurs de base de donnes moindre cot. MySQL replication permet de mettre en place des mcanismes de type matreesclaves. La base matresse soccupe des enregistrements et les bases esclaves ne font quoffrir des mcanismes de consultation de donnes. MySQL cluster permet de rpartir la charge sur plusieurs serveurs de base de donnes de manire transparente pour lutilisateur. Les deuxsolutionsnousdemandentunerefontecompltedenotrearchitectureserveurapplicatif(4.1.2) etdenotrearchitectureapplicative(4.1.3).

dumas-00524318, version 1 - 7 Oct 2010

97

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Conclusion
LeconceptdeCloudComputingnenestqusesdbuts,maisilestdjtrsprometteur.Offrir moindre cot un data center dynamiquement scalable et lastique permet de rpondre aux besoins en matire dinformatique de bon nombre dentreprises. Malgr tout, il faut rester vigilant sur certainspointscommelascurit,ladomiciliationdesserveurs,llasticitouleSLA. Certainspointscommelascuritontdjtamliors.Parexemple,pouramliorerlascurit,de nouvelles offres permettent de crer un lien scuris et crypt entre lentreprise et le prestataire de service81.

dumas-00524318, version 1 - 7 Oct 2010

Dautres points, comme llasticit ncessiteront encore beaucoup de travail de recherche pour rpondre aux besoins des utilisateurs. Seul Google App Engine offre une solution de monte en charge et de rduction de puissance entirement automatique et transparente pour le dveloppeur. Les autres solutions ncessitent toutes des outils de monitoring externes capables de grer la scalabilitdesinfrastructuresdetypeCloudplatformetCloudinfrastructure. La domiciliation des serveurs et le SLA sont les points qui font varier fortement la facture finale pour une socit qui consomme des services externes hbergs sur un Cloud. Steve Ballmer, PDG de Microsoft, a dit lors dune prsentation luniversit de Washington82 que "nous ne devrions pas nous soucier o les informations sont, , mais il semble que les lois et les rglements se soucient vraiment o les informations sont.". Amazon, Microsoft, Google et les autres acteurs du march ne pouvant construire un data center dans chaque pays, une solution est de monter son propre data center. Microsoft et surtout les fabricants de hardware se positionnent sur ce march en commercialisant des micros data center, comme la solution VMware vSphere 4 Dell que nous avonsutilisepournotreprojet.

81 82

AmazonVirtualPrivateCloud(AmazonVPC),http://aws.amazon.com/vpc/,consultle29/04/2010

Microsoft,SteveBallmer,TheCloud:ExcitingNewPossibilities, http://www.microsoft.com/showcase/en/US/details/120eb97fe7f8448591dcf6ada8e759e3,publile 9/03/2010,visionnle10/03/2010

98

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Ce mmoire nous a permis de comprendre et dexpliquer les concepts qui font du Cloud Computingcequilest.EnchoisissantuneplateformedetypeCloudpournotreprojetbassur leconceptdeWeb2.0,nousavonspuconstaterquelessolutionsnesontpasencorematuresetque comme nous venons de le dire cidessus, certains points doivent tre amliors. Toutefois, nous avons aussi pu remarquer que les solutions de Cloud Computing sont en amlioration constante afin doffrir des platesformes sres et rpondant aux attentes du march. Nous allons donc continuersurveillerlemarchetprparernosclientsfranchirlepasdecenouveauconcept. Grcecemmoire,nousallonspouvoirsuggrernosclientsdenouvellesplatesformespourleurs projets.

dumas-00524318, version 1 - 7 Oct 2010

Ce projet de folksonomie nous a permis de tester et valider la solution VMware vSphere 4 Dell. Cette plateforme nous a permis datteindre nos objectifs (3.2.1) en respectant nos contraintes (3.2.2). Le point faible de cette application reste la base de donnes MySQL. Pour nos projets venir, nous devrons trouver des alternatives (4.4) ou nous fixer des contraintes pour garantirlexploitationdesservicesouapplicationshbergssurunCloud. En juin 2010 les sites Web de ltat de Genve vont commencer intgrer lapplication folksonomie. Depuis avril 2010, je travaille la dfinition, pour les cinq prochaines annes, de linfrastructure de type Cloud dployer chez lun de nos clients pour lhbergement de ses sites Web. En conclusion, jaimerai dire que ce mmoire ma permis de dcouvrir un domaine prometteur du monde informatique, de le comprendre, de lanalyser et ainsi de pouvoir dire modestement que je suis devenu une personne de rfrence, un spcialiste de cette technologie de rupture quest le Cloud Computing. Dans un avenir proche, de nombreux projets bnficieront des opportunits nouvellesoffertesparcettetechnologie.

99

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Annexes
[AnnexeA] [AnnexeB] [AnnexeC] [AnnexeD] [AnnexeE] tudedelasolutiondetypeIaaS:AmazonEC2 tudedelasolutiondetypeIaaS:ElasticHosts tudedelasolutiondetypePaaS:MicrosoftWindowsAzure tudedelasolutiondetypePaaS:GoogleAppEngine tudedelasolutiondetypePaaS:Appistry tudedelasolutiondetypePaaS:AppScale tudedelasolutiondetypePaaS:VMwarevSphere4 tudedelasolutiondetypePaaS:XenCloudPlatform Rsultatsdutestdechargepour1utilisateurfaisantenmoyenne7requtesseconde Rsultats du test de charge pour 150 utilisateurs faisant en moyenne 130 requtes secondeavecunebasededonnesMyISAM [AnnexeK] Rsultats du test de charge pour 150 utilisateurs faisant en moyenne 130 requtes secondeavecunebasededonnesInnoDB

dumas-00524318, version 1 - 7 Oct 2010

[AnnexeF] [AnnexeG] [AnnexeH] [AnnexeI] [AnnexeJ]

100

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Bibliographie
[AFG_09] Michael Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy H. Katz, Andrew Konwinski, Gunho Lee, David A. Patterson, Ariel Rabkin, Ion Stoica et Matei Zaharia. EECS Berkeley. Fvrier 2009. Above the Clouds: A Berkeley View of Cloud Computing.25p. [BDH_03] LuizAndrBarroso,JeffreyDean,UrsHlzle.IEEE.2003.WebSearchforaPlanet:The GoogleClusterArchitecture.7p.

dumas-00524318, version 1 - 7 Oct 2010

[CERN1] [CT_01]

GridCaf.org.[Enligne].http://www.gridcafe.org/.(Consultle10/07/2009) Emiliano Casalicchio, Salvatore Tucci. IEEE. 2001. Static and Dynamic Scheduling AlgorithmsforScalableWebServerFarm.8p.

[E_08]

Thorsten von Eicken. Juillet 2008. The Three Levels of Cloud Computing. [En ligne] http://virtualization.syscon.com/node/581961.(Consultle13/12/2009)

[F_02]

Ian Foster. Argonne National Laboratory. 2002. What is the Grid? A Three Point Checklist.4p.

[F_74]

George J. Feeney. ACM. 1974. A panel session Utility computing A superior alternative?. 2p.

[G_09]

JeremyGeelan.Janvier2009.TwentyOne ExpertsDefineCloudComputing.[En ligne] http://cloudcomputing.syscon.com/node/612375.(Consultle12/08/2009)

[GL_09] [GS_08]

RobertL.Grossman.IEEE.Mars/avril2009.ThecaseforCloudComputing.5p. Bernard Golden, Clark Scheffy. Wiley Publishing, Inc. 2008. Virtualization for Dummies.50p.

[L_08]

Peter Laird. Septembre 2008. Visual Map of the Cloud Computing/Saas/PaaS Markets. [En ligne]. http://peterlaird.blogspot.com/2008/09/visualmapofcloud computingsaaspaas.html.(Consultle04/07/2009)

101

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud
[L_09]

Neal Leavitt. IEEE. Janvier 2009. Is Cloud Computing Really Ready for Prime Time? (IEEE).6p.

[McK_09]

Will Forrest McKinsey & Company. Mars 2009. Clearing the air on cloud computing. 34p.

[MG_09]

Peter Mell, Tim Grance. NIST. Aot 2009. Draft NIST Working Definition of Cloud Computing(V15).3p.

[N_08]

N.Newton.Avril2008.MySQLEngines:MyISAMvs.InnoDB.[Enligne] http://tag1consulting.com/MySQL_Engines_MyISAM_vs_InnoDB.(Consultle 16/04/2010)

dumas-00524318, version 1 - 7 Oct 2010

[P_09] [S_08]

GuillaumePlouin.DUNOD.2009.CLOUDCOMPUTINGetSaaS.249p. Michael Sheehan. Aot 2008. Introducing the Cloud Pyramid. [En ligne] http://cloudcomputing.syscon.com/node/609938.(Consultle10/01/2009)

[SUN_09] [TCW_09]

SunMicrosystems.Juin2009.IntroductiontoCloudComputingArchitecture.26p. TimCowen,JayChaudhry,MichaelG.Hill,VincentFranceschini,DuncanStewart, PanuKause,MoniqueMorrow.Octobre2009.ITUTelecomWorld2009:Cloud Computing.[Confrence]http://www.itu.int/WORLD2009/.(Participationle 8/10/2009)

[VRCL_09]

Luis M. Vaquero, Luis RoderoMerino , Juan Caceres, Maik Lindner. ACM SIGCOMM. 2009.ABreakintheClouds:TowardsaCloudDefinition.6p.

[WIKI1]

Wikipedia.7janvier2010.Folksonomie.[Enligne] http://fr.wikipedia.org/wiki/Folksonomie.(Consultle1/02/2010)

[WTK_09]

Lizhe Wang, Jie Tao, Marcel Kunze, Alvaro Canales Castellanos, David Kramer et Wolgang Karl. Rochester Institute of Technology. Octobre 2008. Scientific Cloud Computing:EarlyDefinitionandExperience.18p.

[WY_01]

Joel L. Wolf, Philip S. Yu. ACM SIGMETRICS. 2001. Load Balancing for Clustered Web Farms.3p.

102

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

Listedesfigures

FIGURE1:TRAFICMOYENPOURLETERMECLOUDCOMPUTING................................................................................... 19 FIGURE2:COURBEDEHYPE2009POURLESTECHNOLOGIESMERGENTES.....................................................................21 FIGURE3:BESOINSENRESSOURCESINFORMATIQUES,SURESTIMATION............................................................................... 26 FIGURE4:BESOINSENRESSOURCESINFORMATIQUES,SOUSESTIMATION............................................................................27 FIGURE5:BESOINSENRESSOURCESINFORMATIQUES,LACAPACITCORRESPONDLADEMANDE.............................................28 FIGURE6:PYRAMIDEDUCLOUDCOMPUTING.......................................................................................................... 36 FIGURE7:SCHMADARCHITECTURESERVEUR ................................................................................................................ 64 FIGURE8:DIAGRAMMEDEUSECASES........................................................................................................................... 69 FIGURE9:USECASEAJOUTERMOTCL................................................................................................................... 70 FIGURE10:USECASEVALUERMOTCL................................................................................................................. 72 FIGURE11:USECASEGRERMOTCL.................................................................................................................... 73 FIGURE12:USECASECONSULTERTAGCLOUD........................................................................................................... 75 FIGURE13:DIAGRAMMEDEDPLOIEMENT.................................................................................................................... 77 FIGURE14:MODLEPHYSIQUEDEDONNES................................................................................................................. 80 FIGURE15:STRUCTUREDUCODEPHP......................................................................................................................... 84 FIGURE16:INTGRATIONDELAPPLICATIONFOLKSONOMIEDANSUNEPAGEDUSITEOFFICIELDELTATDEGENVE..............88

dumas-00524318, version 1 - 7 Oct 2010

Listedestableaux

TABLEAUI:COMPARATIFDESCOTSANNUELSENFRANCSSUISSE(TATAU21JANVIER2010)................................................51 TABLEAUII:MATRICEDEPRFRENCE........................................................................................................................... 55 TABLEAUIII:SYNTHSEDELAMATRICEDEPRFRENCE.................................................................................................... 56 TABLEAUIV:ANALYSEMULTICRITRE............................................................................................................................ 58 TABLEAUV:ANALYSEMULTICRITREETDTAILDUCOTPARPOINTS ................................................................................... 59 TABLEAUVI:ESTIMATIONDELACHARGE....................................................................................................................... 92

103

LeclreOlivier

MiseenplacedunsitetypeWeb2.0surunCloud

dumas-00524318, version 1 - 7 Oct 2010

LeclreOlivier

tudedelasolutiondetype IaaS :AmazonEC2 AnnexeA

AmazonElasticComputeCloud(AmazonEC2)
http://aws.amazon.com/ec2/

1. Prsentationdelasolution
EC2 est une des solutions pionnires en matire de Cloud Computing. Avec sa solution EC2, Amazon permet ses clients de louer lheure des instances de serveurs virtuelsLinuxouWindows.Cesinstancespermettentdexcuterdesapplicationscomme MySQL Enterprise, Oracle Database 11g, Hadoop, Apache HTTP ou IBM WebSphere Portal Server. Sur ces serveurs virtuels les clients dAmazon peuvent aussi excuter des centainesdautresapplicationsouleurspropresapplications.

dumas-00524318, version 1 - 7 Oct 2010

Amazon commercialise des instances dj prconfigures appeles Amazon Machine Images (AMIs) et Amazon permet aussi de crer ses propres images de machines virtuelles. En fonction de leurs besoins, les clients instancient autant de machines virtuelles que ncessaire. Amazon propose diffrents types dinstances en fonction des besoins. Elles peuvent offrir lutilisateur plus ou moins de mmoire, de puissance de calcul et despacedisque. AvecEC2Amazonoffreuncertainnombredautresservicessesclientspourconstruire unesolutioncapabledemonterenchargeetdviterlespannes. Amazon Elastic Block Store permet de conserver un espace de stockage indpendant des instances serveurs. Cet espace disque est partag entre toutes lesinstancesactives. Multiple Locations permet de choisir le lieu dhbergement de ses instances parmi trois zones (tatsUnis cte Est et cte Ouest ou Europe). Ce service permet dviter les pannes lies un data centre particulier et de rduire le tempsdelatencerseaupourleclient. Amazon Virtual Private Cloud (VPC) permet daccder ses instances au traversdunVPNetoffreparconsquentunesolutiondePrivateCloud. Elastic Load Balancing permet de rpartir la charge entre les instances dun mmeclient.

LeclreOlivier

tudedelasolutiondetype IaaS :AmazonEC2 AnnexeA

2. SLA
Le Service Level Agreement1 offert par Amazon est de 99.95% sur lensemble des zones gographiques. Le client peut demander des ddommagements pour autant que lensemble de ses instances aient t indisponibles pour plus de 5 minutes et quil nait pas pu crer de nouvelles instances. Amazon recommande de travailler au moins sur deuxzones.

3. Technique
Amazon EC2 permet dinstaller et de configurer sa propre instance de machine virtuelle en choisissant son systme dexploitation et ses applications et de crer son AMI. De plusAmazonoffredesoutilspourfaciliterlacrationdAMIs.

dumas-00524318, version 1 - 7 Oct 2010

4. Prix
Le prix est difficile calculer car chaque service est factur sparment et son prix varie enfonctiondelargiongographique.Parexemple,lhbergementduneinstanceLinux de base coute 0.085 USD/heure sur la cte Est des tatsUnis et 0.095 USD/heure sur la cte Ouest et en Europe. Le choix de la rgion gographique, du systme dexploitation et du type dinstance font varier les prix de 0.085 USD/heure 3.16 USD/heure. Dans les cots il faut ajouter les cots de transferts de donnes, de stockagedesdonnesettouslesservicessupplmentaires. Quant au prix de location dune machine pour 24 heures il est le mme que pour la locationde24machinespendantuneheure. Amazon estime2 le cot de lhbergement dun site web marketing sur deux zones 1'400USDparmois.

http://aws.amazon.com/ec2sla/ http://calculator.s3.amazonaws.com/calc5.html

II

LeclreOlivier

tudedelasolutiondetype IaaS :AmazonEC2 AnnexeA

5. Avantage/inconvnient
Avantages:
+PossibilitdecrersespropresAMIs,rpondantsesbesoinsetselonsesstandards. +Multizonequirduitlesrisquesdepannesetdiminuelalatencerseau. +NombreuxAMIsdisponibles. +ServicessupplmentairesdjdveloppscommeleVPC(VirtualPrivateCloud).

Inconvnients:
dumas-00524318, version 1 - 7 Oct 2010
Prixflous,prixcachs(parexemple:licences). Fortes contraintes architecturales pour le dveloppement dapplication web scalable (parexemple:gestiondelasessioninterAMIs).

6. Enrsum
Une solution robuste, idale pour le calcul de type batch, pour lhbergement de Web servicesoupourlhbergementdesitesstatiques.Pourlessitesplusinteractifs,Amazon EC2noffrepasunerellesolutioncompareauxsolutionsdeshbergeurstraditionnels, mis part son implantation aux tatsUnis et en Europe.

III

LeclreOlivier

dumas-00524318, version 1 - 7 Oct 2010

LeclreOlivier

tudedelasolutiondetype IaaS :ElasticHosts AnnexeB

ElasticHosts
http://www.elastichosts.com/

1. Prsentationdelasolution
ElasticHosts est une solution europenne qui offre ses clients une solution de location dinstances de serveurs virtuels Linux ou Windows payable lheure ou au mois. Le client peut accder et grer ses serveurs au travers dun client VNC (Virtual Network Computing). ElasticHosts offre plusieurs images prinstalles (par exemple: Debian, Ubuntu et Windows Server 2008), ainsi que des CD dinstallation pour CentOs, Debian, Knoppix, Red Hat Fedora, Ubuntu, FreeBSD, OpenSolaris et des versions d'valuation de Windows. ElasticHosts offre aussi la possibilit de tlcharger dautres systmes dexploitation. En fonction de leurs besoins, les clients dElasticHosts peuvent allouer dynamiquement plus ou moins de puissance CPU (2 20 GHz) et de RAM (1'024 Mb 8'192 Mb). Ils peuventfairedemmepourlagestiondeleurespacedisque.

dumas-00524318, version 1 - 7 Oct 2010

2. SLA
Le Service Level Agreement1 offert par ElasticHosts est de 100% en garantissant 0% dinterruption de service. Si cela se produit il offre cent fois le crdit du client en cas de problme.

3. Technique
ElasticHosts a bas sa solution de Cloud Computing sur la solution de virtualisation Linux KVM (Kernel Based Virtual Machine). Cette solution opensource permet de faire fonctionner plusieurs machines virtuelles sur un serveur physique en se servant de fonctionnalits de base de Linux pour la gestion du scheduler et de la gestion de la mmoire.
1

http://www.elastichosts.com/blog/2009/08/04/elastichostslaunchesultraflexiblescalablecloud hosting/

LeclreOlivier

tudedelasolutiondetype IaaS :ElasticHosts AnnexeB

4. Prix
ElasticHosts permet de payer soit lheure, soit au mois lutilisation de ses ressources. Les prix commencent 0.04 GBP/heure pour une machine de 2GHz avec 1Gb de RAM et 1Gb de stockage et le prix monte jusqu 0.523 GBP/heure pour une machine de 20GHzavec8GbdeRAMet1.8Tbdestockage.ElasticHostsrecommandeleprpaiement mensualispourgarantirlesmeilleursprix2.

5. Avantage/inconvnient
Avantages:
dumas-00524318, version 1 - 7 Oct 2010
+ Possibilit de crer son image, rpondant ses besoins et selon ses standards ou utilisationdimagesexistantes. +BasenEurope.

Inconvnients:
Puissancelimite. Les 2 data centres sont bass gographiquement au mme endroit (autour de Londres). Petitestartup.

6. Enrsum
ElasticHosts est une solution encore jeune qui met en uvre certains concepts du Cloud Computing. Loffre dElasticHosts doit encore tre amliore afin doffrir de rellesfonctionnalitsdlasticitetdescalabilt(sansredmarragelorsdechangement desettings).

http://www.elastichosts.com/products/pricing

II

LeclreOlivier

tudedelasolutiondetype PaaS: AnnexeC MicrosoftWindowsAzure

MicrosoftWindowsAzurePlatform
http://www.microsoft.com/windowsazure/

1. Prsentationdelasolution
La plateforme Windows Azure Platform est la solution de Cloud Computing de Microsoft.Cetteplateformeoffretroistypesdeservices: Windows Azure qui permet de faire fonctionner sur cette plateforme aussi bien des solutions de traitement de donnes, que des applications Web. Cette plateforme permet aussi de faire du stockage de donnes. Ce service offre la possibilit aux dveloppeurs dutiliser les langages du framework .NET, mais aussidautreslangagescommePHPetJava.Afindegarantirunserviceoptimum Windows Azure met en uvre des mcanismes pour faciliter la scalabilit desinfrastructurestechniques. SQL Azure est le moteur de base de donnes relationnel de Microsoft port surleCloud. Windows Azure platform AppFabric permet dinterconnecter des services hbergssurleCloudavecdesapplicationsexistantes.

dumas-00524318, version 1 - 7 Oct 2010

Tous ces services de Cloud Computing sont hbergs dans les data centres de Microsoft.

2. SLA
Microsoft garantit une disponibilit de 99.9% pour ses services1 Windows Azure, SQL Azure et Windows Azure platform AppFabric. Ce taux passe 99.95% si lutilisateurdploiesonservicedansaumoins2zonesgographiquesdistinctes.

http://www.microsoft.com/windowsazure/sla/

LeclreOlivier

tudedelasolutiondetype PaaS : AnnexeC MicrosoftWindowsAzure

3. Technique
Dans cette section, nous focaliserons cette tude succincte sur le service Windows Azure. Windows Azure permet de facilement dployer des applications packages dans un fichier cspkg sur le Cloud de Microsoft. Ce package est accompagn dun fichier de configuration cscfg. Ce dernier permet de dfinir le type de VM utilis (de small processeur1CPU1,6GHz1,7Gbdemmoireet250Gbdedisquedurextralargeavec 8 CPU, 15 Gb de mmoire et 2 Tb de disque dur) et le nombre dinstances (VM) dployer pour le projet. Ce nombre dinstance peut ensuite tre modifi en cours de productionafinderpondreauxbesoins.Microsoftrecommandelutilisationdaumoins 2instancesdans2zonesgographiquesdistinctesafindegarantirunmeilleurniveaude service.

dumas-00524318, version 1 - 7 Oct 2010

4. Prix
Microsoftfacture2tout.LeCPUcote0.12USDparheure,ledisquedur0.15USDparGo par mois et les 10'000 accs disque cote 0.01 USD. Loutil destimation des prix prvoit un budget 1'959.49 USD par mois pour un site web dinformation qui fonctionnera sur 5 instances.Cecot baisse1'696.69USDsinousnouslimitons2instancesserveurs.Le calculateur prvoit aussi un budget de prs de 55'000 USD pour le dveloppement et le dploiementdelapplicationlapremireanne.

http://www.microsoft.com/windowsazure/tco/

II

LeclreOlivier

tudedelasolutiondetype PaaS: AnnexeC MicrosoftWindowsAzure

5. Avantage/inconvnient
Avantages:
+Supportedenombreuxlangages. +Offreplusieurszonesdhbergement. +Offreunebasededonnesrelationnelle. + Permet dinterconnecter des services de type Cloud avec des applications existantes.

dumas-00524318, version 1 - 7 Oct 2010

Inconvnients:
Scalabilitmanuelleouncessiteunprogrammetiers. Pasdesession.

6. Enrsum
Microsoft Windows Azure Platform est une plateforme qui est en constante amlioration depuis son lancement fin 2008 en version Community Technology Preview. Microsoft doit encore travailler sur lautomatisation du mcanisme de scalabilt.

III

LeclreOlivier

dumas-00524318, version 1 - 7 Oct 2010

LeclreOlivier

tudedela solutiondetype PaaS :GoogleAppEngine AnnexeD

GoogleAppEngine
http://appengine.google.com/

1. Prsentationdelasolution
App Engine est la plateforme de Cloud Computing de Google. Cette plateforme offre la possibilit dhberger des applications Web, dveloppes soit en Java, soit en Python, directement sur les infrastructures de Google. Google App Engine bnficie de la grande exprience de Google en matire dhbergement Web. Google avec sa solution de Cloud Computing App Engine garantit que les environnements d'excution sont construits pour sassurer que lapplication s'excute rapidement, de manire scurise, et sans ingrence lie l'excution des autres applications sur le systme,mmeencasdeforttrafic.

dumas-00524318, version 1 - 7 Oct 2010

2. SLA
Aucun Service Level Agrement nest offert par Google, selon le point 11.2 des conditionsdutilisationsdeGoogleAppEngine1.

http://code.google.com/appengine/terms.html,consultle17/01/2010

LeclreOlivier

tudedelasolutiondetype PaaS :GoogleAppEngine AnnexeD

3. Technique

Figure:ArchitectureserveuretsystmedeGoogleAppEngine.

dumas-00524318, version 1 - 7 Oct 2010

Pour sa plateforme App Engine, Google a mis en place une architecture serveur et systme qui lui permet de garantir un haut niveau de qualit. Google a clairement spar la partie statique de la partie dynamique des applications hberges chez lui. La partie applicative accde facilement deux solutions de persistance: Memcache pour les donnes qui ont dure de vie courte et Datastore qui est le moteur de base de donnes de la solution App Engine. La plateforme de Google offre dautres services qui permettent entre autre daccder dautres ressources sur linter ou denvoyer des mailsparexemple. Pour rpondre la monte en charge, Google multiplie les instances de serveurs applicatifs. Sur sa plateforme App Engine, Google a dfini quelques contraintes techniques (par exemple: en Java impossibilit douvrir un socket pour crire dans un fichier, en Python les extensions en C ne sont pas autorises) et oprationnelles (par exemple: le temps dexcution dune application est de 30 secondes maximum, une requte ne peut retournerque1'000enregistrementsaumaximum).

II

LeclreOlivier

tudedela solutiondetype PaaS :GoogleAppEngine AnnexeD

4. Prix
Gratuitpourlesapplicationsncessitantmoinsde500Modestockageetayantmoinsde 5millionsdepagesvuesparmois. Google facture2 ensuite 0.10 USD lheure de CPU entame, 0.10 USD le giga de donnes entrantes et 0.12 USD le giga de donnes sortantes. Le stockage de donnes est factur 0.15USDlegigaparmois.Lenvoidemailestfactur0.0001USDpardestinataire.

5. Avantage/inconvnient
Avantages:
+Plateformesimpleprendreenmain.

dumas-00524318, version 1 - 7 Oct 2010

+Peutservir400500requtesparsecondes. +Mcanismesdescalabilitetdlasticittransparentpourledveloppeur

Inconvnients:
Choixdeslangages. Basededonnespropritaire. SLA

6. Enrsum
Google App Engine est une solution qui a t prouve depuis son lancement en 2008. Cette plateforme est simple prendre en main et offre malgr certaines contraintes techniquesdegrandespossibilitsdedveloppement. Lorsdetestdelasolutiongratuite,nousavonsconstatunelatencedenviron1seconde lors de chaque requte HTTP la partie dynamique. Nous avons aussi constat que Google naime pas les full table scan.

http://code.google.com/appengine/docs/billing.html#Billable_Quota_Unit_Cost

III

LeclreOlivier

dumas-00524318, version 1 - 7 Oct 2010

LeclreOlivier

tudedelasolutiondetype PaaS :Appistry AnnexeE

AppistryCloudIQ
http://www.appistry.com/

1. Prsentationdelasolution
Appistry CloudIQ est une plateforme (de type middleware) qui permet de facilement dployer une application sur un Cloud. La solution propose par Appistry se dcompose en deux packages: Appistry CloudIQ Manager qui est la console qui permet de grer tous les nuds du cluster ainsi que de dployer les applications. Appistry CloudIQ Engine est le middleware qui hberge les applications. Cest aussi cette couche qui permet de grer la scalabilt et qui garantit la fiabilit de la plate forme. Appistry CloudIQ peut aussi bien tre dploy en interne sur des machines Linux ou Windows, que sur des solutions de Cloud Computing externes comme Amazon EC2 ouGoGrid.

dumas-00524318, version 1 - 7 Oct 2010

2. SLA
Non applicable, car Appistry CloudIQ est une solution de type middleware et non un service.

3. Technique
Appistry CloudIQ Engine est un programme installer sur chaque machine du cluster. Appistry CloudIQ Manager est un service Web dployer sur une des machines du cluster ou sur une machine tierce. Au travers de ce service Web lutilisateur peut dployersespackagesspcialementprparspourlaplateforme. Appistry CloudIQ Engine supporte le Java, le .Net, le C, le C++. Ce middleware implmente certaines fonctionnalits pour faciliter la gestion des queues et pour permettre llasticit des applications. Appistry CloudIQ Engine offre aussi la possibilit de dployer des serveurs Web (Apache, Tomcat et IIS), des solutions de base de donnes (par exemple: MySql) ou des applications existantes, sans offrir de solution derpartitiondecharge.

LeclreOlivier

tudedelasolutiondetype PaaS :Appistry AnnexeE

4. Prix
Appistry offre une licence dvaluation de sa solution pour 5 machines et 10 cores, mais communique peu sur le prix de ses licences. Selon Darryl K. Taft deWeek Europe1, AppistrycommercialisesasolutionManager+Enginepour1'599US$/an.

5. Avantage/inconvnient
Avantages:
+Facilemettreenuvresurdesmachineseninterne. +Multiplateforme.

dumas-00524318, version 1 - 7 Oct 2010

+Supportelesgrandslangagesdeprogrammationdumoment.

Inconvnients:
Noffre pas une solution de rpartition de charge lors de dploiement de serveur Web oudapplicationexistante.

6. Enrsum
Appistry CloudIQ est une solution de middleware trs simple prendre en main et qui offre un grand potentiel. Cette solution est principalement ddie pour les applications spcialisesdansletraitement dedonnesetpour lamiseenplacedesolutionsdetype SOA.ElleoffretoutefoisunesolutionpourledploiementdeserveursWeb,maisnoffre pasdesolutionderpartitiondecharge.

http://www.eweekeurope.co.uk/news/appistrytacklesmultiplecloudapps364, publi le 13/03/2009, consultle07/01/2010

II

LeclreOlivier

tudedelasolutiondetype PaaS :AppScale AnnexeF

AppScale
http://appscale.cs.ucsb.edu/

1. Prsentationdelasolution
AppScale est une implmentation open source de Google App Engine, dveloppe par RACELab de luniversit de Santa Barbara aux tatsUnis. Cette plateforme permet dexcuter, sur son propre cluster, des applications dveloppes pour Google App Engine. LesbutsdAppScalesontpremirementdedvelopperuneplateformedetypePaaS qui permette de dployer et de tester une application, avant son dploiement sur la solution propritaire de Google. Le second but dAppScale est dtudier les interactions entreunPaaSetlescouchesinferieuresdunesolutiondeCloudComputing

dumas-00524318, version 1 - 7 Oct 2010

2. SLA
Nonapplicable.

3. Technique
Cette plateforme tourne sur des solutions de type IaaS mettant en uvre les solutions de virtualisation comme Xen, KVM, Eucalyptus ou Amazon EC2. AppScale est une solution de type PaaS permettant dhberger des applications dveloppes en Java ou en Python. Pour stocker les donnes, AppScale supporte un grand nombre de bases de donnes: Hbase, Hypertable, MySQL Cluster, Cassandra, Voldemort, MongoDB,MemcacheDB.

4. Prix
Nonapplicable.

LeclreOlivier

tudedelasolutiondetype PaaS :AppScale AnnexeF

5. Avantage/inconvnient
Avantage:
+Opensource. +PlussouplequeGoogleAppEngine

Inconvnient:
Pasconnu

dumas-00524318, version 1 - 7 Oct 2010

6. Enrsum
Cetteplateformeestpourlemomentdveloppedesfinsderecherchescientifiqueet pour tester des applications destines fonctionner sur Google App Engine. En ouvrant son code et en permettant dj lutilisation de systmes ouverts et connus pour la gestiondelapersistance,AppScaleprometdedevenirunesolutiondavenir.

II

LeclreOlivier

tudedelasolutiondetype PaaS :VMwarevSphere AnnexeG

VMwarevSphere4
http://www.vmware.com/products/vsphere/

1. Prsentationdelasolution
VMware est un des leaders mondiaux en matire de virtualisation et il a lanc en avril 2009vSphere4latechnologielabasedesasolutionvCloud. Enrsumant etensimplifianttrsfortementlefonctionnementdevSphere4,ceproduit permet de virtualiser un data centre en entier. Cette solution permet de rendre lexcution dune machine virtuelle totalement indpendante du hardware et par consquentderduirelerisquedepannes. DanssonpackageVMwareoffreplusieursservices:

dumas-00524318, version 1 - 7 Oct 2010

VMware VMotion et VMware Storage VMotion permettent de dplacer une machine virtuelle dune machine physique une autre sans interruption de service. VMware High Availability permet de redmarrer une machine virtuelle dans la minute en cas de panne de hardware ou de problme avec le systme dexploitation. VMware Fault Tolerance est le service qui permet de garantir une disponibilit continue de la machine virtuelle mme en cas de panne de la machinephysique. VMwareDRSestleservicequigrelascalabiltdelamachinevirtuelleetqui permet dajouter des ressources une machine virtuelle sans interruption de service.

VMware offre aussi des services pour garantir la scurit de tout le systme et assurer lesbackups.

2. SLA
Non applicable, car VMware vSphere4 est une solution de type middleware et non un service. En fonction du contrat, VMware peut offrir plus ou moins de support pour la miseenplacedesaplateforme.

LeclreOlivier

tudedelasolutiondetype PaaS :VMwarevSphere AnnexeG

3. Technique
Installer VMware vSphere4 est assez simple, tout comme dployer des machines virtuelles. Mettre en place une solution, tolrante aux pannes et offrant un maximum desservicesdcritscidessus,ncessitetoutefoisuneinfrastructuretechniqueadapte.

4. Prix
Le cot des licences annuelles1 pour mettre en place la solution vSphere varie entre 3500 USD et 5'000 USD par processeur de 12 cores maximum. tant donn que pour garantir un service continu, il faut au minimum deux serveurs et un superviseur, le cot minimumdeslicencesestde10500USDparan.

dumas-00524318, version 1 - 7 Oct 2010

5. Avantage/inconvnient
Avantages:
+Solutionrobuste. +Solutionscalable. +Solutionfiable.

Inconvnients:
Leprixdeslicences.

6. Enrsum
Personnellement,jaiputesterlhbergementdeplusieursserveursvirtuelssurunetelle solution et je nai rencontr aucune difficult. Le prix reste une barrire pour des petits projets.

http://www.vmware.com/products/vsphere/buy/overview.html,consultle7janvier2010

II

LeclreOlivier

tudedelasolutiondetype PaaS :XenCloudPlatform AnnexeH

XenCloudPlatform
http://www.xen.org/products/cloudxen.html

1. Prsentationdelasolution
Xen Cloud Platform (XPC) est une future plateforme de Cloud Computing, dveloppeparlacommunautXenetdistribuesouslicenceGPL.Ennovembre2009la version 0.1 a t lance et elle devrait servir comme base de dveloppement pour la premireversionofficielledelaplateformeXPC1.0.

2. SLA
dumas-00524318, version 1 - 7 Oct 2010
Nonapplicable,carXenestunesolutiondetypemiddlewareetnonunservice.

3. Technique
CetteplateformesebasesurlanouvelleversiondelhypervisordeXen.

4. Prix
Nonapplicable.

5. Avantage/inconvnient
Avantage:
+Opensource. +SupportparCitrix.

Inconvnient:
Pasencoreenservice

6. Enrsum
Cette plateforme est encore en train dtre dveloppe, le fait quelle soit open source est un atout indniable.

LeclreOlivier

dumas-00524318, version 1 - 7 Oct 2010

LeclreOlivier

Testdecharge1utilisateur (MyISAM) AnnexeI

Testdecharge:
Rsultatdutestdechargepour1utilisateurfaisantenmoyenne7requtesparseconde.Cetest a t effectu avec loutil Pylot sur une base de donnes MySQL utilisant le systme MyISAM. Cette base est charge avec 100'000 enregistrements dans la table page, 1'000 motscls et environ400'000jointuresentrecesdeuxtables. Tempsderponsemoyen:0.009seconde 99%desrequtesrpondentenmoinsde:0.011seconde Page min max avg hit >1sec Get 0.0092 0.025 0.0102 414 List 0.0072 0.0326 0.0081 1'917 Add 0.0081 0.0274 0.0100 639 Gethash 0.008 0.0218 0.0092 639 Up 0.0085 0.0115 0.0093 448 Down 0.0085 0.0102 0.0093 191 TagCloud 0.0104 0.1062 0.0645 13 Global 0.0072 0.1062 0.0091 4'261 Tableau:AnalysedtailledesrequtesHTTPparscript pc>1sec 3sec 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% pc>3sec 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%

dumas-00524318, version 1 - 7 Oct 2010

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

Figure:Graphiquedestempsderponse

LeclreOlivier

Testdecharge1utilisateur (MyISAM) AnnexeI


dumas-00524318, version 1 - 7 Oct 2010

LeclreOlivier

Testdecharge150utilisateurs(MyISAM) AnnexeJ

Testdecharge:
Rsultat du test de charge pour 150 utilisateurs faisant ensemble en moyenne 130 requtes par seconde. Ce test a t effectu avec loutil Pylot sur une base de donnes MySQL utilisant le systme MyISAM. Cette base est charge avec 100'000 enregistrements dans la table page, 1'000motsclsetenviron400'000jointuresentrecesdeuxtables. Tempsderponsemoyen:0.029seconde 99%desrequtesrpondentenmoinsde:0.027seconde

dumas-00524318, version 1 - 7 Oct 2010

Page min max avg hit >1sec pc>1sec 3sec pc>3sec Get 0.0083 3.1999 0.0304 234'796 1'278 0.54% 522 0.22% List 0.0065 9.0679 0.0280 1'062'102 5'780 0.54% 2'488 0.23% Add 0.0073 13.5512 0.0305 354'034 1'902 0.54% 850 0.24% Gethash 0.0075 3.3783 0.0290 354'032 1'892 0.53% 818 0.23% Up 0.0077 10.9929 0.0303 236'366 1'326 0.56% 578 0.25% Down 0.0078 3.1712 0.0279 117'666 574 0.49% 260 0.22% TagCloud 0.0091 3.4465 0.0809 7'824 42 0.54% 28 0.36% Global 0.0065 13.5512 0.0292 2'374'648 12'842 0.54% 5'556 0.23% Tableau:AnalysedtailledesrequtesHTTPparscript

Figure: Graphique des temps de rponse

LeclreOlivier

dumas-00524318, version 1 - 7 Oct 2010

LeclreOlivier

Testdecharge150utilisateurs(InnoDB) AnnexeK

Testdecharge:
Rsultat du test de charge pour 150 utilisateurs faisant ensemble en moyenne 130 requtes par seconde. Ce test a t effectu avec loutil Pylot sur une base de donnes MySQL utilisant le systmeInnoDB.Cettebaseestchargeavec100'000enregistrementsdanslatablepage, 1'000 motsclsetenviron400'000jointuresentrecesdeuxtables. Tempsderponsemoyen:0.029seconde 99%desrequtesrpondentenmoinsde:0.029seconde Page min max avg hit >1sec pc>1sec 3sec pc>3sec Get 0.0082 3.1918 0.0310 234'946 1'264 0.54% 524 0.22% List 0.0066 9.0412 0.0275 1'062'708 5'322 0.50% 2'262 0.21% Add 0.0074 9.0808 0.0299 354'236 1'686 0.48% 784 0.22% Gethash 0.0077 9.0234 0.0291 354'236 1'820 0.51% 786 0.22% Up 0.0076 3.3445 0.0293 236'530 1'196 0.51% 552 0.23% Down 0.0078 3.1786 0.0285 117'704 566 0.48% 238 0.20% TagCloud 0.0092 3.3003 0.1570 7'828 44 0.56% 30 0.38% Global 0.0066 9.0808 0.0291 2'376'020 11'964 0.50% 5'196 0.22% Tableau:AnalysedtailledesrequtesHTTPparscript

dumas-00524318, version 1 - 7 Oct 2010

Figure:Graphiquedestempsderponse

LeclreOlivier

dumas-00524318, version 1 - 7 Oct 2010

LeclreOlivier

dumas-00524318, version 1 - 7 Oct 2010

Miseenplacedunsitetype Web2.0surunCloud

Rsum
Le Cloud Computing devrait dici deux cinq ans devenir une des briques de base des platesformes informatiques de prochaine gnration. Le Laboratoire des Technologies de lInformation (LTI) de la Haute coledeGestion(HEG)deGenve,dontlesmissionssontdefairedelarechercheetdevalorisercettedernire autraversdemandats,avoulucomprendreleconceptdeCloudComputing. La premire partie de ce mmoire est consacre la dfinition du Cloud Computing et prsente les cinq concepts fondamentaux de cette nouvelle technologie. Le deuxime chapitre prsente les diffrents types dapplicationsCloudenlesclassantentroiscatgories(infrastructure,platformetsoftware).Les troisime et quatrime parties sont consacres la mise en pratique du concept. Le troisime chapitre est consacr la dfinition des besoins, des objectifs atteindre tout en respectant certaines contraintes. Dans cette troisime partie est choisie la plateforme de Cloud Computing pour hberger un projet de folksonomie. Ce dernier, qui sappuie sur les concepts du Web 2.0, consiste demander linternaute de classifierlespagesdunsiteWebenutilisantsespropresmotscls.Ceprojetfacilitelarecherchedinformation pour les autres internautes. Il leurs permet aussi de donner plus dimportance certains motscls en les valuant.Lamiseenuvredeceprojetestdcritedanslequatrimechapitre. Cette application Web 2.0 permet de constater les avantages, les inconvnients et les contraintes lies au dveloppementsurunCloudetdevrifiercertainsdesconceptsfondamentaux. Motscls:CloudComputing,pyramideduCloud,folksonomie,dfinition,concept,implmentation

dumas-00524318, version 1 - 7 Oct 2010

Summary
Cloud Computing is set to become one of the pillars of nextgeneration computing. The Laboratory of Information Technologies (LTI) at the University of Applied Sciences Western Switzerland (HEG) in Geneva, whose missions are to conduct research and development, aims to understand Cloud Computing concepts andconductapilotprojectusingthetechnology. This engineering thesis is divided into four chapters. The first chapter defines Cloud Computing and presents the technologys five fundamentals concepts. The second chapter presents the different types of Cloud solutions and classifies them in three categories (infrastructure, platform and software). The third and fourth chapters cover practical aspects. The third chapter defines the requirements and objectives that will allow the LTI team to host a folksonomy project on a Cloud. The project, based on Web 2.0 concepts, consists in asking Internet users to classify the pages of a Web site by using their own keywords. This project facilitates information retrieval for other Internet users. The application, also allows users to rank keywords thus giving more importance to betterranked words. The implementation of the folksonomy project is describedinthefourthchapter. This Web 2.0 application will help determine the advantages, disadvantages and limitations specific to the development of applications on a Cloud and will validate the fundamental concepts of Cloud Computing definedinthefirstchapter. Keywords:CloudComputing,cloudpyramid,folksonomy,definition,concepts,application

LeclreOlivier

Vous aimerez peut-être aussi