Quantcast
Channel: Behind the Cloud Computing » Infrastructure as a Service
Viewing all articles
Browse latest Browse all 2

Les principes du Cloud Computing : « Etat de l’art et perspectives »

$
0
0

Le Cloud Computing

J’ai été sollicité par la SEE (Société de l’Electricité, de l’Electronique et des Technologies de l’Information et de la Communication) pour rédiger un article d’introduction au Cloud Computing. Je vous livre ici ce travail qui est à paraître dans le prochain numéro de la revue REE de l’association.

Le Cloud Computing, ou « Informatique en nuage », a occupé le devant de la scène durant une grande partie de l’année 2010 et bon nombre d’analystes annoncent que 2011 sera l’année du « Cloud ». Mais sait-on toujours ce qui se cache derrière des termes comme SaaS, PaaS, IaaS, virtualisation ou encore multi-tenant, mais surtout comment s’articulent-ils ? C’est ce que nous allons présenter à travers cet article qui débutera par un rapide historique pour progressivement découvrir les perspectives que nous offre le Cloud Computing.

Retour sur un passé encore récent

Pour mieux comprendre le Cloud Computing, il nous semble pertinent de faire un petit tour dans le passé. Bien que les acteurs historiques soient issus du monde de l’Internet (Amazon, Salesforce.com, Google …), l’Informatique en Nuage s’inscrit dans la continuité d’une rupture initiée dans les années 80. Ainsi, on peut la considérer comme la version moderne des architectures clients/serveur associée au modèle ASP (Application Service Provider) visant une externalisation de l’IT à la fin des années 90. En effet, on est toujours dans la même dynamique de permettre aux clients de se dégager des contraintes techniques de l’IT. Mais pourquoi parle-t-on de Cloud ? En fait, cette analogie avec un nuage trouve sa source dans la représentation du réseau téléphonique, puis informatique et enfin d’Internet sous la forme d’un nuage. Les pionniers du Cloud Computing ont ainsi voulu montrer que leurs services étaient proposés au travers d’Internet aussi simplement qu’on accède au Web. Cela peut sembler anodin, voire faire sourire, mais ces précurseurs du Cloud Computing ont ainsi à légitimer leur position en faisant oublier qu’il s’agit essentiellement d’une migration des ressources informatiques (serveurs, applications …) vers le réseau. C’est ainsi que les acteurs qui étaient pourtant le mieux positionnés dans ce domaine n’ont pris que très (trop ?) tardivement la mesure de ce phénomène. Je veux bien sûr parler des Telcos (Telecom Companies) qui exploitent depuis des dizaines d’années les infrastructures nécessaires aux services qu’elles offrent au travers du réseau. Il ne s’agit pas là de révélations sensationnelles car l’informatique est ainsi faite qu’on a souvent l’impression de vivre un éternel recommencement. Mais pourquoi tant d’espoir et de bruit autour de ce sujet ?

Un contexte nouveau

Tout d’abord, même si les objectifs et les approches semblent identiques, des progrès technologiques et des expériences plus ou moins heureuses ont permis de progresser. Dans le cas qui nous intéresse, ces avancées ont eu lieu au niveau des clients et des serveurs.

En effet, les technologies liées au monde de l’Internet (navigateurs, langages, architectures …) permettent aujourd’hui de disposer de la même richesse fonctionnelle au travers d’un simple navigateur Web que celle qu’on pouvait avoir en utilisant une application installée sur son ordinateur. On parle à présent de client riche pour qualifier cet usage fonctionnellement riche au travers d’un navigateur.

Mais c’est surtout du côté serveur que les avancées sont sans doute les plus structurantes pour le Cloud Computing. Il faudrait un article complet sur ce point, mais les principales s’articulent autour de SOA (Service Oriented Architecture), du Grid computing et de la virtualisation pour ce qui est de la technique et de l’ASP en ce qui concerne le modèle économique. Les aspects techniques permettent de concevoir des applications modulaires, distribuées, scalables, mutli-tenant dont l’exploitation peut être très largement automatisée. C’est d’ailleurs ce dernier point qui fait que le modèle ASP est plus viable dans le contexte du Cloud Computing qu’il ne l’était originalement.

Après cette rapide présentation du contexte dans lequel l’Informatique en Nuage est apparu, nous pouvons passer en revue les principales caractéristiques et propriétés du Cloud Computing.

Les caractéristiques essentielles du Cloud Computing

Principes du Cloud Comuting

Architecture de principe du Cloud Computing

