Dossier Cloud Computing : comment le Paas promet de révolutionner l'informatique (1/3)

Alors que les entreprises commencent à adopter les différents modèles du cloud, leMagIT a choisi d'en faire un tour d'horizon.Dans cette première partie nous présentons les différents modèles et leurs avantages. Les prochaines parties seront consacrées à une analyse plus détaillée des architectures et offres des grands acteurs du PaaS, dont Microsoft (Azure), SalesForce (Force.com / Heroku),VMware (vFabric), Joyent (Joyent Smartmachines), Google (App Engine), Amazon (Elastic Beanstalk)

Qu’est ce que le cloud computing? Cette question, posée à un groupe de personnes, produit en général autant de réponses différentes que de participants. Il en va des plus surréalistes comme le fameux « une méta-virtualisation de l’informatique par elle-même »  (si, si…), suggéré récemment par Philippe Hedde, le patron de NextiraOne dans l’éditorial d’un très sérieux livre blanc sur le cloud produit par Syntec numérique, aux plus nébuleuses telle que ce « le cloud computing, ou informatique dans les nuages ( ou en nuages ) est un concept d'organisation informatique qui place Internet au coeur de l'activité des entreprises » proposé par un de nos confrères dont on taira le nom. 

Histoire de ne pas réinventer la roue, LeMagIT a choisi de se réferer à la plus communément admise, celle du National Institute of Standards and Technology (NIST) américain. Selon cet organisme rattaché au gouvernement fédéral US, le Cloud computing est « un modèle permettant un accès facile et à la demande, via le réseau, à un pool partagé de ressources informatiques configurables (par exemple, réseaux, serveurs, stockage, applications et services) qui peuvent être rapidement mises à disposition des utilisateurs ou libérées avec un effort minimum d’administration de la part de l’entreprise ou du prestataire de service fournissant les dites ressources ». 

Les cinq grands caractéristiques du cloud selon le NIST 

Le NIST met en avant plusieurs caractéristiques essentielles des services de cloud notamment l’élasticité des ressources offertes par les services en cloud, leur simplicité d’accès via le réseau, la mutualisation des ressources, l’agilité accrue des SI en cloud ainsi que la facturation à l’usage des services cloud: 

• Elasticité des ressources : Dans le cloud, de nouvelles capacités peuvent être automatiquement mises à disposition des utilisateurs en cas d’accroissement de la demande. A l’inverse, elles peuvent être rapidement mises en sommeil lorsqu’elles ne sont plus nécessaires. Cette élasticité des services en nuage crée pour l’utilisateur final, l’illusion d’une capacité infinie qui peut être mise en service à tout moment. Pour les entreprises clientes, cette caractéristique d’élasticité permet par exemple de faire face aux pics d’activité, que l’infrastructure interne n’aurait pu absorber, mais aussi d’envisager de nouvelles applications, par exemple des applications de calcul intensif nécessitant plusieurs centaines de machines pendant seulement quelques heures, applications que le coût d’une infrastructure interne aurait rendu impossible sans le cloud. Comme l’explique Bernard Ourghanlian le directeur technique et sécurité de Microsoft, à propos du cloud : « Virtuellement, la puissance est infinie ». 

• Un accès simple via le réseau : les services de type Cloud sont accessibles au travers du réseau, qu’il s’agisse du réseau de l’entreprise pour un cloud interne ou d’Internet (ou d’un accès VPN) pour un cloud externe. Cet accès s’effectue au moyen de mécanismes et protocoles standards qui permettent notamment l’utilisation des services cloud depuis de multiples types de terminaux. 

