Livre blanc Windows Azure et les éditeurs de logiciel

Click here to load reader

  • date post

    02-Nov-2014
  • Category

    Technology

  • view

    445
  • download

    0

Embed Size (px)

description

 

Transcript of Livre blanc Windows Azure et les éditeurs de logiciel

  • 1. WINDOWS AZURE ET LES DITEURS DE LOGICIELS GUIDE POUR LES DCIDEURS DAVID CHAPPELL JUILLET 2009 PARRAIN PAR MICROSOFT CORPORATION
  • 2. 2 TABLE DES MATIERES Les diteurs de logiciels et le cloud computing.................................................................................3 Vue densemble de Windows Azure ................................................................................................4 Technologie............................................................................................................................................................4 Modle mtier ...............................................................................................................Erreur ! Signet non dfini. Utilisation de Windows Azure : Les solutions offertes aux diteurs de logiciels .................................8 Utilisation du stockage dans le cloud partir de votre application sur site...........................................................8 Associer le cloud computing votre application sur site.......................................................................................8 Crer une version SaaS de votre application..........................................................................................................9 Fournir des services de support aux plateformes cloud ......................................................................................11 Windows azure et les solutions alternatives ..................................................................................12 Hbergement classique........................................................................................................................................12 Systmes virtuels la demande...........................................................................................................................13 Conclusion ...................................................................................................................................14 Lauteur .......................................................................................................................................14
  • 3. 3 LES DITEURS DE LOGICIELS ET LE CLOUD COMPUTING Quel est lintrt du cloud computing pour un diteur de logiciels ? Cest simple : grce au cloud, un diteur de logiciels peut augmenter ses revenus et/ou rduire ses cots. Le fait dexcuter du code et de stocker des donnes sur des ordinateurs situs dans de vastes centres de donnes, accessibles via Internet et dtenus par un tiers, peut se rvler tre une solution particulirement intressante. Si vous souhaitez tourner votre entreprise vers lavenir, vous avez tout intrt tudier limpact que pourrait avoir le cloud computing sur votre activit. Un diteur de logiciels qui souhaite profiter du cloud peut par exemple exploiter Windows Azure. Conu pour prendre en charge des applications hautement disponibles et capables de monter en charge, Windows Azure est la technologie cloud phare de Microsoft. Ce document tudie pourquoi et comment les diteurs de logiciels devraient utiliser Windows Azure. Notre objectif est dexpliquer limportance du cloud computing pour les diteurs de logiciels et dillustrer comment cette nouvelle plateforme pourrait tre exploite. Avant dentrer dans le vif du sujet, rsumons quelques notions centrales. Voici les concepts cls quil faut comprendre : Lun des objectifs premiers de Windows Azure est de fournir une plateforme aux diteurs de logiciels pour la cration dapplications SaaS (Software as a Service).Les clients montrent un intrt croissant pour une version SaaS des logiciels quils achtent. Afin de rpondre cette demande et de rester comptitifs, beaucoup dditeurs proposeront une version SaaS de leurs produits actuels ou futurs. Les applications SaaS ncessitent un service sur le cloud trs fiable, capable de monter en puissance, pouvant tre utilis simultanment par un grand nombre dentreprises. Construire par vous-mme un tel service na pas plus de sens que dcrire un systme d'exploitation pour une application sur site. Tout comme Windows offre une plateforme de base pour les applications classiques sur site, Windows Azure peut constituer une plateforme pour les applications SaaS. Le cloud computing ntant pas une solution excluant les architectures classiques, il existe des options complmentaires aux applications SaaS. Une application sur site peut tre amliore laide de fonctionnalits situes dans le cloud : vous pouvez notamment excuter du code ou stocker un sous- ensemble de donnes sur Windows Azure. Grce cette autre utilisation dune plateforme cloud, vous ralisez des conomies tout en amliorant les fonctionnalits dune application existante. Par ailleurs, Windows Azure vous permet dacqurir de lexprience dans ce nouveau domaine, sans risques. Les plateformes cloud ne sadressent pas uniquement aux entreprises qui crent des applications pour les utilisateurs. Si vous fournissez des outils dinfrastructure ou des outils de dveloppement pour lenvironnement Windows classique, vous aurez srement loccasion de crer des produits valeur ajoute pour Windows Azure. mesure que le cloud computing va prendre de lampleur, la cration de nouvelles offres de ce type vous permettra de maintenir votre source de revenus. Une plateforme cloud telle que Windows Azure se distingue des mthodes d'hbergement classiques. Dun point de vue technique, Windows Azure simplifie ladministration tout en fournissant des services conus pour des applications hautement disponibles, capables de monter en puissance. Autres diffrences : le cloud ncessite un engagement financier initial minime tout en offrant la possibilit dadapter rapidement les ressources informatiques aux besoins de votre application. Ainsi, Windows Azure peut potentiellement fournir aux diteurs de logiciels une meilleure technologie pour un cot infrieur. Au dpart, Windows Azure sera sans doute utilis pour prendre en charge les applications existantes dans le cloud. Notons, cependant, que les plateformes cloud telles que Windows Azure proposent des services entirement nouveaux, comme un grand nombre de processeurs bas cot et un stockage dot dune capacit trs importante de monte en puissance. Au-del de la prise en charge des applications actuelles, des solutions entirement nouvelles devraient voir le jour grce ce type de plateforme innovant.
  • 4. 4 VUE DENSEMBLE DE WINDOWS AZURE Des connaissances lmentaires sur la plateforme Windows Azure sont ncessaires pour lutiliser de faon adquate. Ce chapitre prsente la technologie et son modle mtier associ. TECHNOLOGIE Windows Azure se divise en trois parties : un service de traitement pour excuter les applications, un service de stockage pour les donnes, et une structure qui prend en charge ces deux services (figure 1). Figure 1 : Windows Azure se divise en trois parties : le service de traitement, le service de stockage, et la Fabrique sur laquelle ils reposent. Pour utiliser le service de traitement, un dveloppeur doit crer une application Windows. Cette application peut tre crite l'aide de C# et du .NET Framework, de C++ et des API Win32 ou par dautres langages. Quelle que soit sa mthode de conception, lapplication doit tre implmente sous forme de rles Web, de rles Worker ou dune combinaison des deux (figure 2). Figure 2 : Les applications fondes sur le service de traitement Windows Azure peuvent comporter des instances de rle Web, des instances de rle Worker, ou une combinaison des deux. Systme virtuel IIS Agent Agent Instance de rle Web Instance de rle Worker Traitement Stockage Structure HTTP/ HTTPS quilibrage de la charge
  • 5. 5 Comme son nom lindique, une instance de rle Web accepte les requtes Web. Elle peut tre cre l'aide d'ASP.NET ou d'une autre solution qui fonctionne avec Internet Information Services (IIS). Quelle que soit la technologie utilise, Windows Azure intgre un dispositif dquilibrage de la charge sur lensemble des instances de rle Web dans une application donne. Une application Windows Azure peut galement comporter des instances de rle Worker pour les fonctions qui nont pas t conues pour rpondre directement des requtes Web. Une instance de rle Worker est simplement une application Windows qui peut fonctionner indfiniment (comme un service). Entre autres, ce modle permet la cration dapplications capables de monter en charge et dans lesquelles les instances de rle Web acceptent les requtes puis les transmettent aux instances de rle Worker pour leur traitement. Les instances de rle Web et les instances de rle Worker sont des applications Windows ordinaires ; par consquent, certaines oprations telles que l'ouverture de session ncessitent un accs direct Windows Azure. Pour ce faire, les applications peuvent directement appeler un agent Windows Azure, comme illustr ci-dessus (figure 2). Notez que chaque instance, rle Web ou rle Worker, est excute dans un systme virtuel qui lui est propre. Ainsi isoles, les applications Windows Azure peuvent tre excutes en mode Full Trust . De plus, cette architecture donne des informations prcises sur les performances, chaque systme virtuel tant associ un cur de processeur. Cependant, un dveloppeur ne cre pas explicitement les systmes virtuels. Il transmet une application Windows Azure avec un fichier de configuration XML qui dfinit le nombre dinstances de rle Web et dinstances de rle Worker qui devraient tre excutes. Par la suite, Windows Azure cre le nombre de systmes virtuels requis puis supervise leur excution. En cas dchec dune instance, Windows Azure en dmarre une nouvelle en vrifiant que le nombre dfini d'instances de rle Web et de rle Worker sont toujours excutes. (Cette opration est effectue par le Contrleur de structure, appel la Fabrique , un logiciel qui gre tous les systmes virtuels dune instance.) Pour augmenter ou rduire le nombre dinstances excutes, le propritaire dune application peut modifier la valeur de lun ou lautre des types dinstance dans la configuration de lapplication. Windows Azure cre ou dsactive automatiquement les systmes virtuels en fonction de ce nouveau paramtre. Les applications Windows Azure sont essentiellement des applications Windows : il nest donc pas tonnant quelles puissent tre cres laide de Visual Studio. Cet outil propose des modles pour crer des applications cloud sous forme de rles Web, de rles Worker, ou dune combinaison des deux. Windows Azure fournit galement une Fabrique locale, c'est--dire une copie de Windows Azure excute sur un ordinateur local. Les dveloppeurs peuvent lutiliser pour crer leur code et effectuer des tests initiaux et le dbogage, puis ils transfrent lapplication vers Windows Azure le moment venu. Gnralement, les applications ncessitent un stockage persistant. Dans ce cadre, Windows Azure fournit ses propres mcanismes dans le cloud pour les oprations de stockage et de rcupration des donnes. La plateforme propose trois options de stockage accessibles via des instructions standards HTTP GET, PUT et DELETE (figure 3).
  • 6. 6 Figure 3 : Le service de stockage Windows Azure est accessible via des applications Windows Azure ou des applications externes. Les trois mthodes de stockage de Windows Azure sont les suivantes : Les blobs qui permettent de stocker de grands objets binaires tels que des vidos et des images. Les tables qui fournissent un stockage bas sur les entits, capable de monter en charge (tables non relationnelles). Les files dattente qui permettent denvoyer et de recevoir des messages, notamment entre les instances de rle Web et les instances de rle Worker dune application. Notons que ces trois mthodes de stockage sont galement accessibles aux applications qui ne sont pas excutes dans Windows Azure (c'est--dire au sein du service de traitement Windows Azure). Par exemple, une application sur site ou hberge peut choisir de stocker des fichiers vido lourds en tant que blobs Windows Azure. La plateforme Windows Azure inclut aussi SQL Azure Database (prcdemment nomm SQL Data Services). Cette solution fournit un stockage relationnel standard bas sur SQL Server et propose, notamment, des procdures stockes. Une base de donnes dans SQL Azure Database ne peut pas contenir autant dinformations quune table de stockage Windows Azure. Cependant, ces bases de donnes fournissent un modle de stockage courant accessible via ADO.NET et dautres solutions daccs largement utilises. Pour plus de dtails sur Windows Azure, consultez le document Introducing Windows Azure (en anglais). Pour une prsentation de la plateforme Windows Azure dans son ensemble (auparavant nomme plateforme de services Azure), consultez le document Introducing the Azure Services Platform: An Early Look at Windows Azure, .NET Services, SQL Services, and Live Services (en anglais). HTTP/ HTTPS Blobs Tables Files dattente Structure StockageTraitement
  • 7. 7 BUSINESS MODEL Lun des attraits principaux dune plateforme cloud, qui la diffrentie de lhbergement classique, est la tarification en fonction de lutilisation. Avec lhbergement classique ou un centre de donnes priv, le propritaire d'une application est gnralement factur pour un ensemble dfini de systmes pour une priode donne. Pour les applications charge variable, cet ensemble dfini doit tre suffisamment vaste pour prendre en charge les priodes de pointe, ce qui signifie que cette capacit est sous-utilise le reste du temps. Les plateformes cloud ne fonctionnent pas de cette manire. Par exemple, avec Windows Azure, le propritaire dune application est factur uniquement pour les ressources de traitement et de stockage quil utilise. Lorsque la charge de lapplication est faible, trois instances de rle Web et deux instances de rle Worker sont par exemple suffisantes. Lorsque la charge est leve, le propritaire peut demander six instances de rle Web et quatre instances de rle Worker. Dans les deux cas, il est uniquement factur pour les ressources utilises. Le systme de tarification de Windows Azure est relativement simple, avec trois grandes variables : le temps de traitement, le stockage et laccs aux donnes, et lutilisation de la bande passante en entre et en sortie. Pour le temps de traitement, le propritaire dune application est factur un montant fixe pour chaque heure dexploitation dun systme virtuel. Pour les donnes, il est factur un montant fixe par gigaoctet par mois, ainsi que des frais pour les oprations sur les donnes telles que les instructions GET et PUT. Enfin, pour la bande passante, il est factur un montant fixe par gigaoctet de donnes transfres vers ou en dehors dun centre de donnes Windows Azure. (Cependant, laccs aux donnes entre applications lintrieur dun centre de donnes est gratuit.) Les frais sont les suivants : Excution = 0,12$/heure par systme virtuel Stockage = 0,15$/Go de stockage par mois, 0,01$/10 000 oprations Bande passante = 0,10$/Go en entre, 0,15$/Go en sortie Les applications Windows Azure peuvent galement utiliser SQL Azure Database pour le stockage. Ici encore, les frais dpendent de lutilisation avec deux grandes variables : la quantit de donnes stockes (ainsi que le nombre dheures de requte autorises, soit le temps de processeur allou pour les requtes SQL sur ces donnes), et lutilisation de la bande passante en entre et en sortie. Les frais sont les suivants : Web Edition : 9,99$/mois pour une base de donnes relationnelle, jusqu 1 Go de stockage et un maximum de 10 heures de traitement de requtes Business Edition : 99,99$/mois pour une base de donnes relationnelle, jusqu10 Go de stockage et un maximum de 100 heures de traitement de requtes Bande passante = 0,10$/Go en entre, 0,15$/Go en sortie Microsoft a indiqu quil offrirait terme des remises bases sur lengagement. Dans ce cadre, les clients qui sengageront sur des niveaux dutilisation minimaux spcifiques profiteront dune rduction de leurs frais. Les engagements permettent Microsoft de mieux planifier ses ressources et de rduire ses dpenses, une conomie qui sera rpercute sur les clients via des remises. Comme pour ses autres offres, Microsoft propose un programme partenaire pour Windows Azure. Dans le cadre de ce programme, Azure QuickStart offre aux diteurs de logiciels et aux autres partenaires un point de dpart pour explorer la plateforme Windows Azure et pour se connecter Microsoft et aux clients qui utilisent la plateforme. Par ailleurs, avec loffre Development Accelerator, Microsoft concde une remise aux diteurs de logiciels qui sengagent utiliser sur six mois la plateforme Windows Azure des fins de dveloppement. Dautres services courants sont galement disponibles, tels que les forums et le support tlphonique, illustrant le rle essentiel des diteurs de logiciels dans la russite de Windows Azure.
  • 8. 8 UTILISATION DE WINDOWS AZURE : LES SOLUTIONS OFFERTES AUX DITEURS DE LOGICIELS Pour savoir si une plateforme cloud peut largir votre champ dactivit, vous devez tudier comment lexploiter. Dans cette optique, ce chapitre prsente certains scnarios dutilisation de Windows Azure pour les diteurs de logiciels. UTILISATION DU STOCKAGE DANS LE CLOUD PARTIR DE VOTRE APPLICATION SUR SITE Lune des faons les plus simples dutiliser Windows Azure est le stockage des donnes. Comme nous lavons dit prcdemment, le stockage Windows Azure est accessible partir dapplications sur site ou dapplications Windows Azure. Par exemple, une application qui sauvegarde ses donnes sur un systme sur site peut choisir dutiliser la place des blobs de stockage Windows Azure, ce qui pourrait renforcer la fiabilit des sauvegardes. En effet, comme tout autre lment du stockage Windows Azure, les blobs sont rpliqus au minimum trois fois. Par ailleurs, cela pourrait rduire les cots grce lconomie dchelle fournie par les vastes centres de donnes de Microsoft. Autre exemple : une application qui fournit de grandes quantits de donnes ses utilisateurs, telles que des vidos ou des fichiers audio. Au lieu de stocker ces donnes localement, lapplication peut ici aussi choisir dutiliser les blobs de stockage Windows Azure pour renforcer la disponibilit et rduire les cots. Par ailleurs, le stockage Windows Azure nest pas la seule option possible. Avec SQL Azure Database, les applications peuvent galement stocker des donnes relationnelles dans le cloud. Dans ce cadre, une application qui doit partager un ensemble de tables relationnelles sur plusieurs instances excutes sur diffrents sites pourrait bnficier de la centralisation de ces donnes. Cette solution a ses limites ; une seule base de donnes SQL Azure Database ne peut pas dpasser 10 gigaoctets par exemple. Ainsi, ce service n'quivaut pas excuter SQL Server dans le cloud. Il offre nanmoins des avantages : une grande partie des tches ncessaires ladministration dune base de donnes disparat avec SQL Azure Database puisque Microsoft sen charge votre place. Par ailleurs, comme le stockage Windows Azure, SQL Azure Database stocke trois copies de toutes les donnes pour faire face une panne matrielle ventuelle. Ce type de stockage pourrait mme tre moins onreux que le stockage sur site, en particulier pour les entreprises de petite envergure. Pour stocker vos donnes sur la plateforme cloud de Microsoft, vous devez lui faire confiance. La meilleure solution consiste commencer par une petite implmentation pour ltendre par la suite si ncessaire. Ainsi, un diteur qui souhaite utiliser Windows Azure ou SQL Azure Database peut commencer par utiliser les services de stockage partir dune application sur site. Cela lui permettrait de se familiariser avec cette nouvelle approche pour sengager davantage par la suite. Cest une bonne solution pour avancer prudemment dans le domaine du cloud computing. ASSOCIER LE CLOUD COMPUTING VOTRE APPLICATION SUR SITE Sil est intressant de mettre les donnes dune application dans le cloud, il en va de mme pour excuter une partie de son code. Prenez une application qui crerait une place de march en ligne pour toutes les entreprises qui lutilisent. La construction de cette fonctionnalit sur une plateforme cloud telle que Windows Azure devrait tre nettement plus rapide et moins onreuse quune construction partir de zro. Ou encore, imaginez une application qui a besoin de faon ponctuelle d'un plus grand nombre de curs de processeur pour excuter des charges lourdes en calcul. Cette application pourrait crer quelques instances de rle Worker Windows Azure pour effectuer cette opration, puis les dsactiver lorsquelle nen a plus besoin. Le client nest factur que pour les ressources utilises, c'est--dire le nombre d'heures pendant lesquelles les systmes virtuels du rle Worker sont exploits.
  • 9. 9 Dans beaucoup de situations, le transfert dune application entire dans le cloud na pas dintrt. Faire porter des millions de lignes de code vers une plateforme cloud pourrait savrer trop risqu, trop onreux, voire tout simplement inutile. Il est plus utile dajouter de nouvelles fonctionnalits excutes dans le cloud. tant donn que Windows Azure fournit une plateforme conue pour lexcution dapplications cloud, elle peut simplifier la cration de ce type de code. CRER UNE VERSION SAAS DE VOTRE APPLICATION Pendant longtemps, le travail dun diteur de logiciels consistait installer ses logiciels directement sur les systmes des clients. Ce nest plus le cas avec les applications SaaS. Contrairement aux logiciels conventionnels, une application SaaS est excute dans un centre de donnes accessible via Internet, et gnralement fournie aux clients via le Web. Les applications SaaS peuvent offrir aux clients des avantages importants : Diminution des risques : contrairement aux logiciels conventionnels, les applications SaaS ne ncessitent pas un investissement initial lourd. Les clients peuvent tester lapplication gratuitement avant de lacheter, ce qui leur permet dtre srs de sa valeur mtier. Structure de prix plus attrayante : les applications SaaS font gnralement lobjet d'une facturation en fonction de lutilisation, comme des frais par utilisateur par mois. Ainsi, les clients peuvent commencer par une petite implmentation pour ajouter des utilisateurs au besoin. Par ailleurs, cela permet de remplacer une dpense dinvestissement (lachat du logiciel) par une dpense dexploitation, choix dterminant pour certaines entreprises. Dploiement plus rapide et moins onreux : au lieu dinstaller le logiciel sur les ordinateurs locaux, les utilisateurs dune application SaaS accdent gnralement lapplication via un navigateur Web ordinaire. Mises niveau simplifies : les clients nont plus mettre niveau leurs logiciels puisque le fournisseur de lapplication SaaS sen charge de faon centralise. Le modle SaaS offre des avantages intressants pour certains clients et types dapplications. Nanmoins, cette mthode a galement son lot dinconvnients, et elle nest donc pas adapte toutes les applications. Voici certains des dfis majeurs auxquels les clients SaaS sont confronts : Confiance : Le client peut-il rellement faire confiance au fournisseur dune application SaaS ? Lapplication sera-t-elle toujours disponible ? Peut-on confier au fournisseur de lapplication des donnes dentreprise sensibles ? La confiance accorde au fournisseur constitue le plus grand obstacle ladoption dune application SaaS. Notons que cette confiance doit stendre la plateforme cloud sur laquelle une application SaaS est base. Conformit la rglementation : beaucoup dentreprises doivent se conformer un ventail de lois, telles que Sarbanes-Oxley et Basel II. Si une application SaaS (et la plateforme cloud sur laquelle elle repose) ne respecte pas ces rglementations, lentreprise ne peut pas lutiliser. Degr de personnalisation : les packs logiciels classiques sur site peuvent gnralement tre personnaliss en fonction des besoins des entreprises. Or, les applications SaaS ont gnralement plusieurs locataires, ce qui signifie que la mme copie d'un logiciel est partage par tous les utilisateurs. Lapplication peut encore tre personnalise mais le degr de personnalisation est plus limit quavec les logiciels classiques.
  • 10. 10 Intgration avec des applications sur site : une application SaaS doit fournir une mthode pour intgrer son code et ses donnes avec des applications sur site. Cela sapplique galement lintgration des identits puisque les clients souhaitent gnralement une mthode dauthentification unique. Administration : actuellement, la plupart des outils sur site pour ladministration et la surveillance des applications ne fonctionnent pas correctement avec les applications SaaS. Mme si ce problme devrait tre rsolu dans le temps, il constitue un obstacle pour certains clients. Les applications SaaS offrent des avantages et des inconvnients aux entreprises qui achtent les logiciels mais galement aux entreprises qui les commercialisent. Voici certains avantages pour les diteurs de logiciels : Potentiel daugmentation des ventes : les risques et linvestissement financier initial sont rduits pour les clients, ce qui permet dacclrer les ventes. Par ailleurs, les applications SaaS peuvent attirer de nouvelles catgories de clients, telles que les entreprises de plus petite taille, tant donn quelles ncessitent moins dexpertise informatique en interne. Mises niveau plus simples pour le client : au lieu de convaincre chaque client de mettre niveau son site, lditeur de logiciels peut simplement mettre niveau tous les utilisateurs de son application SaaS en mme temps. Cela lui permettra de nettement rduire ses cots de support puisquil na plus quune seule application prendre en charge. Cependant, tout a un prix et la transition vers le modle SaaS prsente certains inconvnients pour les diteurs de logiciels, notamment : Modle de vente et de revenu diffrent : les rentres dargent sont progressives la diffrence des licences payes en une seule fois, lors de linstallation. Ainsi, les marges sont plus basses initialement. Fidlit rduite des clients : en labsence de frais fixes lis l'achat d'une application sur site fortement personnalise, les clients pourront plus facilement changer de fournisseur. Rduction des revenus de service lis la personnalisation : les diteurs de logiciels qui obtiennent une grande partie de leurs revenus par leurs services de personnalisation risquent de voir baisser ce chiffre pour les applications SaaS. Dfis techniques : la cration dune application SaaS ncessite des comptences techniques diffrentes de celles quont les diteurs de logiciels. Au lieu de crer des logiciels sur site, vos dveloppeurs doivent crer une application partage, trs fiable et dote dune forte capacit de monte en puissance. Par ailleurs, le comportement de Windows Azure est parfois diffrent de celui de lenvironnement de Windows Server, ce qui pourrait ncessiter de changer une partie du code existant. Par exemple, Windows Azure quilibre les charges des requtes sur lensemble des instances de rles Web dune application. Cependant, elle nassure pas le suivi de session. Mme si ce processus augmente la capacit de monte en puissance, il nest peut- tre pas adapt la conception actuelle de votre application. Il faut se rendre lvidence : les applications SaaS ont un rle important jouer mais elles nradiqueront pas pour autant les logiciels sur site. Chaque diteur qui fournit une application en pack doit tudier ses offres et prendre une dcision. Quelle application profiterait du modle SaaS ? Vous avez tout intrt crer une version SaaS dune application actuelle sur site surtout si vos concurrents en prennent galement le chemin.
  • 11. 11 Comme vous le savez, lun des objectifs premiers de Windows Azure est de prendre en charge les applications SaaS. Diffrents aspects de sa conception refltent cet objectif. Par exemple, une application SaaS doit tre dote dune plus grande capacit de monte en puissance que les applications sur site tant donn quelle prendra en charge plusieurs clients en mme temps. La sparation rle Web/rle Worker dans Windows Azure doit permettre la cration dapplications dotes dune forte capacit de monte en puissance en partageant les tches entre un serveur Web frontal et un serveur Worker central. De mme, les tables de stockage Windows Azure ont t cres pour contenir de grandes quantits de donnes, bien plus quun seul systme de gestion des bases de donnes relationnelles. Par ailleurs, une application SaaS doit tre plus fiable quune application sur site puisquune panne affecte plusieurs clients en mme temps. En surveillant chaque instance dune application, la structure Windows Azure peut garantir ce degr de fiabilit. En cas dchec dune instance, dun systme virtuel ou encore dun systme entier, la Fabrique en redmarrera un ou une autre pour prendre sa place. La Fabrique permet galement de mettre niveau une application sans la fermer, caractristique essentielle pour une application SaaS qui doit tre disponible en permanence. Autre critre important pour lefficacit dune application SaaS : la souplesse, c'est--dire la capacit de grer les priodes de pointe la demande. Avec une application classique, le centre de donnes doit tre capable de supporter la charge maximale de cette application. Quoique faisable, cette option est onreuse et source de gaspillage : la capacit du centre de donnes sera en grande partie inutilise la plupart du temps. Avec Windows Azure, ce problme est plus simple rsoudre. Souvenez-vous que le propritaire dune application peut modifier le nombre dinstances excuter et que le Contrleur de structure se charge de crer ou de dsactiver les systmes virtuels en fonction de ce nombre. Les clients de Windows Azure sont uniquement facturs pour les ressources quils utilisent : ils paient pour une grande quantit de ressources uniquement lorsquils en ont besoin. Lorsque la charge diminue, lapplication peut revenir sa taille normale. Les applications SaaS ont des exigences trs diffrentes des applications classiques sur site. Cela explique en grande partie le mode de conception de Windows Azure. Un diteur de logiciels qui cre une application SaaS peut construire sa propre plateforme. Cest ce que certains diteurs ont fait tant donn quil ny avait pas dautre alternative. Or, avec la multiplication des plateformes cloud, les diteurs de logiciels peuvent dsormais se concentrer sur leur logique mtier au lieu de penser infrastructure. lavenir, la plupart des applications SaaS seront probablement cres sur une plateforme cloud telle que Windows Azure. FOURNIR DES SERVICES DE SUPPORT AUX PLATEFORMES CLOUD De nombreux diteurs de logiciels proposent des services dinfrastructure et dadministration pour les environnements sur site. Beaucoup dautres fournissent des logiciels qui simplifient les tches des dveloppeurs. Certaines de ces solutions ont leur place dans le cloud. Par ailleurs, le cloud offre de nouvelles opportunits aux diteurs de logiciels pour gnrer des revenus en fournissant une valeur ajoute Windows Azure. Par exemple, Windows Azure permet daccder aux donnes sur la performance de traitement des applications. Un outil qui agrge ces donnes pour les prsenter via une interface utilisateur efficace pourrait aider les clients Windows Azure administrer leurs applications cloud. Windows Azure fournit galement des API qui permettent une application de changer la vole le nombre dinstances de rle Web et de rle Worker excutes, au lieu davoir le faire manuellement. Cependant, la plateforme ne fournit pas de logiciel qui supervise la charge de lapplication puis qui utilise ces API pour ajuster le nombre dinstances. Un diteur de logiciels pourrait se glisser dans ce crneau pour fournir du code qui aide les dveloppeurs facilement ajouter ce comportement leurs applications.
  • 12. 12 Lavnement des plateformes cloud reprsente un grand bouleversement pour les diteurs de logiciels. Comme avec tout grand changement, il est plus prudent davancer progressivement, en utilisant le stockage cloud de Windows Azure ou en dchargeant une partie de votre application dans le cloud par exemple. Si tout se passe bien, et si cette transition est rentable financirement, vous pouvez avancer plus grands pas, en crant une version SaaS complte de votre application. WINDOWS AZURE ET LES SOLUTIONS ALTERNATIVES Windows Azure nest pas une solution unique : il existe dautres approches sur le march. Ce chapitre compare Windows Azure avec deux alternatives videntes : lhbergement classique et les plateformes qui fournissent les systmes virtuels la demande. HBERGEMENT CLASSIQUE Gnralement, les entreprises qui cherchent externaliser leurs applications sadressent en premier lieu un fournisseur de services dhbergement. Dans les scnarios dhbergement classiques, un client demande un ensemble dfini de ressources et sengage payer ces ressources pour une dure dfinie dans le temps. Par exemple, un diteur de logiciels souhaitant excuter une application SaaS peut sengager auprs dun fournisseur de services dhbergement pour six serveurs par an, en change dun montant fixe pour ce service. Lhbergement offre un ventail davantages. Lhbergement est souvent moins onreux que lexcution dun centre de donnes en interne, notamment pour les petites entreprises. Par ailleurs, le client na pas grer la complexit lie lexcution du centre de donnes en restant nanmoins au contrle du systme quil utilise. Malgr limpact quauront les plateformes cloud sur les solutions dhbergement classiques, elles ne feront pas disparatre ce modle pour autant car il est mieux adapt pour de nombreuses situations. Cependant, certaines applications seront plus efficaces sur une plateforme cloud telle que Windows Azure. En voici quelques avantages : La capacit daugmenter rapidement le nombre de serveurs utiliss : un fournisseur de services dhbergement peut prendre plusieurs jours pour mettre un systme disposition, tandis qu'une application Windows Azure peut mettre en route un nouveau systme virtuel en quelques minutes seulement. La capacit de rduire rapidement le nombre de serveurs utiliss : gnralement, les fournisseurs de services dhbergement exigent un engagement de la part du client pour un nombre fixe de serveurs. Avec Windows Azure, une application peut rduire le nombre de systmes virtuels quelle utilise (et par la mme occasion baisser le cot de traitement de cette application) en rduisant le nombre dinstances de rle Web et/ou de rle Worker. Ainsi, le client nest pas oblig de sengager ds le dpart sur un nombre minimal de serveurs. La capacit de fournir des services explicitement conus pour des applications hautement disponibles et dotes dune forte capacit de monte en puissance : les fournisseurs de services dhbergement fournissent simplement des systmes Windows standards aux clients qui doivent veiller au bon fonctionnement de leurs applications. Comme nous lavons dit prcdemment, une plateforme cloud telle que Windows Azure peut tre explicitement conue pour prendre en charge des applications ncessitant une trs haute disponibilit et une grande capacit de monte en puissance.
  • 13. 13 Charge administrative rduite : Contrairement Windows Azure, les fournisseurs de services dhbergement accordent leurs clients des droits daccs administratifs complets pour leurs systmes. En contrepartie, les clients sont confronts une charge administrative plus lourde, qui stend de lapplication des correctifs sur les systmes d'exploitation jusqu ladministration des systmes de gestion des bases de donnes. Avec Windows Azure (et SQL Azure Database), la plupart de ces tches sont effectues votre place, ce qui vous fait gagner du temps et de largent. SYSTMES VIRTUELS LA DEMANDE Certains fournisseurs comme Amazon, Mosso et GoGrid proposent des systmes virtuels la demande. Contrairement aux fournisseurs de services dhbergement classiques, ils mettent rapidement disposition des systmes virtuels, sans engagement, facturs en fonction de lutilisation. En dautres termes, ils fournissent des plateformes cloud. Windows Azure est galement une plateforme cloud, et bien quelle utilise (et facture) des systmes virtuels, elle est trs diffrente des plateformes qui fournissent les systmes virtuels la demande. Avec une plateforme uniquement base sur des systmes virtuels, le scnario est trs proche de celui de lhbergement : vous contrlez entirement les systmes, avec des droits daccs administratifs, mais vous tes galement entirement responsable de la configuration et de ladministration de ces systmes et de leurs logiciels. Avec Windows Azure, vous fournissez uniquement une application Windows ainsi que des instructions sur le nombre dinstances excuter. La plateforme se charge elle-mme du reste, y compris de la mise niveau des logiciels systme au besoin. Autre diffrence notable entre ces deux solutions : le mode de gestion de la base de donns relationnelle. Dans les plateformes classiques bases sur des systmes virtuels, vous pouvez excuter une base de donnes relationnelle dans un systme virtuel tout comme vous lexcuteriez sur site ou en mode hberg. Cette mthode est fonctionnelle mais vous devez vous charger dinstaller, dassurer la maintenance et dadministrer la base de donnes par vous-mme. Par ailleurs, vous aurez peut-tre du mal en garantir la fiabilit puisquil nest pas possible, la plupart du temps, de mettre en place des clusters sur des disques partags. Avec Azure, une application peut choisir dutiliser SQL Azure Database la place. Comme nous lavons dit, cette technologie fournit un emplacement de stockage relationnel gr par Microsoft qui crit toutes les donnes plusieurs fois pour une plus grande fiabilit. Ici encore, vous navez pas un contrle total mais vous gagnez en simplicit et en fiabilit.
  • 14. 14 CONCLUSION Comme toute nouvelle plateforme, Windows Azure aura du succs uniquement si les diteurs de logiciels lutilisent comme base pour leurs nouvelles applications. Microsoft est conscient de cette ralit. Dans ce cadre, le groupe a pour priorit de rendre sa nouvelle plateforme cloud attrayante pour ce public. En voici les avantages cls : Windows Azure est une solution conomique car elle permet aux diteurs de logiciels dexcuter des applications et de stocker des donnes dans de vastes centres de donnes, avec une facturation base uniquement sur les ressources utilises. En proposant une plateforme prte lemploi, conue pour prendre en charge des applications cloud fiables qui montent en puissance, Windows Azure rduit le temps et linvestissement ncessaires la cration et lexcution des applications SaaS et des autres types de codes bass sur le cloud. Le cloud computing apparat comme une nouvelle vague dans le secteur de linformatique. Ayant d s'adapter aux changements provoqus par les PC, les quipements mobiles et dautres nouvelles plateformes, les diteurs de logiciels doivent prsent dcider comment exploiter les plateformes cloud. Et tout comme Windows a jou un rle essentiel dans ces changements passs, Windows Azure est en mesure de jouer un rle important dans cette nouvelle organisation. Vous avez tout intrt comprendre et valuer lenvironnement Azure pour tourner votre entreprise vers lavenir. LAUTEUR David Chappell est lactionnaire majoritaire de Chappell & Associates (www.davidchappell.com), situ San Francisco, dans ltat de la Californie aux tats-Unis. Par le biais de ses confrences, de ses ouvrages et de ses services de conseil, David Chappell aide de nombreuses personnes dans le monde comprendre, utiliser et prendre de meilleures dcisions sur les nouvelles technologies.