Comme nous l’avons rapidement évoqué en introduction, le Cloud Computing couvre un spectre très large de l’informatique (technique, fonctionnel et économique). Ce périmètre n’a pas facilité la mise en place d’une compréhension partagée du sujet. En effet, ce n’est qu’au milieu de l’année 2009 qu’un découpage de référence a été adopté. Celui-ci divise le Cloud Computing en trois couches : l’IaaS (Infrastructure as a Service), la PaaS (Platform as a Service) et le SaaS (Software as a Service). Ces trois couches s’adressent à des domaines informatiques différents, mais visent toutes à être proposées sous forme de Services (comme leurs noms le suggère).

Avant d’entrer dans la description de chacune de ces couches, il nous semble important que le lecteur ait une bonne compréhension de cette notion de Service. Le lecteur familier des architectures orientées service (SOA) ne sera pas surpris par le contenu de ce passage, car le Cloud Computing s’est largement inspiré de la notion de Service SOA. Un Service offre un ensemble de traitements qui apporte une valeur fonctionnelle (ou métier) à celui qui l’utilise. Il masque complètement la manière dont il est techniquement mis en œuvre. En ce sens, son interface, ou la manière dont on peut interagir avec le Service, est plus proche du métier que de la technique. Mais revenons à notre description des trois couches du Cloud Computing.

L’IaaS

L’IaaS est la couche associée au domaine des infrastructures informatiques et des ressources techniques tels que le stockage, le réseau, les traitements. Dans l’approche Cloud, ces ressources sont techniquement mises en œuvre par un offreur et fournies sous forme de Service. Les clients d’un fournisseur d’IaaS peuvent donc utiliser les ressources achetées quasi instantanément sans investissement, ni installation de matériels ; ces deux derniers points étant à la charge du fournisseur. Les clients peuvent ainsi augmenter et diminuer leurs infrastructures comme ils le souhaitent. On parle alors d’élasticité, mais nous détaillerons cette notion par la suite.

La PaaS

La PaaS se positionne sur le domaine du développement logiciel. Cette couche intègre en une même plate-forme l’environnement de développement (IDE) et d’exécution (développement, qualification et production). Le principal avantage est de limiter les problèmes d’intégration et de mise en production grâce à des environnements identiques (fonctionnellement et techniquement) sur l’ensemble de la chaîne de développement. Pour les mêmes raisons, les délais de mise en production en sont également réduits. La contrepartie est que les développements ainsi réalisés sont liés à l’offre PaaS. Cette adhérence est plus ou moins forte en fonction des solutions et des fonctions utilisées.

Le SaaS

Le SaaS concerne la partie application et logiciel. Il s’agit d’une évolution majeure dans la distribution, l’achat et l’usage du logiciel. La distribution se fait essentiellement via le canal Internet, même si les canaux commerciaux plus classiques peuvent être utilisés. En fait, la distribution diffère dans la manière dont le logiciel est packagé. Classiquement, le logiciel est fournit au travers d’un support pour que le client puisse l’installer (ou le faire installer) sur ses serveurs. Dans le SaaS, le logiciel est configuré et activé sur les serveurs du fournisseur SaaS et est rendu accessible au client sans installation de sa part. On est très proche de la manière dont un service de TV via ADSL est activé. Cette analogie est également vraie pour la phase d’achat. Les clients payent pour un accès et un usage du SaaS et non plus pour une licence. Enfin, l’usage se fait au travers du réseau généralement en utilisant un simple navigateur Web.
Généralement ces trois couches sont représentées par un empilement de l’IaaS, du PaaS et du SaaS. Cette image illustre bien le fait qu’il est possible d’envisager une solution de Cloud Computing complète dans laquelle l’IaaS servirait de socle, la PaaS utilisant l’IaaS pour la partie infrastructure d’exécution et enfin le SaaS ayant été développé sur une PaaS. Actuellement, il n’existe pas encore ce genre d’offre, mais les majors de l’informatique (nous y incluons les acteurs de l’Internet) y travaillent activement.
Les propriétés du Cloud Computing