• Des coûts contrôlés grâce à la mutualisation des ressources et aux effets d’échelle : les ressources en nuage sont mises en commun et mutualisées afin de servir de multiples utilisateurs (plusieurs départements ou divisions dans le cadre d’un Cloud interne à l’entreprise ou plusieurs entreprises dans le cas d’un service en Cloud public). Cette mutualisation peut intervenir à de multiples niveaux qu’il s’agisse des ressources physiques (serveurs, stockage, réseau) ou des ressources applicatives (mutualisation des bases de données, serveurs d’applications, serveurs web…). Dans le dernier cas, qui s’applique au cloud applicatif et aux modèles de type SaaS (voir plus loin), on parle de «modèle multi-locataires » (ou multitenant en anglais). Grâce à cette mise en commun des ressources, ces dernières sont réallouées de façon dynamique en fonction de la demande et des SLA sans que l’utilisateur n’ait à effectuer quelque opération que ce soit. Chaque utilisateur est ainsi assuré de l’atteinte des objectifs de performances définis dans le cadre de son contrat. Comme l’expliquait cette semaine Bernard Ourghanlian, lors des Microsoft TechDays, cette mutualisation a des bénéfices économiques qui sont encore accrus par les effets d’échelle permis par le cloud. « Ainsi, les capacités informatiques qui ne sont pas consommées en Europe la nuit, peuvent être allouées à des entreprises américaines (pour lesquelles il fait jour). De même,  le fait de disposer d’un infrastructure gigantesque permet à noël d’absorber les pics de charges des e-marchands, puis au printemps des sociétés de comptabilité et d’audit, puis en été des voyagistes…. Le cloud fonctionne ainsi comme une usine géante dont les ressources sont toujours utilisées.  Ce qui est loin le cas des infrastructures propre à l’entreprise.

Cloud public, privé ou hybride?

Chacun des trois grands modèles d’usage du Cloud (IaaS, Paas et SaaS) peut être déployé en interne par l’entreprise ou hébergé chez un tiers.

• On parle de Cloud privé lorsque l’entreprise dispose en propre de son infrastructure (qu’elle soit dans son propre datacenter ou hébergée chez un tiers). 

• L’appellation Cloud public est utilisée lorsque les ressources sont fournies par un prestataire tiers et mutualisées pour un usage par plusieurs clients. 

• Enfin il existe un modèle qualifié d’hybride où une partie de la production informatique de l’entreprise est réalisée sur le Cloud interne et une autre sur le Cloud public (avec la possibilité de basculer des applications d’un modèle à l’autre de façon transparente). Cliquez pour dérouler 

• Un SI plus agile : Dans le cloud, l’utilisateur final du service peut provisionner rapidement les ressources dont il a besoin (serveurs, réseaux, stockage, applications...) et en disposer sans avoir à passer par de longues et complexes étapes de configuration manuelle. Ces capacités de provisionning rapide et de « self-service » permettent au SI de répondre plus vite aux besoins des métiers, aux demandes de changements, ainsi qu’aux exigences croissantes de time-to-market. Dans certains modèles de consommation, cette agilité est poussée à l’extrême notamment dans les modèles de type SaaS ou PaaS, où l’entreprise s’affranchit d’un grand nombre de contraintes de mise en place de ses applications. 

Une facturation à l’usage : Avec le cloud se généralise un nouveau mode de facturation à l’usage qui peut être résumé simplement : on ne paie que ce que l’on consomme réellement. Cette affirmation doit être modérée, ne serait-ce que parce que le cloud génère aussi des effets de paliers. Mais il est vrai que dans la plupart des scénarios d’utilisation, les mécanismes avancés de suivi de la consommation des services cloud permettent de facturer de façon très granulaire l’usage des ressources. Dans le cloud d’infrastructure on paie ainsi au nombre de cœurs processeurs consommé, à la quantité de mémoire utilisée, au nombre d’opérations d’entrées/sorties effectuées ou à la quantité de données stockée. Dans un mode SaaS, on paie au nombre d’utilisateurs et en fonction de leur usage des ressources…

Trois grands modèles d’usage du Cloud se dégagent actuellement : le Cloud d’infrastructure (IaaS ou Infrastructure as a Service), le Cloud applicatif (PaaS ou Platform as a Service) et le logiciel à la demande (SaaS ou Software as a Service). Tous présentent des caractéristiques différentes et n’ont pas le même niveau de maturité. 

SaaS : le modèle cloud le plus populaire 

