Et si nous définissions simplement le Cloud Computing !

le 18/01/2010 par Guillaume Plouin
Tags: Software Engineering

"article publié sur le site de l'Atelier le 14 janvier 2010"

Le sens du terme "Cloud Computing" est aujourd'hui confus pour beaucoup. L'objet de ce billet est de partager les définitions que nous utilisons chez OCTO Technology.

Genèse et définitions

La genèse du Cloud Computing fut la suivante : 3 grands acteurs du Web (Google, Amazon et Salesforce) font le même constat ; ils ont développé un "nuage informatique" de très grande envergure pour faire tourner leurs applications, et leurs datacenters disposent des ressources inutilisées ; chacun, à sa manière, va proposer à d'autres entreprises de faire tourner leurs applications sur leur "nuage informatique", en faisant du Cloud Computing.

Les plateformes de Cloud Computing permettent aux entreprises de bénéficier de :

  • "applications en location" : les SaaS qui s'exécutent sur le Cloud. Elles sont destinées aux clients finaux qui paient un abonnement mensuel fonction du nombre d'utilisateurs.
  • "run à la consommation" (sur les PaaS, IaaS, HaaS, etc.)  : il est destiné à la DSI et aux éditeurs qui disposent de ressources techniques en fonction de leurs besoins.

En quoi l'architecture du Cloud est-elle différente de celle de nos SI?

Dans nos SI, on trouve aujourd'hui des technologies de virtualisation, qui permettent de consolider les datacenters. La virtualisation permet de bénéficier des 3 propriétés suivantes :

  • Partage des ressources : la virtualisation permet d'affecter les ressources d'une même machine à plusieurs applications.
  • Abstraction sur la localisation : l'application est "quelque part" sur l'une des machines constitutives de la plateforme de virtualisation. Si cette plateforme utilise des mécanismes de réplication sur des datacenters distants, les risques de désastre (incendies, inondations) sont couverts.
  • Elasticité : il est possible d'allouer des ressources supplémentaires à une application proche de la saturation, dans les limites physiques de la plateforme.

Le Cloud Computing reprend ces trois propriétés et en ajoute deux :

  • le "pay as you go" : la DSI paie les ressources qu'elle utilise (processeur, stockage, réseau) en fonction de leur consommation réelle. Peu de DSI savent aujourd'hui mesurer précisément la consommation informatique de telle ou telle application. Les acteurs du Cloud savent le faire.
  • le "self service" : l'équipe de développement peut demander l'allocation de ressources d'exécution via une interface Web. Ces ressources seront disponibles 10mn plus tard.

Ces 2 propriétés sont rendues possibles par de nouvelles architectures, contraignantes pour les architectes d'entreprise.

En synthèse, sur le plan technique : Cloud Computing = Virtualisation + 2

Le Cloud Computing est il seulement de la technique ?

Les acteurs du Cloud partagent un peu plus que de la technique. Ils ont aussi une culture spécifique et différente de celle de nos DSI :

  • "you buid it you run it" : l'idée derrière cette formule est que les mêmes équipes développent, déploient et maintiennent les applications. C'est la fin possible de la frontière entre BUILD & RUN (direction des études & direction de la production). Le Cloud outille cette démarche.
  • Le pari de l'ouverture : s'opère à deux niveaux, l'utilisation et la contribution. A l'utilisation, vous remarquerez que les SaaS obéissent à un ADN de sécurité "tout est autorisé sauf", là où nos SI historiques se sont bâtis sur un génome opposé "tout est interdit, sauf". Ce positionnement leur permet de dépasser les contraintes de cloisonnement des entreprises, en permettant la collaboration de tous (Wikipedia, Google Apps, ..) . Second niveau : les acteurs du Cloud proposent des API ouvertes permettant à d'autres d'innover en les exploitant. Cette démarche permet la constitution d'un écosystème fécond, comme celui des Facebook, SalesForce ou Firefox.

Ainsi, aller vers le Cloud Computing, c'est aborder de nouvelles architectures mais aussi changer son organisation pour adopter la culture du Cloud.

Pour aller plus loin :