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, la solution de collaboration et de messagerie Office 365 de Microsoft ou Google Apps…

Pour avoir une idée du succès du modèle il suffit de regarder quelques chiffres. SalesForce aurait ainsi plus de 160 000 clients (soit plus de 5 millions d’utilisateurs). Office 365 rapporte déjà 1,5 Md$ de CA par an à Microsoft. Mozy le service de sauvegarde en cloud d’EMC dispose de plus de 3 millions d’utilisateurs et sert plus de 80 000 entreprises. Un acteur comme Zoho compte plus de 8 millions de clients entreprises et professionnels utilisateurs de ses logiciels en mode SaaS (CRM, support, bureautique…).

[Retrouvez la première partie de cet article en cliquant sur ce lien]

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 le modèle 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 réversibilité – la possibilité de quitter un fournisseur ou de reprendre en main sa production -, 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 entraînant 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). 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 et des caractéristiques différentes en matière de disponibilité). 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 en mode public a révolutionné l’informatique pour certaines start-ups (via les services d’acteurs comme Amazon, RackSpace ou plus proche de nous Colt, OVH, Orange Business Services, Numergy…) et il séduit de plus en plus des entreprises plus établies. Il leur permet 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 fournit en quelque sorte une abstraction du datacenter sur laquelle les entreprises déposent leurs environnements systèmes et leurs applications. Et ce sans se poser de question de dimensionnement ou de « scaling », l’infrastructure cloud étant virtuellement élastique à l’infini.

Un 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é. À 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.

Les principales barrières à l’entrée du cloud restent les incertitudes sur la sécurité, sur la localisation géographique des VM et des données, mais ces barrières s’effondrent progressivement avec la maturation de l’offre et l’apparition de fournisseurs locaux.

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. Même dans sa déclinaison publique, lorsque les ressources ne sont plus dans les locaux de l’entreprise, il faut continuer à gérer des machines virtuelles, avec leur système d’exploitation, leurs middleware, leurs outils de monitoring. Bref, 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 n’est pas de l’informatique consommée comme de l’électricité. Au mieux, c’est une puissance informatique disponible mais qu’il faut encore savoir maîtriser.

C’est là qu’intervient le PaaS ou Platform as a Service (dont les acteurs sont Microsoft avec Azure, Pivotal avec CloudFoundry ou Salesforce avec Force.com). 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’outils de développement et de déploiement destinés à faciliter 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 avoir à 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 sûr 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 et réduire considérablement le cycle de développement, ce qui se traduit par un « time-to-market » raccourci pour les utilisateurs.