Le plus utilisé aujourd’hui est sans doute le modèle SaaS. Dans ce modèle, une entreprise accède à une application en mode hébergé sans avoir à se préoccuper ni de la plate-forme d’infrastructure ni de la plate-forme logicielle. L’utilisateur achète alors une fonction qu’il consomme à la demande. Quelques exemples connus d’applications SaaS sont le CRM de SalesForce, les solutions de collaboration et de messagerie BPOS, Google Apps et LotusLive de Microsoft, Google et Lotus, les applications en ligne de Zoho.com… Pour avoir une idée du succès du modèle il suffit de regarder quelques chiffres. SalesForce aurait ainsi plus de 87000 clients (soit plus de 2,1 millions d’utilisateurs). En France, plus de 250 000 utilisateurs en entreprise (en incluant l’ajout récent d’Alstom) utilisent BPOS. Et Zoho compte plus de 3 millions d’utilisateurs de ses logiciels en mode SaaS, dont 400 000 pour le seul Zoho CRM.

iaas paas saas

Le modèle SaaS est souvent vu comme une alternative au mode de déploiement traditionnel de logiciels. Il propose aux entreprises de vrais bénéfices comme le fait de ne plus avoir à mettre en place et à exploiter en interne l’infrastructure informatique sous-jacente au logiciel. De même, il n’est plus nécessaire de gérer les processus de mise à jour d’applications ou d’installation de correctifs ceux-ci relevant du fournisseur SaaS. Enfin, le mode de facturation à l’utilisateur est souvent cité comme un avantage, d’autant que la plupart des contrats Saas prévoient d’ajuster le nombre de licences à la hausse et à la baisse  alors que dans le mode traditionnel, une licence achetée l’est à titre définitif. 

Fondamentalement, l’utilisation du SaaS n’est toutefois guère transformatrice techniquement, même si tarifairement il est apprécié pour son mode de tarification au fil de l’eau (certains arguent toutefois du fait qu’à long terme un logiciel en mode SaaS peut être plus coûteux qu’un logiciel traditionnel). Le modèle pose aussi de vraies questions de reversibilité, notamment lorsque le logiciel proposé en mode SaaS n’est pas disponible sous forme traditionnelle. Il pose enfin la question de la fragilité du fournisseur, sa disparition entrainant souvent la fin immédiate du service (ce qui n’est pas le cas dans un mode de licence traditionnel).

L’IaaS révolutionne l’infrastructure

Le second modèle de cloud le plus utilisé (en termes de revenus générés) est le cloud d’infrastructure ou IaaS (Infrastructure as a Service), incarné par des pionniers tels qu’Amazon EC2, JoyentCloud ou Terramark vCloud Express. Un cloud d’infrastructure c’est un peu comme un datacenter prêt à l’emploi, sauf qu’on n’en est plus propriétaire, qu’il est extensible à la demande et consommable en tranche. Un cloud de type IaaS fournit un socle d’infrastructure informatique virtualisé distribué et très largement automatisé capable de répondre aux exigences de mise en production des applications de l’entreprise. Ce socle d’infrastructure est composé d’un ensemble de ressources (serveurs, réseaux, stockage) accessibles de façon granulaire et avec de multiples niveaux de service prédéterminés. L’unité de consommation de base dans un cloud d’infrastructure est la machine virtuelle, en général proposée en plusieurs formats du style petit, moyen et grand (selon le format la VM a plus ou moins de cœurs CPU, de mémoire et de stockage). Le cloud d’infrastructure est aussi en général facturé en fonction du temps d’utilisation de cette VM, de sa consommation en nombre d’entrées sorties stockage et réseau. 

Le cloud d’infrastructure a révolutionné l’informatique pour certaines start-ups mais aussi pour des entreprises plus établies. Il leur a permis en effet de se concentrer sur le développement de leurs applications sans avoir à se préoccuper de construire des datacenters, de provisionner des serveurs ou de gérer leur infrastructure. L’IaaS a en quelque sorte fourni une abstraction du datacenter sur laquelle ses entreprises sont venues déposer leurs environnements systèmes et leurs applications. Et ce sans se poser de question de dimensionnement ou de « scaling », l’infrastructure du fournisseur de cloud étant virtuellement élastique à l’infini. Un exemple type est Dropbox qui sans investir dans un seul serveur a bâti le service de stockage en cloud le plus utilisé de la planète (l’entreprise utilise désormais près de 20 000 instances virtuelles sur Amazon EC2 pour servir ses clients). Un autre est le Gilt Groupe (l’équivalent US de ventes privées) qui a bâti l’ensemble de son infrastructure sur le cloud de Joyent. Gilt a réalisé un CA de près de 400 M$ avec plus de 3 millions de clients en 2010 mais son infrastructure lui a coûté moins de 1% de ce chiffre. Cette infrastructure dynamique doit pouvoir monter en charge brutalement tous les jours entre midi et 14h pour passer de 100 000 visiteurs à 1 millions de visiteurs simultanés, ce que permet le cloud de Joyent par activation dynamique de nouvelles VM pour faire face aux pics d’utilisation du site de Gilt. 

