Cloud Computing

Article abordant la notion de Cloud Computing

Au fil des années les besoins et les technologies ayant évolué, le monde du numérique a su être agile et s’adapter à ses changements.

Le terme « cloud », ou nuage dans la langue de Molière, désigne le fait de pouvoir accéder à une ressource, stockée sur des serveurs, depuis n’importe quel endroit dans le monde.

En ce sens, ce fût une véritable révolution lorsque les premiers cloud, comprendre les espaces de stockage dans les nuages, sont arrivés. Les grands acteurs de ce monde ont voulu pousser le concept plus loin en proposant autres choses que du simple stockage décentralisé: du calcul à la demande dans les nuages, aussi appelé cloud computing.

Les serveurs étant de plus en plus puissants, les entreprises ont rapidement compris que les calculs qui étaient effectués auparavant sur la machine d’un utilisateur pouvait se faire dorénavant sur un serveur qui rendait accessible un service depuis les 4 coins du globe.

Le Cloud

Il représente l’accès à une ressource ou un service, qu’il soit matériel ou logiciel, à travers un fournisseur et une connexion internet.

Lorsqu’il était nécessaire il y a quelques années d’avoir un ordinateur et l’installation du logiciel sur sa machine pour accéder à ses services, aujourd’hui, une simple connexion internet et n’importe quel périphérique permet d’accéder à des logiciels en ligne et à leurs services.

Aujourd’hui, on reconnaît trois grands types de services proposés que j’expliquerais un peu plus tard dans cet article: SaaS, PaaS et IaaS.

Le cloud, répond à 4 grands principes.

Scalabilité

La ressource mise à disposition est scalable, c’est à dire qu’elle est flexible, et peut-être mise à l’échelle de manière instantanée ce qui n’est pas le cas avec un hébergeur classique.

Prenons l’exemple d’un hébergeur classique. Lorsque l’on souscrit à une offre, nous avons accès à des ressources fixes. Si nous avons besoin d’augmenter ces ressources, il est nécessaire de faire une demande et de changer d’offre.

Autre exemple. Imaginons que nous avons besoin de peu de ressources sur une grande partie de notre journée, par contre, de 17 à 20h, il nous faut doubler nos ressources. Un hébergeur classique demandera un changement d’offre faisant augmenter le prix et les ressources pour toute durée de la journée ce qui nous est inutile, là où le cloud computing saura se mettre à l’échelle de manière instantanée selon des règles qu’on lui aura donné en amont. Écologie et économie.

Accessibilité

Les services que cloud computing permet d’avoir à disposition sont ouverts sur le monde, cela signifie qu’ils sont accessibles depuis n’importe où dans le monde tant qu’une connexion internet et un périphérique est à disposition.

Prenons l’exemple d’un outil de gestion clients, où CRM dans le jargon.

Quelques années en arrière, il était nécessaire d’avoir sur sa machine l’outil en question qui communiquait avec une base de données distantes.

Les commerciaux devaient donc obligatoirement avoir un ordinateur avec eux.

Aujourd’hui, le logiciel est directement sur les serveurs distants, dans le cloud, ce qui permet aux commerciaux de se déplacer avec une simple tablette ou seulement son téléphone et d’avoir accès au même logiciel.

Partagé

Grâce à la scalabilité, les ressources sont allouées de manière dynamique aux clients. Ainsi, pour augmenter le rendement des serveurs et éviter de sur-acheter du matériel, il utilise la mutualisation des ressources.

Prenons un exemple avec un serveur qui possède 16Go de mémoire vive.

Un hébergeur classique, selon les formules et les types d’hébergement (privé ou mutualisé), va allouer de manière fixe une partie de cette RAM à ses clients.

Imaginons 4 clients avec chacun 4Go de RAM. Si 2 clients n’utilisent que 2Go de RAM, il serait possible d’avoir un 5ème client avec 5Go de RAM. Cependant, dans ce cas là, l’hébergeur va être obligé d’acheter plus de RAM pour pouvoir, selon son offre, avoir un 5ème client.

Le cas du cloud computing est beaucoup plus complexe car il est régi par les règles que le client va mettre en place. L’ajout d’un nouveau client sur un serveur existant se fera de manière dynamique selon sa demande.

On comprend aisément que si nous avons besoin de 2Go de RAM toute la journée et 4Go de RAM de 17 à 20h, le serveur va faire en sorte de nous matcher avec des personnes qui auront besoin de plus de RAM à un autre moment de la journée pour pouvoir mutualiser et être performant dans l’économie de ressources.

Le cas de la mutualisation chez un hébergeur classique est différent de celle du cloud computing car il y a une notion de priorité. Et c’est un problème que beaucoup de sites ont pu rencontré lorsqu’aux heures de pointes leur site se mettait à être plus lent. C’est tout simplement qu’ils partageaient sans le savoir leurs ressources avec des sites beaucoup plus gros qui avaient ainsi la priorité..

Paiement à l’usage

Enfin, le dernier point qui caractérise le cloud computing est le fait de pouvoir payer ce que l’on utilise, aussi connu par le terme « pay as you go ».

Ce type de facturation est un véritable avantage par rapport à un hébergement classique cependant, il peut aussi être un véritable inconvénient si elle est mal gérée.

En effet, lorsqu’on doit choisir la machine virtuelle qui va être utilisée dans le cloud, il est nécessaire de prendre la bonne taille pour son besoin au risque d’avoir une sur-facturation.

L’arrivée des conteneurs a permis de réduire cette problématique et de rendre beaucoup plus flexible l’usage des ressources. Ainsi la facturation et le gaspillage sont limités mais il est tout de même nécessaire de rester alerte !

Les services

