Le Cloud Computing est l’un des termes qu’on a le plus entendu en 2009 avec Twitter ; on dit même que ce serait l’eldorado de l’informatique. Impossible d’y échapper, on en entend parler énormément sur Internet, dans la presse, mais surtout de la bouche de tous les « experts » en informatique. Quoi qu’il en soit, aussi populaire que soit l’expression, elle reste toutefois assez vague à définir et à expliquer.
Brouillard pour certains ou nuage enchanté pour d’autres, redescendons un peu sur la terre ferme en revoyant ensemble ce phénomène. Vous pourrez ainsi forger votre opinion et enrichir votre connaissance du Web.
Comment définir le Cloud Computing
J’avais déjà écrit un premier article sur le Cloud Computing et le « Web 3.0 » au mois de juillet. Ce dernier montrait les principes du Cloud de type SaaS (Software as a Service), c’est-à-dire où le fournisseur Cloud maintient : les applications, les bases de données, le logiciel serveur, la virtualisation, le matériel serveur, le stockage, les réseaux…
Aujourd’hui je vais essayer d’être le plus général possible sans réellement rentrer dans les détails. Cet article sera suivi d’un prochain montrant l’exemple du Cloud avec Dropbox et Amazon EC2.
Commençons par la définition de Wikipedia :
“Le Cloud computing est un concept de déportation sur des serveurs distant des traitements informatiques traditionnellement localisés sur le poste utilisateur.” [Wikipedia]
Pour résumer, c’est demander à un prestataire externe de stocker vos données, voir même de les traiter, depuis une plateforme (plusieurs milliers de machines) dont vous ne connaissez ni le matériel ni la localisation, et que vous louez. Selon les services proposés cela peut-être payant ou non.
Le Cloud computing est donc une technologie qui utilise Internet et des serveurs centraux distants pour gérer les données et les applications. Il permet aux consommateurs et aux entreprises d’utiliser des applications sans installation et d’accéder à leurs fichiers personnels depuis n’importe quel ordinateur ayant un accès à Internet. Dans ce concept, les utilisateurs n’ont plus à se soucier des aspects techniques (infrastructures, déploiement, mises à jour…).
Un exemple simple du Cloud computing est le service de messagerie : Gmail, Yahoo, etc Vous n’avez pas besoin d’un logiciel ou d’un serveur personnel pour consulter vos mails. Tout ce que vous avez besoin c’est seulement une connexion Internet et vous pourrez commencer à envoyer des mails. Le serveur et le logiciel de gestion de mail sont sur le nuage Internet et sont entièrement gérés par le fournisseur de services de Cloud computing (Google, Yahoo, etc).
Le consommateur est autorisé à utiliser seul le logiciel et profiter des avantages. L’analogie qui peut-être faite est : « Si vous avez seulement besoin de lait, achèteriez-vous une vache ? « .
Le Cloud computing est décomposé en trois catégories ; « applications », « plates-formes » et « infrastructures ». Chaque segment a un objectif différent et offre des produits différents pour les entreprises et les particuliers du monde entier.
Description des trois catégories du Cloud computing
- Software as a service (SaaS) : logiciel déployé en tant que service hébergé et accessible via Internet.
- Platform as a service (PaaS): plates-formes qui peuvent être utilisées pour déployer des applications fournies par les clients ou les partenaires du fournisseur de PaaS.
- Infrastructure as a service (IaaS): l’infrastructure informatique, tels que les serveurs, stockage et réseau, livrés en tant que services de Cloud computing, généralement grâce à la virtualisation.
Et ça sert à quoi ?
Après avoir analysé le concept du Cloud computing, je vais essayer de vous présenter dans les grandes lignes les principales utilités de ce dernier.
Tout d’abord, le Cloud computing sert principalement à rentabiliser des énormes structures (Google, Amazon, Yahoo, …). Vous n’êtes pas s’en savoir que le prix du matériel n’est pas proportionnel à ses capacités ainsi que les coûts de maintenance et que plus une structure est importante, plus sa rentabilité passe par l’utilisation de celle-ci. En gros plus vous utilisez des services de Google plus ceux-ci deviennent rentables ! Mais je ne vous apprends rien.
Maintenant quel est le moyen d’utiliser un service ? Le présenter à un plus grand nombre de personnes et ce à travers le monde et le rendre disponible rapidement, en louant les ressources disponibles.
C’est ainsi que des sociétés comme Google (structure matérielle la plus importante dans le monde), Amazon, après avoir conçu une infrastructure uniquement pour leurs propres besoins, louent désormais celle-ci, pour mieux la rentabiliser et ainsi développer leur activité.
Comment ça marche ?
Les clients louent des services, que ce soient des machines virtuelles, des bases de données, des espaces de stockage puis établissent une facturation. En ce qui concerne Google, il s’agit d’une facturation à l’heure pour les machines et au mégaoctet pour le stockage. Vous imaginez que cela devient vite rentable…
L’intérêt pour les clients d’utiliser ces services sont nombreux :
- Une haute disponibilité des données : Les fournisseurs garantissent entre 99,9%, soit 8 heures d’indisponibilité (Amazon S3, SimpleDB, Azure Services) et 99,95%, soit 5 heures d’indisponibilité (Amazon EC2, Azure Compute) par an.
- Une architecture extensible : en quelques minutes, on peut accéder à des capacités de stockage et de calcul supplémentaires.
- Un paiement à l’utilisation seulement : cela va de pair avec la caractéristique ci-dessus, vous ne payez que ce dont vous avez besoin, en fonction de votre utilisation, qui est normalement quasi illimitée.
Vous allez certainement me dire, vous utilisateur, quel est l’intérêt du Cloud Computing ?
- L’accessibilité : Il vous suffit d’une simple connexion à Internet pour consulter vos données à n’importe quel moment et où que vous soyez.
- Partage et travail collaboratif : Vous pouvez partager vos ressources et permettre ainsi un travail à plusieurs (Google Docs, …).
- Économique : Le fournisseur gère complètement les aspects techniques du service et des coûts engendrés.
En France Gandi essaie de construire un produit de ce type, payable à l’utilisation et assez facilement scalable (extensible). Pour le moment la phase beta pose quelques problèmes mais l’idée est là : Fournir un hébergement et des ressources à la demande.
Comment le mettre en œuvre ?
Il y a autant de définitions du Cloud qu’il y a de blogueurs sur le thème de la technologie.
Cependant, le thème principal est qu’un Cloud public fournit des ressources informatiques est exploité par un tiers. Ainsi, vous n’avez plus de serveur chez vous, mais vous le louez. C’est ce cloud qui est privilégié par Google ou le logiciel Zoho assurant un hébergement externe des données sous forme de location dans des Data Center. ( Google App Engine, …).
Dans un Cloud privé, les politiques d’infrastructure sont régies par une seule organisation où la charge de travail et les données peuvent être déplacées vers des centres. de données externes et internes (Eucalyptus par exemple). Si vous êtes professionnel et que vous souhaitez partager tous vos serveurs pour n’en faire plus qu’un seul, il faudra déterminer les besoins et les technologies pour le stockage, la virtualisation, la base de données. Seuls des utilisateurs désignés et identifiés peuvent exploiter le service. Amazon et Microsoft orientent leurs offres dans cet esprit.
Cependant l’analyse de rentabilisation pour s’engager dans une stratégie de Cloud public ou privé implique plusieurs facteurs, le revenu de l’entreprise et/ou le budget étant les plus importants.
L’infographie ci-dessous vous présente les différences entre Cloud privé et Cloud public, agrémentée d’exemples très parlant :
Faut-il succomber à la mode du cloud computing ?
Les avis divergent. D’un côté les révolutionnaires adorent le principe et voient le futur sur un petit « nuage » : un avenir mutualisé et sans cesse connecté à la Toile, échangeant des informations. De l’autre, les réfractaires qui le redoutent et trouvent de nombreux inconvénients pour leur argumentaire d’anti-cloud. Trop risqué et trop fragile, ce n’est pas un concept viable.
En effet, aucun système n’est parfait, et le Cloud Computing n’échappe pas à la règle. Les principales critiques de celui-ci concernent sa stabilité et sa sécurité. L’avantage de la virtualité des systèmes d’information de Cloud Computing est aussi un désavantage, car elle force l’organisation à dépendre de l’extérieur. De plus, il est obligatoire d’avoir une connexion Internet. Sans celle-ci, inutile d’espérer pouvoir accéder à vos ressources. Enfin, le plus important concerne la sécurité et intégrité des données. Le sujet est loin d’être simple et mérite des études approfondies. En regroupant vos ressources sur Internet vous perdez, une partie du contrôle sur celles-ci. Dès lors que vos données, même chiffrées, transitent sur Internet, le risque de piratage est bien plus présent que sur une utilisation locale…
Au final, le Cloud Computing, il faut l’utiliser ou non ?
Le Web, tout le monde connait, c’est devenu un mot courant pour la majorité de la population dans le monde entier. C’est aussi, et de loin la chose la plus importante, le seul moyen de mettre tout le monde d’accord. De plus, le Web tel qu’il est défini aujourd’hui n’appartient pas à une seule société, bien que certaines comme Google, Yahoo, Amazon, etc sont influentes, mais les choses se standardisent régulièrement (HTML 5, CSS3, etc).
A ce jour, tous les navigateurs Web sont en course pour respecter au maximum les standards qui sont imposés et notamment l’HTML5. Je pense que le navigateur Web est la technologie par excellence. En effet, fini les versions de Java, .NET à mettre à jour risquant à tout moment de rendre incompatible un programme déjà installé. (Je pense que cela a dû vous arrivez au moins une fois…)
D’autre part, le Web à l’avantage de décomposer la partie « client » et la partie « serveur ». Concrètement ça veut dire quoi ?
La partie « client », généralement votre navigateur Web est très standardisée. En utilisant des normes toutes les applications Web fonctionneront de la même manière que vous soyez sur tel ou tel environnement. Bien entendu les éditeurs doivent jouer le jeu et bâtir leur navigateur sur ces normes.
Mais comment vont-ils se démarquer ? Vont-ils utiliser même navigateur, les mêmes applications ? La réponse est non. En effet, respecter une norme ne veut pas dire être bridé sur un élément de l’IHM. Le constat est simple : regardez la diversité des sites Web, aucun ne se ressemblent et pourtant une majorité respectent les différentes normes.
La partie “serveur” reste personnelle à chaque société. Que ce soit une application en PHP, J2EE, d’autres technologies existent et cohabitent : Flex, ASP, CGI etc… Ainsi le « moteur » de l’application, est propre à chaque société, et qu’une mise à jour de celle-ci ne viendra pas perturber l’utilisation à condition que l’interface soit faite en respectant les normes : HTML, CSS et JavaScript.
Le Cloud Computing est un principe révolutionnaire suscitant la curiosité et l’intérêt. Personnellement, je pense que les particuliers, les professionnels ou les entreprises ne sont pas prêts à se fier complètement à ce principe et de nombreuses craintes subsistent (à juste titre).
Cependant, le Cloud Computing reste indéniablement dans la liste des sujets populaires dans l’avenir des usages Web !
N’hésitez pas à venir réagir sur cet article. Tous vos commentaires, remarques seront les bienvenus pour enrichir ce dernier. En effet, je tiendrais compte de vos suggestions pour le modifier.