Une des grands avantages de l’IaaS est qu’il est très facile à consommer pour l’entreprise. Celle-ci retrouve en effet une unité d’œuvre familière qui est le serveur virtuel. Et l’administration des VM dans le cloud ressemble trait pour trait à l’administration de VM dans un datacenter virtualisé. A la différence près que l’entreprise n’a plus à acheter ses propres serveurs, à les configurer, les câbler, les administrer… Bref la responsabilité d’exploiter la « puissance » informatique est sous-traitée à un tiers. L’entreprise n’a plus à se préoccuper que de la gestion des environnements systèmes et des applications installées sur les VM dans le cloud.

L’offre de cloud IaaS

Le premier grand fournisseur de services de cloud d’infrastructure est Amazon EWS avec son service Amazon EC2 qui a lui seul détient près de 60% du marché des services de cloud IaaS. Parmi ses concurrents figurent des acteurs comme RackSpace (Cloud Servers), IBM (Blue cloud), Joyent (JoyentCloud), TerreMark (vCloud Express et Entreprise Cloud).

En France on peut aussi citer des grands acteurs tels qu’Orange Business Services (Flexible Computing Premium), SFR Business Team (Infrastructure SI), Colt (Colt Entreprise Cloud), Osiatis, Steria (Infrastructure on Command) et des acteurs plus petits tels que So Privé ou Waycom (cVirtuel). 

Les principales barrières à l’entrée du cloud restent les incertitudes sur la sécurité, sur la localisation géographiques des VM et des données, mais ces barrières s’effritent peu à peu avec la maturation de l’offre et l’apparition de fournisseurs locaux. Un autre obstacle est le niveau d’adhérence qu’impose la technologie choisie par chaque fournisseur de cloud. Amazon utilise ainsi l’hyperviseur open source Xen, ce qui impose de packager ses machines virtuelles au format Amazon. Il en va de même de Rackspace qui lui utilise XenServer. Joyent s’appuie quant à lui sur le système de containers de Solaris et sur KVM (pour les VM Windows et Linux) tandis qu’AT&T, Colt, Terremark, Orange Business Services, Steria et Verizon utilisent VMware ESX. IBM s’appuie quant à lui sur KVM pour Blue Cloud tandis que SFR et Osiatis ont fait le choix d’Hyper-V. 

Il est à noter que VMware à une petite longueur d’avance pour ce qui est de la mobilité des VM entre un datacenter d’entreprise et un cloud public, ses outils vCloud Director permettant le déplacement de VM internes vers un cloud public vCloud (et vice-versa). Mais Citrix travaille à une fonction similaire dans son outil d’administration XenCetner avec les clouds Xen Opencloud (la fonction a été montrée lors du dernier Synergy) tandis que Microsoft espère montrer une fonction similaire avec la prochaine mouture de System Center (attendue sans doute lors du Microsoft Management Summit 2011, qui se tiendra à Las Vegas du 21 au 25 mars). 

Platform as a Service : le cloud qui transformera l’informatique? 

