Cloud computing
Le cloud computing (ou cloud ou « informatique en nuage » ou « infonuagique » au Québec) est un terme qui désigne les services hébergés fournis par un prestataire, accessibles par Internet sans que le client ne sache exactement où se trouvent physiquement les matériels et les logiciels qu’il utilise.
Les services cloud sont divisés en trois grandes catégories : l’infrastructure à la demande (ou IaaS pour Infrastructure as a Service), les outils de développement à la demande (ou PaaS pour Platform as a Service) et les logiciels à la demande (ou SaaS pour Software as a Service).
Un cloud peut par ailleurs être « privé » ou « public ». Un cloud public vend des services informatiques à tous les clients avec une infrastructure mutualisée. Un cloud privé repose sur un serveur dédié qui fournit des services à un client ou sur un datacenter dédié à un nombre limité d’entreprises (voire à une seule), avec certains paramètres d’accès et d’autorisations. Privé ou public, l’objectif du cloud est de fournir un accès simple et évolutif (scalable) aux ressources (puissance de calcul, stockage, etc.) et aux outils IT (boîte mail, CRM, HCM, ERP, etc.).
Le nom « cloud computing » a été inspiré par le symbole du nuage qui est souvent repris pour représenter des réseaux Internet reliant des machines disséminées physiquement.
Différences entre cloud computing et hébergement Web historique
Un service cloud présente trois différences clefs par rapport à l’hébergement Web :
- Il permet d’accéder à une grande quantité de puissance de calcul, et il s’adapte aux besoins. Cette puissance est généralement vendue à la minute ou à l’heure.
- Il est élastique : un utilisateur peut modifier la quantité de service qu’il souhaite à un moment donné (puissance de calcul, quantité de stockage, nombre d’utilisateurs d’un ERP, etc.).
- Le service est entièrement géré par le fournisseur (l’utilisateur n’a besoin de rien d’autre qu’un ordinateur et d’un accès à l’Internet). Des innovations importantes en matière de virtualisation, d’informatique distribuée, et d’Internet haut débit ont accéléré l’attrait du cloud.
Caractéristiques du cloud computing
Les caractéristiques majeures du cloud computing sont :
Le libre-service : le cloud permet de se procurer, à la demande, des ressources IT pour presque tout type de tâches et de traitements. Un utilisateur final – y compris un utilisateur métier – peut provisionner lui-même des capacités (comme du temps serveur ou du stockage) sans passer par un administrateur qui doit traditionnellement provisionner et gérer ces ressources IT.
Élasticité : Les entreprises peuvent augmenter ou diminuer leurs capacités cloud pour coller au plus près à l’évolution de leurs besoins. Il n’est donc plus nécessaire d’investir dans de grosses infrastructures, qui peuvent rester inutilisées en attendant par exemple un pic d’activité. Cette caractéristique est désignée par le néologisme : « scalabilité ».
Paiement à l’usage : Les ressources – par exemple la puissance de calcul (ou compute) – sont mesurées à un niveau plus granulaire, ce qui permet sur le papier de ne payer que pour les ressources réellement utilisées.
Résilience et réplication : Les fournisseurs de cloud mettent en œuvre des mécanismes de redondance pour assurer la résilience de leurs services (et de leurs serveurs). Les workloads des utilisateurs sont ainsi souvent répliqués dans plusieurs régions du globe (dans plusieurs datacenters distants les uns des autres).
Accès via Internet : L’utilisateur accède à ses données (ou les transfère) sur le cloud depuis n’importe quel endroit, peu importe sa machine, du moment qu’il dispose d’une connexion Internet. Le cloud, en théorie, supprime le besoin de passer par une application locale ou un client à installer. Tout se passe dans le navigateur Web.
Multitenant et mutualisation des ressources (pool) : Le principe du multitenant (à l’inverse du single-tenant) consiste à partager les mêmes infrastructures physiques (serveur, stockage, réseau) et les mêmes applications entre tous les clients (tout le monde a le même code et la même version du logiciel), mais en préservant la confidentialité et la sécurité des données de chacun. Avec cette mise en commun des ressources, les fournisseurs de cloud peuvent faire des économies d’échelle. Ces pools sont de très grandes tailles et reposent sur des technologies flexibles (virtualisation, containeurs, automatisation, etc.) pour s’adapter aux demandes de très nombreux clients.
Avantages du cloud computing
Le cloud présente plusieurs avantages :
Économies de coûts : Les entreprises n’ont pas à investir pour acheter et entretenir des équipements ce qui réduit d’autant leurs CAPEX. Avec le cloud, elles n’ont plus à investir dans du matériel (serveur, switch, etc.), dans l’immobilier (local des serveurs), à surveiller la consommation d’énergie ou à construire de grands centres de données pour répondre à la croissance de leurs activités. Ce qui diminue par ailleurs d’autant la taille des équipes IT.
La mobilité : Stocker des informations dans le cloud signifie que les utilisateurs peuvent y accéder depuis n’importe où, avec n’importe quel appareil qui a une connexion Internet. Les utilisateurs – y compris ceux qui travaillent à distance – peuvent accéder aux données de l’entreprise via des smartphones, des laptops ou des tablettes. Les utilisateurs finaux peuvent facilement traiter, stocker, extraire et récupérer des ressources dans le cloud.
Reprise après sinistre (PRA) : Toutes les entreprises s’inquiètent de la perte de données. Avoir ses données dans le cloud garantit que les utilisateurs peuvent encore accéder à leurs données même si leurs appareils sont inutilisables ou volés. Grâce aux services cloud, les organisations peuvent récupérer rapidement leurs données en cas d’urgence, comme après une catastrophe naturelle, une panne de courant ou une attaque de ransomware.
Parmi les autres atouts du cloud, on peut aussi citer l’élasticité (voire la scalabilité du point précédent), la sécurité (qui est assurée par de très grandes entreprises technologiques – les GAFAM – qui disposent en interne d’équipes spécialisées pléthoriques et mieux armées que les équipes sécurité des clients), la tranquillité (plus besoin de s’occuper des mises à jour fonctionnelles, des patchs de sécurité, des montées de version, du changement de matériel) pour se recentrer sur les projets à valeur ajoutée.
Enfin, le cloud permet de faire passer les dépenses IT du statut d’investissements de capital (CAPEX) en dépenses opérationnelles (OPEX).
Défis et limites du cloud computing
Malgré ses avantages, le cloud a des limites et pose ses propres défis aux professionnels de l’IT :
La gestion des coûts – le paiement à l’usage ainsi que la fluctuation des charges en fonction des traitements peuvent rendre difficile la prévision des coûts finaux. On parle désormais de FinOps pour la pratique qui consiste à clarifier ces coûts et à les optimiser en fonction des besoins de l’entreprise.
Surcoût sur le long terme – une des promesses du cloud est de réduire les coûts. Mais sur le long terme, il peut aussi être plus cher. L’abonnement à un service SaaS par exemple peut lisser la dépense dans le temps, mais, en contrepartie, il peut dépasser après quelques années le coût d’un déploiement d’une application sur site. Dans ce cas c’est surtout le coût à l’entrée qui est drastiquement diminué. Certains éditeurs justifient ce surcoût par les avantages que fournit le cloud, en premier lieu la tranquillité de ne pas avoir à gérer son infrastructure.
Pénurie d’expertise – les technologies cloud évoluent rapidement. Résultat, les entreprises ont souvent du mal à suivre et à trouver des experts qui possèdent les compétences et les connaissances pour gérer ces nouvelles pratiques (par exemple pour faire du multicloud).
Gouvernance et risque réglementaire – le cloud peut rendre la gouvernance IT compliquée. Avec un DBaaS (base de données cloud), le prestataire gère le SGBD, mais c’est bien le client qui est le responsable légal des données (par exemple en cas de fuite). Plus généralement, en transférant des données depuis un stockage local sur site (où l’on contrôle tout) vers un stockage cloud (où une partie est gérée par le prestataire), il peut être difficile de gérer la conformité vis-à-vis des réglementations.
Enfin, l’usage d’un cloud américain place les clients sous l’égide du droit des États-Unis. Le droit américain s’applique en effet même si les données et les workloads sont physiquement localisés dans un datacenter français ou européen. Les éditeurs américains assurent que cela ne représente pas de risque supplémentaire (l’activation de ces Acts serait suffisamment encadrée et stricte). Les juristes européens sont beaucoup plus circonspects. Conclusion : il peut donc être difficile de gérer correctement les risques, la conformité informatique et la qualité des données.
Confidentialité – Dans un cloud public, sans contrat spécifique, il y a souvent un manque de transparence sur la manière dont les informations confiées au fournisseur cloud sont traitées et sur l’endroit où elles le sont (cf. point précédent).
Gestion multicloud – le déploiement de plusieurs clouds n’est pas une mince affaire (intégration, transfert, latence, compatibilité, etc.). Si un cloud peut simplifier des tâches, plusieurs clouds ramènent aux problèmes traditionnels de silos et d’intégrations des services, et d’outils IT.
Performance et interruption de service – Les pannes arrivent aussi dans le cloud. Elles peuvent nuire à la productivité et perturber les processus métiers si les organisations ne se sont pas préparées à ces éventualités avec des plans d’urgence.
Cloud privé : la création d’un cloud privé peut se révéler être une tâche ardue pour les services IT.
Migration vers le cloud – le processus de migration des applications et des données vers une infrastructure cloud rencontrent souvent des complications. Les projets de migration prennent souvent plus de temps que prévu et peuvent dépasser les budgets.
Client captif : le passage d’un fournisseur cloud à un autre (ou le retour sur site) pose souvent des problèmes importants (incompatibilités techniques, limitations contractuelles, coûts importants).
Les différents modèles de déploiements du cloud computing
Les services d’un cloud privé sont fournis par le centre de données d’une entreprise aux utilisateurs internes (ou par un prestataire qui gère cette infra uniquement pour le compte de l’entreprise). Avec un cloud privé, une entreprise construit et maintient sa propre infrastructure sous-jacente. Ce modèle offre la polyvalence et la commodité du cloud, mais en gardant la gestion, le contrôle et le modèle de sécurité et de confidentialité inhérents aux centres de données en local. Les utilisateurs internes peuvent ou non être facturés pour les services par l’IT. Les technologies et les fournisseurs de cloud privé les plus connus sont VMware et OpenStack.
Dans le modèle de cloud public, c’est un acteur tiers – non lié spécifiquement à l’entreprise cliente – qui fournit le service cloud depuis son réseau de datacenter. Les principaux prestataires de cloud public (les hyperscalers) sont Amazon Web Services (AWS), Microsoft (Azure), Google, IBM ou encore Oracle. En Europe, bien que de plus petites tailles, on citera également OVH, Outscale, Orange (OBS) ou T-Systems.
Un cloud hybride est un mélange de cloud public, de cloud privé et d’infrastructure sur site, avec une orchestration et une automatisation entre les différentes parties. Les entreprises peuvent ainsi exécuter des traitements critiques ou faire tourner des applications sensibles sur un cloud privé ou sur site et utiliser le cloud public pour faire face à des pics de demande, pour des environnements de tests, ou pour de nouvelles applications jugées moins critiques. L’objectif d’un cloud hybride est de créer un environnement unifié, automatisé et évolutif qui tire profit de tout ce qu’une infrastructure de cloud public peut fournir, tout en conservant le contrôle des données critiques.
Le multicloud est l’utilisation de plusieurs clouds publics. Dans le cas de l’IaaS, cela permet aux applications de migrer sur différents clouds (pour diminuer le risque de dépendance à un seul fournisseur) ou de fonctionner simultanément sur deux ou plusieurs clouds (en fonction des points forts et des faiblesses de chaque fournisseur).
Les organisations adoptent le multicloud pour diverses raisons. Par exemple, elles peuvent le faire pour minimiser le risque d’interruption d’un cloud ou pour profiter des prix plus compétitifs d’un fournisseur particulier.
La mise en œuvre et le développement d’applications pour le multicloud restent un challenge en raison des différences d’API et de services entre les clouds.
Néanmoins, les déploiements multiclouds devraient se simplifier à mesure que les services et les API convergent et deviennent plus standardisés, grâce à des initiatives du secteur comme celle de l’Open Cloud Computing Interface, la Open Cloud Foundation ou encore GAIA-X.
Types de services de cloud computing
Les services cloud peuvent se classer en trois grandes catégories :
L’infrastructure à la demande (IaaS). Le IaaS est l’équivalent du hardware dans le cloud. Il fournit une instance virtualisée avec du compute (capacité de calcul) et/ou du stockage, ainsi que des API pour gérer et migrer des workloads vers une machine virtuelle (VM). Les utilisateurs disposent d’une capacité de stockage allouée et peuvent démarrer, arrêter, accéder et configurer la VM et le stockage comme ils le souhaitent. Les fournisseurs de IaaS proposent souvent des instances préconfigurées pour différents besoins (petite, moyenne, grande, extra-large).
Les trois géants du IaaS sont Azure (Microsoft), AWS et GCP (Google).
Le PaaS ou plateformes à la demande. Un PaaS est la couche « au dessus » d’un IaaS. Dans le modèle PaaS, les fournisseurs hébergent des outils et des services pour les développeurs sur leurs infrastructures.
Le PaaS est, à la base, utilisé pour créer et héberger des logiciels. Ces offres proposent aussi de plus en plus d’outils d’Intelligence Artificielle (comme pour la reconnaissance d’images, le machine learning, etc.). Ces « services » peuvent être appelés par une application (sur site ou dans le cloud) et les données sont traitées dans le PaaS du fournisseur.
Un autre type de PaaS est destiné à intégrer des données et des applications les unes aux autres. On parle alors d’iPaaS (plateforme d’intégration à la demande).
Toujours dans le PaaS, il existe des services de bases de données hébergées (et d’entrepôts de données hébergés). Le SGBD (serveur de base de données) est géré par le prestataire cloud (sécurité, scalabilité, etc.). On parle de DBaaS (Database as a Service) et de DWaaS (Data warehouse as a Service). L’intérêt d’un DBaaS est de rapprocher les données des services cloud qu’une entreprise peut vouloir appeler (IA ou analytique par exemple) ou d’assurer le SLA d’une application qui se nourrit des données du DBaaS (application Web par exemple).
Tous les grands fournisseurs de cloud proposent des outils IaaS et PaaS (et DBaaS). Certains acteurs – comme Snowlflake – sont des spécialistes du DBaaS ou du DWaaS.
Le SaaS ou Software as a service. Le SaaS désigne les logiciels sur abonnement, hébergés et gérés par un éditeur (qui s’appuient donc sur un PaaS et un IaaS), et accessibles via Internet. Par exemple un ERP comme Infor s’appuie sur le PaaS et le IaaS d’AWS.
Avec le SaaS, les utilisateurs peuvent accéder à des outils de CRM, HCM, de messagerie (mails), des ERP, d’automatisation du marketing, de visio, de partage de documents, etc. directement dans leur navigateur, sans avoir à installer de logiciel sur leur ordinateur ou leur portable.
Exemple de SaaS : Workday, Oracle Fusions, SAP ByDesign, NetSuite, Dynamics 365 (les cinq dans l’ERP cloud), Office 365 (Microsoft 365), Dynamics 365, Gmail, Google Docs, Marketo, Dropbox, Box, Zoom, etc.
Le marché et les acteurs clefs du cloud computing
Comme dit précédemment, les trois plus gros acteurs du cloud dans le monde qui structurent le marché sont historiquement Amazon Web Services (AWS), Google Cloud Platform et Microsoft Azure.
Les principaux challengers de ces trois acteurs dominants (qui peuvent également passer des accords avec eux) sont IBM, Salesforce, Alibaba Cloud, Oracle (OCI), SAP ou encore OVH (seul acteur européen du IaaS public en 2020 pour IDC).
Avant de contractualiser avec ces acteurs, plusieurs considérations doivent être prises en compte. Bien que les services cloud reposent sur un modèle de paiement à l’utilisation, les fournisseurs ont souvent des plans tarifaires différents.
En outre, si le fournisseur doit stocker des données sensibles, il faut également regarder avec attention l’emplacement physique de ses serveurs et (plus encore) se pencher sur les répercussions juridiques (RGPD vs CLOUD Act par exemple) qu’entraîne une telle décision.
Bien entendu, la fiabilité et la sécurité doivent être des priorités absolues. L’accord de niveau de service (SLA) d’un fournisseur doit spécifier et assurer un taux de disponibilité du service en accord avec les besoins de l’entreprise cliente.
Sécurité du cloud computing
La sécurité reste une préoccupation pour les entreprises qui envisagent le cloud – en particulier le cloud public. Dans un cloud public, les clients partagent en effet une infrastructure matérielle sous-jacente commune (définition du multitenant). Cet environnement « physique » commun implique une isolation logique (c’est-à-dire logicielle) rigoureuse entre les clients. Dit autrement, plusieurs clients sur un même serveur ne doivent pas pouvoir accéder à l’instance de leurs voisins.
Des entreprises liées par des obligations réglementaires ou de gouvernance stricte hésitent encore à placer des données ou des workloads dans le cloud public. Cependant, cette résistance s’estompe, car l’isolation logique s’est avérée fiable grâce à l’efficacité de la virtualisation. L’ajout du chiffrement des données (en transit et en repos) et de divers outils de gestion des identités et des accès (IAM) a également amélioré la sécurité du cloud public.
À noter que les décideurs et les acheteurs métiers ont tendance à confondre la sécurité et la confidentialité. La sécurité consiste à se défendre d’une intrusion extérieure. La confidentialité consiste à s’assurer que le prestataire cloud n’utilisera pas les données de l’entreprise – notamment les plus sensibles – que ce soit pour les monétiser ou pour les transmettre à un tiers, suite à une quelconque forme de pression (légale ou politique).
Histoire du cloud computing
Dans les années 1950, les entreprises ont commencé à utiliser de gros ordinateurs centraux (des mainframes) très coûteux. À la fin des années 1950 et au début des années 1960, un processus appelé « Time Sharing » a été mis au point pour utiliser plus efficacement le temps de processeur en le mutualisant.
Le partage du temps permettait d’accéder simultanément à des instances de mainframes, ce qui maximisait la puissance de traitement et minimisait les temps d’interruptions. Cette idée représente la première mise en œuvre de ressources IT partagées, fondement du cloud computing moderne.
Dans les années 1970, le cloud a commencé à prendre une forme plus tangible avec l’introduction des premières machines virtuelles (VM). La virtualisation permet de « découper » une seule installation physique en plusieurs installations virtuelles (plus petites). Le but est d’exécuter plusieurs systèmes informatiques les uns à côté des autres sur une seule machine plutôt que d’avoir à acheter plusieurs machines (et d’avoir en plus des machines sous-utilisées).
La virtualisation a eu une influence déterminante sur la naissance et l’avènement du cloud computing. L’avènement de Linux, un OS pour serveur gratuit conçu pour partager des contenus et qui s’adapte très bien aux offres en ligne, puisqu’il n’y a plus de licence à payer par utilisateur, a également favorisé le cloud.
Le cloud a ensuite connu une accélération en 1999, année où Salesforce est devenue la première entreprise à fournir des applications métiers entièrement à partir « d’un site Web. », première incarnation B2B du SaaS (que Salesforce appelle « no software », pour « pas de logiciel [à installer] »).
Autre étape historique majeure, en 2006, le marchand Amazon décide de se diversifier. Il crée une filiale qui commercialisera les savoir-faire qu’il a acquis et les outils qu’il a créés en interne pour gérer l’infrastructure à très grande échelle sur laquelle s’appuient son site et ses boutiques. Cette filiale IT B2B est baptisée AWS pour Amazon Web Services. La petite révolution d’AWS est de proposer des services de stockage et de calcul (IaaS). Devant le succès de l’offre, d’autres géants du Web (comme Google) ou du logiciel (comme Microsoft) lui ont emboîté le pas.
Depuis, quasiment tous les éditeurs proposent des versions « clouds » de leurs offres, souvent en s’appuyant sur les services de ces trois pionniers du cloud moderne.
Évolutions des technologies cloud et services émergents
La concurrence est forte dans le cloud. Les fournisseurs étendent continuellement leurs services (c’est-à-dire les outils qu’ils proposent à la demande) pour se différencier.
Dans le IaaS, les acteurs proposent aujourd’hui bien plus que des instances de calcul et de stockage. Un des services émergents le plus en vue est le « serverless » (souvent traduit abusivement par « sans serveur »).
Historiquement, un déploiement dans le cloud nécessite de provisionner une instance de calcul – ce qui implique d’en déterminer la taille et la puissance en amont. Le client peut ensuite déterminer une durée d’exécution et/ou un plafond de coût. S’il atteint une limite (de puissance, de disponibilité à cause d’une forte demande ou de prix), le client peut modifier ses choix initiaux.
Avec le « serverless », un client ne s’occupe plus de cette partie. Il héberge juste son code ou ses données. Et c’est le fournisseur de cloud qui se charge d’exécuter ce code et de provisionner à la volée (à la hausse ou à la baisse) les instances en fonction de la charge de travail et de la demande réelle pour le code du client. Un e-commerçant par exemple n’a plus à se préoccuper de savoir si ses instances IaaS doivent être augmentées en prévision des soldes. Si la demande augmente, le « serverless » augmentera automatiquement ses instances sans qu’il n’ait rien à faire.
Autre évolution dans le IaaS, les conteneurs sont devenus une nouvelle forme de virtualisation clef du cloud sous l’influence des microservices.
Dans le domaine du PaaS, le cloud public se prête particulièrement bien au Big Data, qui exige d’énormes ressources de calcul souvent pour des durées relativement courtes. Les fournisseurs de cloud l’ont bien compris et proposent des services Big Data, comme le très populaire BigQuery de Google.
Toujours dans le PaaS, l’intelligence artificielle (IA) et le « machine learning » sont d’autres exemples de services cloud émergents. Les principaux fournisseurs (Google, AWS, Azure en tête) ont en catalogue des services cloud « clefs en main » d’IA, préentraînés, à appliquer sur les données ou sur les contenus des clients (NLP, reconnaissance d’image, traduction, transcription).
Ces services commencent à irriguer les applications SaaS (scoring des leads, OCR intelligent dans le traitement des factures, etc.).