Cloud, nuage, pourquoi l’informatique se met-elle à la météo ?

Difficile d’y échapper, depuis plusieurs mois on ne parle plus que de ça, l’informatique dans le nuage, ou « cloud computing » en version originale. Pour autant il reste encore complexe pour […]

Difficile d’y échapper, depuis plusieurs mois on ne parle plus que de ça, l’informatique dans le nuage, ou « cloud computing » en version originale. Pour autant il reste encore complexe pour le grand public de saisir l’intérêt de ce système. Bien peu de sites ont prit le temps d’expliquer la chose et son fonctionnement, sans même parler de tout ceux qui évoquent le nuage de manière détournée sans utiliser son potentiel.

Que ce soit Google avec des multiples services, Apple et son fameux iCloud, Deezer ou Spotify pour la musique, Dropbox pour le partage de fichiers, OnLive pour le jeu ou encore bien d’autres. Impossible de lister toutes les offres de « cloud » qui existent. Ce qui est certain, c’est qu’il est fort probable que vous l’utilisiez d’ores et déjà depuis des années sans même vous en être rendu compte ! Ce qui explique aussi la complexité de compréhension d’un nouveau « procédé » qui n’est pas si nouveau…

Mais revenons un peu sur le principe et sur l’historique, le cloud computing est la dernière évolution en date des possibilités offertes par les réseaux informatiques. Ces mêmes réseaux ne sont pas nouveau, et ils ont de part le temps changé de structure. Le besoin du réseau est globalement identique depuis le début, permettre à des utilisateurs multiples d’accéder à des applications ou données partagées entres eux.

La première structure de réseau à avoir eu du succès dans ce but fut celle des « mainframe / terminaux ». Le principe était alors relativement simple. On utilisait un unique ordinateur central, appelé mainframe, qui possédait toute la puissance de calcul, les applicatifs et l’espace de stockage des données. Pour que chaque utilisateur puisse accéder à ces éléments, ils disposaient de terminaux qui ne comprenaient que les éléments permettant d’accéder au mainframe. Ainsi ces appareils n’avaient aucune puissance de calcul propre, pas plus de stockage, uniquement un écran et de quoi utiliser les applicatifs, ce qui se limitait bien souvent à un clavier. Chaque utilisateur d’un terminal utilisait directement une partie de la puissance et du stockage de l’ordinateur central. Un excellent représentant de ce type de système était le Minitel, qui ne fonctionnait qu’une fois connecté à un serveur via la ligne téléphonique de chacun. Débranché, le Minitel ne servait donc à rien et ne pouvait réaliser aucune tâche.

Ces systèmes ont eu beaucoup de succès et ont souvent été le premier contact du grand public avec l’informatique car à une époque où la puissance de calcul et le stockage coûtaient excessivement chers ils permettaient de tout de même profiter de toutes les possibilités offertes par l’informatique à un grand nombre de personnes avec un unique gros investissement sur l’ordinateur central.

Cependant ce fil à la pâte et cette impossibilité de réaliser des tâches par lui même ont vite été limitant. D’autant plus que l’informatique personnelle commençait à entrer dans les foyers et entreprises grâce aux premiers ordinateurs individuels comme l’Apple II et l’IBM PC. Ces derniers, si on pouvait les relier à des réseaux et utiliser un émulateur de terminal pour profiter des mainframe qui existaient toujours, avaient l’avantage de pouvoir être utilisés indépendamment les uns des autres. Le prix des ordinateurs chutant, les entreprises ont progressivement abandonné les terminaux afin d’offrir à leurs employés des machines plus modernes et agréables à utiliser.

Cependant un nouveau souci c’est alors posé, alors que sur un mainframe il n’y avait qu’une seule grosse machine à maintenir et à mettre à jour, c’était désormais des parcs de machines qu’il fallait administrer et relier entres elles, chacune ayant ses propres logiciels et données.

On a donc vu arriver de nouveaux types de réseaux, enfin pas nouveaux techniquement parlant mais plus de part son utilisation effective, dite de type « client / serveur ». Le principe se basait sur divers protocoles de réseaux (dont la plus célèbre suite reste celle du TCP/IP sur laquelle se base l’internet que l’on connait tous) qui mettaient en relation toutes les machines entres elles, et qui via des applications exécutées de parts et d’autres prenaient un « rôle » de serveur ou de client selon la situation.