Les trois couches que nous venons de présenter permettent d’avoir une vision structurée du Cloud Computing. En complément, il existe un certain nombre de propriétés propres à l’Informatique en Nuage. Nous avons déjà mentionné un peu plus haut l’élasticité, mais il en existe d’autres qui sont plus ou moins saillantes en fonction des couches.

  • L’élasticité est sans doute une des propriétés les plus connues. Elle a été mise en avant par Amazon et son offre d’IaaS qu’elle a baptisé Elastic Compute Cloud (EC2). Cette propriété fait référence à la capacité de pouvoir augmenter ou réduire les capacités du Service à la demande, en fonction de l’évolution des besoins. Attention à ne pas confondre l’élasticité avec la flexibilité qui est essentiellement la capacité d’adaptation d’un système. L’élasticité implique la flexibilité, mais la réciproque n’est pas nécessairement vraie.
  • Le multi-tenant a également eu son heure de gloire. Cette propriété a souvent été évoquée dans le contexte du SaaS, mais peut s’appliquer aux autres couches du Cloud Computing. Il s’agit d’utiliser un même environnement technique pour fournir et gérer plusieurs clients différents tout en leur donnant l’impression qu’ils disposent de ressources qui leurs sont dédiées. C’est en quelque sorte la phase ultime de la mutualisation puisque cette propriété ne se limite pas aux infrastructures, mais concerne également les applications. Un des pionniers de cette approche est Salesforce.com (Sfdc) qui propose un CRM en mode SaaS. Bien que ce logiciel soit déployé sur l’ensemble du Data Center, il n’y a logiquement qu’une instance que tous les clients utilisent. Sfdc garantit un cloisonnement et une sécurisation des données de chaque client. Pour ce qui est du reste des composants de l’application, ils sont mutualisés.
  • Laissons un peu de côté les aspects techniques pour nous intéresser à une propriété qui a contribué au succès du Cloud Computing : le modèle tarifaire. L’objectif est de proposer des offres de solutions informatiques (au sens large) basées sur l’usage et la consommation des clients. En d’autres termes, de rompre avec les modèles de licences et d’acquisitions pour entrer dans des modèles de Services ceux que nous connaissons déjà dans le monde de la téléphonie. Ce qui est séduisant pour les clients, et essentiellement pour les entreprises, c’est que les dépenses d’investissement (CAPEX) sont supprimées au profit de dépenses opérationnelles (OPEX) beaucoup plus « maîtrisables ».
  • Nous finissons par une propriété qui est fondamentale pour nous, à savoir la personnalisation. Nous ne nous limitons pas à la capacité de configuration du look & feel, mais englobons également les dimensions d’extension et d’intégration. La première est la possibilité d’enrichir le Service commercialisé au niveau des données ou des traitements pour qu’il réponde plus finement aux besoins de chaque client. Cet enrichissement fonctionnel peut être réalisé par le client lui-même, par un prestataire qu’il aura mandaté, ou par le fournisseur du Service. L’intégration est la capacité d’inclure le Service dans le contexte existant d’un client. Il peut s’agir de synchroniser des données, mais également de pouvoir accéder à des fonctions du Service depuis une autre application (sous forme de Mashups par exemple).

Clouds publics et privés

Nous avons présenté dans les parties précédentes l’état de l’art du Cloud Computing. Cette description donne une vision « théorique » à partir de laquelle les différents acteurs (éditeurs, intégrateurs, constructeurs …) ont construit leurs solutions. Il est donc logique de trouver une segmentation du marché suivant les trois couches IaaS, PaaS et SaaS. Seuls quelques grands acteurs tels que les GAIM (Google, Amazon, IBM et Microsoft) et quelques autres (SAP, Oracle ou Salesforce.com) cherchent à couvrir tout le spectre du Cloud Computing.
Cependant, lorsqu’on entend parler de Cloud Computing, on fait généralement référence à l’IaaS voire en de rares occasions au SaaS. De ce fait les termes de Cloud public, privé et hybride désignent en fait des offres IaaS. La distinction entre ces trois typologies se situe dans la gestion des ressources physiques mises en œuvre. Dans un Cloud privé, les équipements (disques, serveurs …) sont dédiés à un client et les acquisitions qui en résultent sont donc à sa charge. Ensuite, ces équipements peuvent être hébergés dans un Data Center du client ou celui d’un tiers. En revanche, les CAPEX sont encore à la charge des clients. Dans le Cloud public, le modèle IaaS décrit plus haut est respecté dans le sens où les équipements sont regroupés dans un pool utilisé pour fournir le Service aux clients. Un Cloud hybride, comme son nom l’indique, mélange Cloud privé et Cloud public. Parmi les fournisseurs de ce type de solution, on trouve des constructeurs comme IBM, HP, DELL ou des acteurs d’Internet revendant la puissance de calcul de leurs Data Center inutilisés comme le fait Amazon.
Quant au PaaS, il reste encore à ce jour relativement confidentiel. Cela est dû au peu d’articles qui lui sont consacrés, mais aussi au fait qu’il apporte une rupture encore plus importante. En effet, il s’adresse au cycle et au mode de développement des logiciels à la fois pour les professionnels de l’édition et pour des besoins spécifiques des clients (en direct ou via une SSII). C’est dans cette couche que se positionnent les offres Google App Engine et Microsoft Azure. Ces deux exemples sont particuliers car Microsoft et Google disposent de leur propre infrastructure qu’ils ont choisi de valoriser au travers du PaaS plutôt que de l’IaaS. Mais c’est bien une IaaS qui est utilisée comme environnement d’exécution. C’est également l’approche retenue par Sfdc dans son offre App Exchange qui utilise la même infrastructure que celle de son offre de CRM. En revanche, des acteurs de taille plus petite ont choisi de s’adosser à un IaaS externe (généralement EC2 d’Amazon).