Le cloud de type IaaS a déjà sérieusement modifié la façon dont certains développeurs approchent la question du test et de la mise en production de leurs applications en leur permettant de s’abstraire largement des contraintes matérielles et de disposer d’une capacité informatique virtuellement illimitée. Toutefois, il n’a pas totalement supprimé le besoin de devoir gérer son infrastructure. Si celle-ci n’est plus dans les locaux de l’entreprise, si elle est provisionnable à la volée en quelques minutes, il n’en reste pas moins qu’il faut continuer à gérer des machines virtuelles, avec leur système d’exploitation, leurs middleware, leurs outils de monitoring. Bref, qu’il faut pour les développeurs d’applications continuer à se préoccuper de la gestion des composants d’infrastructure, ce qui suppose en général de disposer d’administrateurs systèmes résidants. Contrairement à ce que laissent entendre les fournisseurs de cloud IaaS, le cloud d’infrastructure ce n’est donc pas de l’informatique consommée comme de l’électricité. Au mieux, c’est une puissance informatique disponible mais qu’il faut encore savoir maitriser. 

C’est là qu’intervient le PaaS ou Platform as a Service. Le PaaS fournit un niveau d’abstraction supplémentaire par rapport à l’Iaas. Non content de fournir l’infrastructure, il l’habille d’une couche applicative composée des principaux éléments nécessaires pour permettre aux développeurs de déployer des applications. Si l’IaaS abstrait l’infrastructure, le PaaS abstrait aussi les systèmes d’exploitation, les bases de données, la couche Middleware (Bus de message, serveurs d’applications et runtime, orchestration) ainsi que la couche de serveur web nécessaire au déploiement de la plupart des applications modernes. En général, cette abstraction s’accompagne de la fourniture d’un certain nombre d’outil de développement et de déploiement destinés à facilier le travail des développeurs sur la plate-forme. 

Pour les développeurs d’applications, le PaaS est un nirvana. Ils peuvent en effet se concentrer sur l’architecture et le codage de leurs applications sans savoir à se préoccuper de leur déploiement ou de la nature des technologies qui seront utilisées pour les exécuter. Plus la peine de se préoccuper de l’OS sous-jacent, de la nature du serveur d’application, du bus de message, du serveur web ou du système de load balancing. Si on utilise les outils de modélisation d'applications et de développement préconisés par la plate-forme, on est sur que les applications fonctionneront comme prévu et surtout que leur montée en charge se fera de façon quasi-linéaire sur la plate-forme. Un autre bénéfice est que l’unicité de la plate-forme garantit que les phases de développement, de test et de recette se feront à iso-plate-forme avec la production, ce qui est quasiment impossible aujourd’hui avec des environnements physiques (à moins de disposer d’un budget conséquent).Tous ces avantages sont de nature à simplifier considérablement le développement, à raccourcir le cycle de développement ce qui se traduit par un « time-to-market » raccourci pour les utilisateurs. 

paas

Course au Paas entre les grands acteurs 

Il n’est donc pas étonnant qu’après s’être affrontés sur le secteur du SaaS et de l’IaaS, les grands acteurs de l’informatique aient entamé une course au PaaS. Microsoft, qui avait largement raté le coche de l’IaaS, a sans doute été le plus rapide à comprendre l’intérêt du Paas et a sans doute pris une longueur d’avance sur ses grands concurrents avec son offre de Paas Azure qui offre des caractéristiques assez uniques par rapport à ses concurrentes notamment au niveau de la couche base de données. SalesForce qui avait lui aussi débuté tôt avec Force.com a encore renforcé son offre en acquérant Heroku, un spécialiste du PaaS Ruby on Rails, et en s’alliant avec VMware pour offrir des services de Paas Java. Joyent, une start-up californienne, a elle aussi pris ce marché à bras le corps  avec son offre Smart Datacenter et ses offres smartmachines, connues pour leur support de Ruby on Rails mais qui supportent aussi nombre d'environnements tel que PHP, Java... Google de son côté,  semble avoir pris du retard avec App Engine, tandis qu’Amazon ne s’est qu’intéressé que récemment à la question avec Elastic Beanstalk. VMware, enfin, a assemblé à force de rachat une offre de Paas Java baptisée vFabric, mais reste évasif sur sa stratégie et notamment sur son désir ou non de lancer son propre cloud vFabric. Notons pour terminer qu’une grand nombre de start-ups se sont lancées sur le marché du Paas en s’appuyant sur les offres IaaS d’acteurs comme Amazon pour déployer leur propre plate-forme (c’était d’ailleurs le cas de Heroku, récemment racheté par SalesForce).

Pour approfondir sur Architectures de Datacenters