L’exemple le plus parlant de nos jours est celui du serveur web, celui là même qui vous permet de lire mon blog en ce moment même. Le principe est simple, sur une première machine ont dépose les données à utiliser et on installe un logiciel de type « serveur » qui va comprendre ces données et les diffuser sur le réseau en fonction de la demande du ou des clients. Le client dans notre exemple est votre logiciel de navigation sur internet, Internet Explorer, Firefox, Chrome ou autre. Ce logiciel qui  se trouve installé sur votre propre machine se connecte directement à mon logiciel serveur qui tourne sur une machine que je gère et lui demande de lui fournir les éléments des pages que vous souhaitez voir.

Cette organisation a un côté pratique évident, elle laisse une bonne partie de la charge de calcul au logiciel client et donc à l’ordinateur de chacun pour afficher le résultat et traiter les données. Cependant elle nécessite tout de même d’avoir de la puissance de calcul des deux côtés de la chaîne, principalement côté serveur qui devra, selon le nombre de clients qui s’y connectent, être suffisamment puissant pour pouvoir traiter les demandes et délivrer les résultats. D’autant plus que les calculs effectués par le serveur vont en s’augmentant dans le temps, que ce soit la gestion de bases de données ou de sites dynamiques de plus en plus complexes utilisant des langages comme le PHP.

Autre problème, cela ne solutionne en rien les soucis de gestion de parc de machines, que ce soit l’état du matériel, les logiciels installés sur chaque poste, les sauvegardes des données de chaque poste… Enfin, dernier problème, et pas des moindres, le coût des applications est également multiplié par autant d’appareil qui les font tourner. Car si heureusement il existe souvent des alternatives libres pour chacun de ces éléments, beaucoup d’applications populaires ou d’entreprises ne sont pas gratuites (Word, Excel, Photoshop et j’en passe), et gérer un parc de machine signifie aussi gérer des coûts de licences pour chaque poste.

Malgré tout ces problèmes, les progrès de l’informatique individuelle et les atouts offerts par la possibilité pour chaque utilisateur de posséder son propre ordinateur avec son propre environnement et ses propres fichiers, sur une interface rapide et ergonomique, ont permit de conserver un réel intérêt à cette solution.

C’est là ou la « révolution » du nuage arrive à point nommé. Le but est de solutionner les problèmes décrits ci dessus en offrant des réponses simples et efficaces. Le grand principe du « cloud » étant que de votre côté rien ne change ! Vous utilisez toujours un appareil intelligent indépendant qui possède sa propre capacité de calcul et de stockage et fait tourner des applications clientes qui se connectent aux applications serveurs. Là ou les choses bougent, c’est côté serveur justement, mais sans impacter l’utilisateur final. C’est la grande force de ce nouveau modèle mais aussi ce qui fait qu’il est difficilement compris vu que l’utilisateur final, c’est à dire vous, ne voyez aucun changement réel dans votre quotidien dans un premier temps.

Côté serveur c’est la grande révolution, au lieu de posséder une machine unique qui va faire tourner des applications serveurs, vous allez avoir des dizaines, des centaines voire des milliers de machines qui vont chacune faire tourner un énorme serveur virtuel dont la puissance est répartie entre toutes les machines et où les données sont copiées et re-copiées d’une machine à l’autre. A tout moment, quelque soit la machine qui réponds à la demande, elle possède toutes les informations et la puissance nécessaire pour exécuter la tâche qu’on lui demande. Et le résultat est envoyé comme si c’était une seule unique machine qui vous avait répondu.

L’intérêt est assez évident, avec des copies multiples des mêmes données et une redondance maximale des machines, le nombre de clients pouvant se connecter simultanément à la même application serveur est bien plus important. Mieux encore, le stockage des données est bien plus sûr et si une des machines connait un problème technique, une autre saura répondre avec les éléments qui vont bien. Cerise sur le gâteaux, en répartissant au mieux les zones où sont installés les machines, vous avez une plus grande probabilité qu’une machine serveur soit plus proche de vous et pourra donc vous répondre bien plus rapidement qu’un autre serveur situé à l’autre bout du monde.

C’est ce qui permet à certaines solutions comme GMail, Hotmail ou autres d’être très rapides, efficaces et accessibles de n’importe où dans le monde en quelques instants. A partir du moment où vous retrouvez vos données personnelles, qu’importe si l’application tourne sur 50 ou 500000 de machines ! Et la malchance que l’application soit « surchargée » est très faible vu que la puissance nécessaire à son fonctionnement est répartie sur la masse de machines. Masse qui peut être très simplement étendue, il suffit en effet de rajouter de nouvelles machines pour que la capacité globale soit augmentée pour tout le monde d’autant.