Le Cloud Computing est en marche
Malgré la jeunesse relative du Cloud Computing, des projets « Cloud » sont lancés dans les entreprises et on lit régulièrement dans la presse des exemples de cette adoption. C’est par exemple le cas du gouvernement américain qui a lancé en 2009 une place de marché de SaaS pour pousser son utilisation dans les différentes administrations américaines. Récemment, le CIO de la maison blanche, Vivek Kundra, a rappelé la volonté du gouvernement Obama de promouvoir l’Informatique en Nuage dans son rapport « State of Public Sector Cloud Computing ». Il y donne 30 exemples illustrant son utilisation aux différents niveaux du gouvernement. Dans un autre domaine, la SNCF a communiqué sur son retour d’expérience dans l’utilisation de l’IaaS EC2 d’Amazon. VSF Technologie, une filiale de la SNCF, l’utilise comme plate-forme de test dans le cadre d’évolution du site voyages-sncf.com. Cette approche permet de disposer d’environnements technologiques variés et de tester la tenue en charge sans investissement et dans des délais de mise à disposition courts. Elle permet également de procéder à des tests de tenue en charge. À présent, VSF envisage d’utiliser EC2 pour le développement de PoC (Proof of Concept) dans le cadre d’évolution de leur infrastructure actuelle.

À travers cet article, nous avons pu survoler le vaste sujet du Cloud Computing. Il y a encore matière à approfondir chaque thème abordé, mais cela dépasse le cadre introductif de cet article. Cependant, nous vous proposons de conclure par un rapide voyage dans le futur. Le premier effet sensible est que le marché de l’informatique s’est mondialisé sous l’effet du Cloud Computing. Malgré les premières réticences sur les possibles problèmes de sécurité et de localisation des données, les offres sont commercialisées sans contrainte de frontières au travers d’Internet. Les petits éditeurs de solutions verticales ont vu leur potentiel de marché exploser en même temps que la concurrence. En effet, si on trouve une petite dizaine de fournisseurs d’IaaS et quelques centaines pour le PaaS, ils sont des centaines de milliers à proposer des SaaS. La lutte est rude et on assiste à une évolution dans les stratégies des offres SaaS. Il est de plus en plus difficile pour ces acteurs de se différencier par la richesse fonctionnelle de leurs produits. Aussi, adoptent-ils des modes de tarifications modulaires avec par exemple un usage gratuit pour une utilisation basique et un paiement à l’usage ou sous forme d’abonnement pour l’utilisation de fonctions avancées du SaaS. La facturation de licence ou par utilisateur semble bien loin. Et cette lutte n’est pas sans rappeler celle que se sont livrés jadis les Telcos. Les clients semblent apprécier cette nouvelle ère où l’informatique est enfin devenue un outil prêt à l’emploi et disponible à la demande. Ils aiment également le fait de payer pour ce qu’ils utilisent et non plus pour avoir le droit d’utiliser des fonctions dont ils n’avaient pas l’utilité et qui faisaient partie du coût des licences. Mais que le lecteur se rassure. Le marché est toujours fleurissant et les clients n’ont pas spécialement vu leurs factures informatique diminuer. Selon le cabinet Gartner, le marché du Cloud Computing est de 68,8 milliards de dollars en 2010 et pourrait s’élever à 148,8 milliards de dollars en 2014. Le marché s’est juste adapté pour devenir un marché de services où l’informatique est devenue une offre de contenu accessible au travers des réseaux comme cela s’est produit pour la TV. Car c’est bien ce à quoi nous sommes en train d’assister : une fusion de l’informatique et des télécommunications aussi bien sur le plan technique que sur le modèle économique.


Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images