J’ai abordé le sujet en début d’article, il existe 3 types de services au sein du cloud computing: le SaaS, le PaaS et le IaaS.

Regardons de plus prêt à quoi chacun correspond.

SaaS

Le SaaS, Software as a Service ou encore logiciel en tant que service, est certainement le type de service que l’on rencontre le plus souvent que l’on soit acteur du monde numérique ou simplement un consommateur comme un autre.

Le but de ce service est de louer l’usage d’une application, permettant au consommateur de ne plus avoir à se soucier de la mise à jour, de l’entretien, de la sécurité ou encore de la disponibilité du service.

De plus, la location se faisant souvent au mois, le client lisse sa dépendance sur la durée et il est plus simple pour lui de dépenser plus.

C’est par exemple le cas avec les licences Adobe qui coûtaient extrêmement chères et qui aujourd’hui sont des formules SaaS avec le Adobe Creative Cloud. On paye un abonnement par mois qui permet d’accéder à plus ou moins certains logiciels selon la formule choisie. Les mise à jours sont automatiques et le stockage des fichiers se fait dans les nuages permettant depuis n’importe quel périphérique d’accéder à son travail.

Autre exemple que l’on utilise tous: Microsoft Office 365. Microsoft a lui aussi basculer sur un service de type SaaS permettant de travailler avec les outils directement depuis un navigateur web ou bien en installant l’application sur son support préféré (ordinateur, tablette ou téléphone).

Le stockage, tout comme pour Adobe, est aussi hybride. On peut choisir de stocker dans les nuages ou tout simplement d’enregistrer notre document sur notre périphérique.

Dans chacune de ces offres SaaS, c’est le fournisseur du service qui gère ses propres serveurs.

PaaS

Le PaaS, Platforme as a Service ou encore plateforme en tant que service, est le service qui vient concurrencer l’hébergement classique que l’on connait.

Ce type de service est souvent lié au déploiement d’une application. Le but ici est donc de louer un serveur selon les 4 points vus précédemment mais de ne pas avoir à le gérer.

C’est donc le monde parfait entre le serveur privé et le mutualisé chez un hébergeur classique.

En effet, le serveur privé permettra d’être totalement libre mais demandera d’être administré tandis que le mutualisé sera administré par l’hébergeur mais nous bridera dans l’utilisation.

Grâce au PaaS, une entreprise pourra se concentrer sur le développement de l’application tandis que le maintien, la sécurité et la mise à jour du serveur se fera par le prestataire qui met à disposition la plateforme. Cette plateforme aura des ressources qui seront scalable, disponible et que l’on payera à l’usage.

De la même manière, il ne sera plus nécessaire de gérer les différentes versions ou les compatibilités entre une base de données et un langage puisque cette connexion sera automatique et gérer par le prestataire.

En revanche, ce type de service aura comme inconvénient d’être entièrement dépendant du prestataire choisi et des technologies qu’il possède ou possédera dans le futur.

Quelques exemples de PaaS: Heroku, Amazon Web Services Elastic Beanstalk, Google App Engine ou encore Microsoft Azure App Service.

IaaS

Le IaaS, Infrastructure as a Service ou infrastructure en tant que service, est le service qui permet de mettre à disposition des ressources.

Il est assez facile de confondre IaaS et PaaS pourtant les 2 sont différents.

Le PaaS apporte l’écosystème qui permet de déployer les applications. On choisit finalement son package pour notre application et la plateforme nous simplifie l’utilisation et le déploiement.

L’IaaS se focalise entièrement sur la ressource. On peut louer un disque dur dans les nuages, simplement du CPU ou bien une machine virtuelle entière.

Par exemple, il est tout à fait possible de louer du stockage sur Amazon pour conserver des backups d’un site qui est hébergé sur OVH, simplement parce que le prix est extrêmement bas. On utilisera donc ici l’IaaS. Si on souhaite par contre déployer son site sur Amazon, on utilisera la solution PaaS pour le faire, mais qui elle-même sans vous le dire utilisera le service IaaS d’Amazon.

L’exemple précédent met en évidence la plus grosse problématique de compréhension: certains fournisseurs d’IaaS propose du PaaS et certains PaaS proposent aussi de l’IaaS.

C’est un peu comme la différence entre acheter sa voiture sur un site de voiture d’occasion puis de devoir la faire entretenir dans un garage que l’on aura sélectionné en amont OU louer sa voiture chez un concessionnaire et la déposer à période régulière pour que l’entretien soit prise en charge de manière automatique sans aucun frais.

D’un côté, il est nécessaire de tout faire soit-même (IaaS) de l’autre tout est pris en charge dans une formule nous facilitant la vie (PaaS).

Conclusion

Il existe de nombreux autres services dont je n’ai pas parlé comme le Desktop as a Service, le Network as a Service, le Data as a Service ou encore le Backend as a Service.

Le cloud est un monde à part et, à mon sens pour ne pas faire d’erreurs, est une véritable compétence à développer pour la partie PaaS et IaaS.

Les possibilités et les prestataires étant en nombre, il est parfois facile de se perdre dans une mise en place pourtant censée être simplifiée d’un projet.

Enfin, le SaaS est pour moi une belle transition des outils anciennement peu portables et représente une vraie révolution dans la création de logiciels. C’est d’ailleurs grâce à cette arrivée que les technologies Web ont explosé à la fois à travers les navigateurs mais aussi dans la création d’applications destinées aux ordinateurs (Electron) ou destinées aux mobiles (React Native, Xamarin, Flutter, Ionic 5).

Thomas C

Formateur sur des parcours DWWM & CDA, j'ai décidé d'aller plus loin en te partageant mes connaissances en vitesse supersonic 🚀 Prends ta revanche sur la vie !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Formation Développeur Web