Le Cloud Computing

Cloud Computing

Mot sur toutes les lèvres lors du Gartner Summit de Londre sur les Data Center, il n’en reste pas moins qu’il s’agit à ce jour plus d’un concept que d’une réalité. Il existe toutefois plusieurs réalités sous-jacentes à ce concept. Réalité qu’il faudra prendre en compte dans les années à venir et qui peuvent radicalement changer notre contexte d’infrastructure, principalement pour ce qui touche à l’industrialisation des applications et à la consolidation.
S’il y a deux termes à retenir dans la notion de cloud, c’est élasticité et facturation au service. Termes qui vont prendre des conotations differentes si l’on parle de cloud privé (infrastructure dont nous sommes propriétaire) ou de cloud publique (infrastructure que nous achetons comme un service à l’extérieur).

L’Elasticité est la capacité du cloud à s’adapter dynamiquement au besoin du service. Elle se base sur plusieurs choses : la possibilité d’étendre les ressources d’une machine virtuelle de façon dynamique, soit en lui octroyant plus de puissance physique soit en la migrant sur un système plus performant. Mais il peut aussi s’agir, par opposition de découper une ressource physique pour la partager en fraction entre plusieurs applications et ainsi optimiser le système et son usage en fonction de la qualité de service requise. L’elasticité est grosso modo la base de ce que l’on peut obtenir avec les technologies de virtualisation existantes. Il n’y a rien de nouveau ici, mais c’est un concept paticulièrement interressant à étudier.

La facturation au service, est une conséquence de l’elaticité en quelques sorte : si l’on pilote finemement le partage des ressources physiques, alors il est simple de facturer à l’usage. De même si l’on partage une application comme un service réseau il est alors simple de le facturer au temps passé et non au siege. Dans le cadre d’un cloud publique, cette notion prend tout son sens car elle permet de réaliser une externalisation partielle. En quelque sorte une entreprise qui a tout en interne et qui souhaite libérer son capital pour le transformer en dépense récurrente, (comme cela était fait de façon plus radicale avec l’externalisation totale des années 2000) trouvera ici un outil très souple dont la facturation est claire et directement proportionnelle à l’usage requis par le business.

Outre ces deux notions, nous pouvons dire que derrière un concept, un peu méli-mello qui tourne autour de ces deux notions, il existe néamoins 3 réalités qui consituent aujourd’hui le cloud computing. Mais avant tout, pour percevoir le contexte dans lequel le cloud va prendre son sens, il est nécessaire de mesurer une autre réalité:

Si la fréquence de calcul des CPU n’augmente plus vraiment depuis quelques années, la loi de Moore reste valable par le fait que chaque année le nombre Core dans un CPU va doubler. Si bien que pour 8 en 2009, nous allons parler de 128 cores par CPU en 2013 (grosso modo). Avec des serveurs alignant dans les 16 CPU (ou plus) on en vient à des solutions offrant pas moins de 2048 cores. La virtualisation d’un système connait comme limite celle de n’être déployable que comme une surcouche d’un unique système d’exploitation (ou Hyperviseur). Si bien que le nombre de VM parallelisables est limité par la puissance du système physique. Ainsi, le nombre d’applications installables et maintenables sur un système est grosso-modo du même odre que celui du nombre de VM instanciables.
Demain, avec une capacité de plusieurs miliers de cores, il ne sera plus possible d’installer autant d’applications directement sur un système d’exploitation sans rendre celui-ci totalement inadministrable ; le recours à la virtualisation deviendra en cela une nécessité. Par ailleurs l’équilibrage de charge de milliers d’applications sur un tel serveur demandera obligatoirement des capacités de gestion des ressources et des priorités très fine adjointe à la capacité de migration d’une application d’un serveur à un autre.

C’est dans ce contexte qu’il faut envisager les 3 concepts déjà opérationnels évoqués précédemment:

L’IaaS : Infrastructure As A Service : Il s’agit de la mise à disposition de machines virtuelles dont la capacité va pouvoir être augmentée en fonction du besoin. Un des services existant sur ce créneau est le cloud d’amazon. Il s’agit d’un hébergement virtualisé où les ressources mises à disposition sont, à la base, minimales (selon l’option retenue). Celles-ci pourront évoluer au fur et à mesure de l’évolution du besoin. S’il s’agit de pic, il pourra y avoir une facturation au temps pendant lequel l’application aura bénéficié de la puissance nécessaire à l’absorbtion du pic. Si l’application grossit naturellement, elle passera vers des tranches de services supérieurs sans nécessiter de réinstallation ni migration de système. Dans la notion d’IaaS, le hardware est totalement virtualisé, nous n’avons aucune idée du système physique sous-jacent et selon les besoins, la VM pourra être migrée sur différent serveurs physiques en toute transparence au fil du temps. Cette technique permet d’optimiser au mieux l’usage des ressources matérielles en permettant un équilibrage des serveurs selon les applications (typologie, horaire de charges…) et permet, par des l’usage de priorisations de garantir des classes de services par exemple. C’est une technologie tout à fait mature qui peut être mise en oeuvre avec Xen ou VmWare mais qui prendra tout son sens avec la multiplication des cores.
l’IaaS est sans dout le concept le plus intéressant dans notre cas car il s’applique tout à fait à du cloud privé et publique ; par ailleurs c’est une évolution qui nous apportera des bénefices business sur les thèmes suivants:

  • Qualité de service et priorisation selon les classes de criticité …
  • Simplification de mise en oeuvre de DRP (faisant appel à des clouds publiques par exemple).
  • Optimisation de l’usage des ressources
  • Revue de la facturation à l’usage réel des ressources et non au parc installé