Vous le voyez donc rapidement, ce que tout le monde appelle le « cloud » ou le « nuage » est déjà certainement dans votre quotidien. La majorité des sites que vous utilisez à ce jour sont d’ores et déjà hébergés de la sorte (Google, Bing, Facebook, Twitter…) et les applicatifs existent déjà car ils sont identiques à ceux qui tournaient déjà sur l’architecture client serveur.

Mais ce pourquoi le nuage excite tellement les appétits des différentes entreprises du web, c’est qu’il offre une nouvelle possibilité de fonctionnement des applicatifs informatiques. Grâce à ce système il redevient possible d’avoir une application centralisée utilisée en même temps par un grand nombre de clients qui s’y connectent en simultané. Un modèle qui rejoint en partie celui des mainframe des débuts. En effet les correctifs, améliorations ou changements sont effectués par le fournisseur du service, ils profitent donc immédiatement à l’ensemble des utilisateurs sans qu’ils n’aient besoin chacun de mettre à jour un composant logiciel local.

Extension de cette logique, il devient possible de monnayer l’accès à ces applications, soit en vendant un accès unique, soit même en vendant un accès au temps ou sur une durée. C’est là que Microsoft a très peur de solutions comme les Google Apps, a quoi bon acheter un serveur de mail Exchange avec toute la configuration matériel et support qui va avec quand un simple abonnement à Google Apps fait exactement la même chose, voire mieux ! De même, entre la puissance du « cloud » et celle de nos navigateurs internet de plus en plus riches, les applications web sont de plus en plus proches de celles que nous utilisons sur nos ordinateurs classiques. Si à l’heure actuelle Google Docs est encore très loin des fonctionnalités d’un Word ou d’un Excel, ce n’est qu’une question de temps avant que cela arrive. Microsoft propose d’ailleurs depuis peu un portage « web » de sa solution Office pour répondre à ce problème.

Difficile de ne pas y voir l’intérêt commun des entreprises qui offrent des solutions clefs en main, constamment maintenues et mises à jour, quasiment impossible à pirater (puisqu’à aucun moment l’application ne tourne ailleurs que sur les serveurs de l’entreprise), tout comme l’intérêt des entreprises clientes ou des particuliers, qui profitent à moindre coût d’applications efficaces, accessibles depuis n’importe quel point du globe, sur n’importe quel type d’appareil (du smartphone à l’ordinateur), à partir du moment ou une connexion à internet est disponible. Plus de maintenance à gérer, plus de parc de licences à payer…

Seule problématique de la chose finalement, c’est d’accepter que ses propres données ne soient plus uniquement sur notre propre ordinateur personnel, mais directement sauvée chez chacun des fournisseurs de ces solutions de cloud. Surtout qu’en cas de vol de données par des pirates, ces informations personnelles se retrouvent potentiellement dans la nature sans qu’on ai pu y faire quoi que ce soit. L’affaire qui avait touché Sony l’an dernier et qui se reproduira certainement à l’avenir fait peser une lourde pression sur les épaules des services du genre. Ils se doivent d’assurer au mieux la sécurité de leurs systèmes.

Autre problématique, les interactions entre les différents acteurs du cloud est parfois complexe à gérer. Ainsi, si historiquement il était assez facile de lire un fichier « word » sur un autre traitement de texte, qu’en sera-t-il à l’avenir entre différents services qui ont chacun leurs outils ? Dans l’ensemble, ils essayent tous de proposer des solutions d’export standardisés mais cela ne représente en rien une garantie.

Enfin le dernier problème majeur reste encore la connexion à l’internet. On le voit bien avec les solutions qui tentent de sortir uniquement sur le cloud, comme le fameux ChromeOS et les ChromeBook de Google, impossible d’utiliser l’appareil ou presque si il est en mobilité sans réseau internet. En dehors même de leur prix de vente, ce fil à la pâte forcé est encore à l’heure actuelle un frein à la démocratisation de ces solutions. Même si il me parait assez évident que c’est vers ce genre d’optique que s’oriente toute l’informatique en général. Tant le cloud est naturellement intégré au sein de nos nouveaux usages de l’internet, sur ordinateur comme sur smartphone ou tablettes. Ce n’est décidément pas un hasard si tous les acteurs du marché poussent en ce sens…

ps : il existe évidement d’autres variantes de structures de cloud, mais mon article as pour but premier de décrypter le concept général, les intéressés trouverons aisément les différentes nuances possibles selon les services…

About Bruce