Le SaaS : Software As A Service, il s’agit par exemple des Google apps. Les SaaS reposent sur une technologie plus proche du clustering, disons que dans ce type de cloud il est possible d’utiliser de très nombreux systèmes physiques pour ne donner l’impression que d’un seul service. Combien de milliers de serveurs Google met en oeuvre pour ses Apps ? il n’y a, en tout cas, qu’une seule url pour les joindre et tout est transparent. La couche de pilotage du cloud permet d’ajouter, retirer des serveurs du cluster, gère le load balancing… C’est un concept radicalement différent, qui peut être intégré sur une couche IaaS et qui est sans doute plus proche de la virtualisation de Desktop que de la virtualization hardware. Du coup, c’est plus de la virtualisation software.
Si les Google apps sont bien réelles elles restent toutefois embryonnaires, des exemples comme sales.com montrent toutefois qu’il s’agit d’un concept mature. On parlera d’élasticité dans le cadre du SaaS au travers de la capacité du fournisseur à adapter la solution qu’il met à notre disposition en fonction de notre besoin. On retrouve le concept de facturation à l’usage. Thème très fort où l’on souhaite payer l’usage du logiciel et non la licence par siège où les usages récurrents et ponctuels sont facturés au même prix.
Globalement la technologie se base sur le web et s’adapte donc seulement à ce types d’applications. C’est donc la conception qu’il faut repenser et non l’exploitation. L’infra, elle met à disposition de l’hébergement élastique et ceci n’a de sens que pour des services très fortement concurrents et en croissance pour lesquels je ne vois pas d’exemple en relation avec des développements de type intranet. L’usage d’applications de type SaaS est par contre plus intéressant, les googles apps ou Office en sont des exemples potentiels à intégrer pour autant que la facturation soit à notre avantage. Mais l’horizon de pleine maturité n’est sans doute pas avant 3 à 5 ans.

Le dernier concept est PaaS : Plateform as a service, concept que je ne perçois pas encore bien mais qui semble être lié à des outils de développement et de déploiement, tous en ligne, permettant de créer des services. Windows Azur en est un exemple. Avec quelques réserves sur mes propos, je rapprocherai cela d’un mélange de sourceforge, de développement CMS basé sur des composants communs et d’hébergement de type SaaS sur une infrastrure IaaS. Là encore, les grands thèmes sont élasticité et de facturation à l’usage, dans un monde cette fois propriétaire, associé à la plateforme. Si les IaaS et SaaS s’entendent sur des clouds privés ou publiques, je pense que les PaaS sont plus adaptés aux Clouds publiques, c’est à dire qu’il s’agit plus d’un service clef en main fourni par un tiers. Sales.com est aussi considéré comme un PaaS, à la base c’était un SaaS qui a du s’étendre de capacités de customisation, il n’en est pas moins que c’est une technologie dans laquelle on s’enferme et qui est non internalisable. Je ne vois pas de débouchés infra interne là dedans à ce jour.

Synthèse et clouds publiques
On peut donc résumer un cloud à une capacité de calcul capable d’élasticité et de facturation à la demande. Le cloud peut s’entendre privé, interne à l’entreprise et hébergera une une partie des applications pour lesquelles il est employable (les applications fortement parallélisables y trouveront leur compte). Il est cependant principalement vu comme publique. Les entreprise chercheront dans le cloud publique la possibilité d’accéder à des capacités de calculs, liées à leur besoin sans avoir à en supporter l’investissement. L’infrastructure devient un service que l’on paye à l’usage. En cas de crise, si l’usage en diminue, il est possible d’en réduire les cout. C’est une nouvelle façon de pratiquer de l’externalisation sélective de l’infrastructure et ainsi libérer du capital. Seul le cloud publique permet une élasticité globale : expansion à la demande, mais surtout diminution car dans le cadre d’un cloud privé, le matériel, une fois acheté restera votre propriété et un centre de cout qu’il soit utile ou non. Reste que dans un cloud publique il faut, comme dans toute externalisation se poser la question de la sécurité de vos données que vous partagez avec un tiers.

This entry was posted in Networks, Technologies, Virtualization. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.