dimanche 31 mars 2024

Concernant le "Cloud" ...

Le terme "Cloud", abréviation pour "Cloud Computing" ("Informatique en nuage" en français), est devenu courant dans le langage quotidien, en particulier dans les domaines technologiques et professionnels. Véritable révolution technologique du XXIème siècle, le Cloud désigne l'utilisation de serveurs distants, accessibles via Internet, pour stocker, gérer et traiter des données, plutôt que d'utiliser un serveur local ou un ordinateur personnel.

Cette technologie permet aux utilisateurs de bénéficier de ressources informatiques à la demande, d'accéder à leurs données depuis n'importe où et de réduire les coûts liés à la maintenance d'infrastructures informatiques. En abolissant les frontières physiques des serveurs traditionnels, le Cloud offre une flexibilité sans précédent, permettant aux entreprises et aux individus d'évoluer avec agilité dans un monde de données en constante expansion.

L'accès à des infrastructures puissantes et évoluées devient ainsi possible à tous, réduisant les coûts et accélérant le développement. Toutefois, cette avancée technologique soulève des questions cruciales, notamment en matière de sécurité et de confidentialité des données.

Ce petit article se propose d'exposer les tenants et aboutissants du Cloud Computing, en décrivant son architecture, ses avantages, ses défis, son avenir et les opportunités de carrières qu'il offre.

I. Avant tout, reprécisons bien ce qu'est le Cloud

Comme on vient de le voir, le terme Cloud est utilisé comme raccourci, pour désigner l'informatique en nuage (Cloud Computing): une manière plus informelle de désigner la fourniture de services informatiques via Internet, permettant aux utilisateurs d'accéder à des ressources telles que le stockage de données, les serveurs, les logiciels et cela sans avoir besoin d'infrastructures physiques locales.

Dit autrement, le Cloud (Cloud Computing) est la disponibilité à la demande de ressources informatiques, en tant que Services ou Applications sur Internet. C'est le moyen donné aux entreprises d'éviter d'investir dans l'achat et l'administration (configuration, maintenance) de coûteux systèmes informatiques et de ne devoir payer que pour les ressources qu'elles utilisent effectivement.

II. Architecture du Cloud
L'Architecture Cloud fait référence à la manière dont les divers composants (matériel, logiciel, réseau) de la Technologie Cloud fonctionnent et interagissent entre eux, pour mettre en place des environnements de Cloud Computing. Elle se décompose en un certain nombre de couches (cf. figure ci-dessous), dont la compréhension des fonctionnalités respectives est relativement simple.
Dans l'Architecture Cloud, les deux couches principales à prendre en compte ont pour noms respectivement "Backend" et "Frontend" (cf. figure ci-dessus, partie gauche):
  • Backend (côté Cloud ou côté Serveur) Le Backend est la couche qui gère l'ensemble des ressources (matériels et logiciels), permettant de fournir des Solutions Cloud (Applications ou Services) accessibles via Internet. Il est généralement situé sur des serveurs distants dans le Cloud, d'où sa qualification de "côté Cloud" (ou "côté Serveur") de la Solution Cloud fournie. Le Backend est responsable du traitement des requêtes formulées par l'utilisateur, de l'interrogation des bases de données, du traitement (aspects logique et calculs) des données et de la gestion globale de celles-ci (notamment les aspects sécurité et intégrité). Le développement d'une structure Backend implique généralement de travailler avec des langages de programmation côté serveur tels que Python, Ruby, Java ou PHP, des Frameworks Web tels que Spring Boot ou Django, ainsi qu'avec des systèmes de gestion de bases de données tels que MySQL, PostgreSQL ou MongoDB.
  • Frontend (côté Client) Le Frontend est la partie visible de l'application avec laquelle les utilisateurs interagissent directement. Il est généralement exécuté sur le terminal de l'utilisateur (ordinateur, tablette ou smartphone), le plus généralement au moyen d'un navigateur Web, d'où sa qualification de "côté Client" de la Solution Cloud fournie. Le Frontend est responsable de l'affichage des informations pour l'utilisateur et de la fourniture d'une interface utilisateur permettant d'interagir avec la solution fournie (envoi vers le Backend de requêtes formulées par l'utilisateur). Le développement d'une structure Frontend implique généralement de travailler avec des langages de programmation tels que HTML, CSS et JavaScript, des Frameworks Web tels que React ou Angular, ainsi que des bibliothèques de composants tels que Bootstrap ou Material Design.
Ces deux couches Backend et Frontend sont interdépendantes: le Frontend est ce que l'utilisateur voit et avec lequel il interagit, tandis que le Backend est la partie de la solution qui gère la logique et le traitement des données. Ces deux couches sont absolument fondamentales pour mettre en place une solution Web complète. La communication entre elles se réalise le plus souvent via API (Application Programming Interface ou Interface de Programmation d'Application) et en traversant une troisième couche: la Couche Réseau.

Examinons à présent, de façon plus précise, la structure interne de la partie Backend. Celle-ci se décompose à son tour en trois couches (ou sous-couches) qui sont les suivantes (cf. figure ci-dessus, partie de droite):
  • Infrastructure La couche Infrastructure fait référence à l'ensemble des composants matériels et logiciels nécessaires pour prendre en charge les Solutions Cloud. Elle fournit les ressources de base sur lesquelles les autres couches du Cloud s'appuient. Ces ressources, le plus souvent disséminées sur plusieurs Data Centers interconnectés entre eux, sont notamment les suivantes:
    • Puissance de calcul - Pouvant atteindre des valeurs exprimées en "Petaflops" (1), notamment pour pouvoir prendre en compte des traitements de type "Machine Learning" (Intelligence Artificielle).
    • Capacités de stockage - Adaptables aux besoins variés des Applications Cloud. Capables d'accueillir des volumes gigantesques de données, souvent exprimés en "Zettaoctets" (2), notamment dans le cas de solutions de type "Big Data".
    • Réseaux - Composants tels que routeurs, commutateurs et pares-feux. Conçus pour être flexibles, hautement disponibles et capables de s'adapter à la demande (changement de configuration dynamique).
    • Gestion des ressources - Outils utilisés pour allouer, surveiller et optimiser l'utilisation des ressources, garantissant ainsi une efficacité opérationnelle maximale.
    • Sécurité - Priorité majeure pour l'Infrastructure Cloud, basée sur l'authentification, l'autorisation, le chiffrement, la surveillance des menaces et la protection contre les attaques.
    • Redondance et tolérance aux pannes - Mécanismes de redondance et de tolérance aux pannes pour assurer une disponibilité élevée des services (24*7), même en cas de défaillance matérielle.
Dans la mesure où l'Architecture Cloud vise à offrir une flexibilité, une évolutivité et une efficacité opérationnelle maximales, cette couche Infrastructure y joue un rôle central.
  • Virtualisation La couche Virtualisation est la pierre angulaire de l'Architecture Cloud. Elle permet de créer des machines virtuelles (VM) à partir de ressources physiques partagées, ce qui permet aux entreprises d'optimiser l'utilisation de leurs ressources. Son composant central est l'Hyperviseur, lequel est responsable de la gestion des ressources physiques telles que les processeurs, la mémoire, le stockage et le réseau. Il alloue ces ressources aux VM, en fonction des besoins de chacune d'elles. Les VM sont des "systèmes informatiques" complets, qui fonctionnent comme s'ils étaient installés sur un ordinateur physique dédié. Elles contiennent leur propre système d'exploitation, leurs propres applications et leurs propres données. Les utilisateurs peuvent démarrer, arrêter, suspendre, reconfigurer et "restaurer" (processus de récupération des données à partir d'une sauvegarde, en cas de perte ou de corruption des données originales) leurs VM à leur guise (3). Une VM se verra assigner un réseau virtuel (VN), sorte de réseau logique créé sur l'Infrastructure Cloud. Un VN a les fonctionnalités d'un réseau physique, avec ses propres adresses IP, etc. Une VM se verra également assigner un système de stockage virtuel (VSS), sorte de système de stockage logique créé sur l'Infrastructure Cloud. Un VSS a les fonctionnalités d'un système de stockage physique, avec ses propres volumes, ses partitions et ses règles de sécurité. Ainsi définie, la couche Virtualisation offre de nombreux avantages, notamment:
    • Une plus grande efficacité des ressources: Partage des ressources physiques entre plusieurs VM, permettant d'optimiser l'utilisation de ces mêmes ressources et de réduire les coûts informatiques.
    • Une plus grande flexibilité: Configuration des VM sur mesure pour répondre aux besoins spécifiques de chaque application, permettant aux entreprises d'adapter leur infrastructure informatique à leurs besoins changeants.
    • Une plus grande résilience: Création de VM redondantes ou de "backup", permettant aux entreprises de garantir la disponibilité de leurs applications en cas de panne matérielle.
  • Applications et Services La couche Applications et Services joue elle-aussi un rôle central, en offrant des fonctionnalités accessibles aux utilisateurs finaux. Elle représente le niveau le plus proche des utilisateurs et comprend les applications spécifiques, ainsi que les services qui les soutiennent. Les Applications Cloud peuvent être développées en interne ou achetées auprès de fournisseurs de logiciels. Elles peuvent inclure des outils de productivité, des logiciels de gestion, des plateformes de communication, etc. L'avantage clé réside dans leur facilité d'accès depuis n'importe quel dispositif connecté à Internet, éliminant ainsi les contraintes liées à l'emplacement physique. Les Services Cloud, également appelés Services Cloud Computing, fournissent des fonctionnalités spécifiques à travers le Cloud. Ces services peuvent être regroupés en trois catégories principales (IaaS, PaaS et SaaS), chacune avec un niveau différent d'abstraction permettant aux utilisateurs de choisir le degré de contrôle souhaité sur l'infrastructure sous-jacente (cf. figure ci-dessous, où la partie en bleu désigne ce qui est de la responsabilité du client et la partie en orange/noir ce qui est de celle du fournisseur de la plateforme Cloud):
    • IaaS (Infrastructure as a Service)
      • Description: Fourniture d'infrastructures informatiques en tant que Service. Le prestataire de service IaaS met à la disposition de l'utilisateur, dans une machine virtuelle, des ressources informatiques de base telles que serveurs, stockage et réseau (cf. ci-dessus, à gauche, partie orange). Il en garantit la maintenance (mises à jour, etc.).
      • Responsabilité de l'utilisateur: Les utilisateurs d'IaaS sont responsables de la gestion et de la maintenance du système d'exploitation, des applications, des données et des configurations. Ils sont responsables de la gestion et de l'exploitation de ces ressources. L'infrastructure sous-jacente est gérée par le prestataire de services IaaS.
      • Principaux prestataires: En 2023, les principaux prestataires de service IaaS étaient Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP) et IBM Cloud Infrastructure Center (4). Ils représentaient ensemble plus de 70 % du marché mondial de l'IaaS.
  • PaaS (Platform as a Service)
    • Description: Fourniture d'une plateforme de développement et d'exécution d'applications en tant que Service. Le prestataire de service PaaS met à la disposition des utilisateurs, dans une machine virtuelle, une plateforme complète pour développer, exécuter et déployer des applications, sans se soucier de l'infrastructure sous-jacente (cf. ci-dessus, au centre, partie orange).
    • Responsabilité de l'utilisateur: Les utilisateurs PaaS se concentrent sur le développement d'applications (codage, intégration, tests, déploiement et documentation) et la gestion des données, tandis que le prestataire du service héberge, gère et maintient tout le matériel et les logiciels inclus dans la plateforme. 
    • Principaux prestataires: Microsoft Azure App Service, Google App Engine, Heroku, AWS Elastic Beanstalk, IBM Cloud Foundry, Red Hat OpenShift, Oracle Cloud Platform, Salesforce Lightning Platform et SAP Cloud Platform.
  • SaaS (Software as a Service)
    • Description: Fourniture de logiciels en tant que Service. Le prestataire de service SaaS met à la disposition de l'utilisateur des applications logicielles prêtes à l'emploi et entièrement hébergées dans le Cloud. Les utilisateurs n'ont besoin que d'un navigateur Web pour accéder directement à ces applications.
    • Responsabilité de l'utilisateur: Les utilisateurs accèdent à l'application sans se soucier de l'infrastructure sous-jacente, laquelle est du ressort du prestataire: maintenance du matériel et des logiciels du serveur, gestion de l'accès et de la sécurité des utilisateurs, stockage et gestion des données, installation des mises à niveau et des correctifs (cf. ci-dessus, à droite, partie orange).
    • Principaux prestataires: IBM Cloud Pak, Microsoft 365 (Word, Excel, PowerPoint, Exchange Online, Teams), Google Workspace (Gmail, Google Drive, Google Docs, Sheets, Slides, et d'autres outils), Amazon Web Services (Amazon S3 pour le stockage de données, Amazon RDS pour les bases de données, et Amazon WorkSpaces pour les postes de travail virtuels), Adobe Creative Cloud (Photoshop, Illustrator, Premiere Pro) (5).
Voici quelques exemples significatifs d'utilisation de chacun de ces trois services:

  • Exemples IaaS

L'IaaS est souvent utilisé pour des applications critiques ou à forte demande, telles que les sites Web ou les applications de commerce électronique. 

Un bon exemple est celui de Netflix qui utilise AWS pour héberger son service de streaming vidéo. AWS fournit à Netflix la capacité de calcul, de stockage et de réseau nécessaire pour gérer son contenu vidéo à échelle mondiale.

Spotify procède de même, cette fois-ci avec GCP (Google Cloud Platform), pour son service de streaming de musique. 

Autres exemples d'utilisation d'IaaS: Test de nouveaux systèmes d'exploitation (changement de version), Backup de systèmes (en cas de sinistre ou autre chez un client), Hébergement de sites Web et d'applications, Stockage de données (Big Data), Analyse de données (Big Data) et Fourniture de très forte puissance de calcul (Intelligence Artificielle et Machine Learning).

  • Exemples PaaS

Le PaaS est souvent utilisé pour le développement et le déploiement d'applications Web et Mobiles. C'est ainsi que GCP (Google Cloud Platform) fournit la plateforme App Engine, qui permet aux développeurs de créer et de déployer des applications Web et Mobiles sans avoir à se soucier de l'infrastructure sous-jacente.

Une "start-up" pourra, par exemple, utiliser le PaaS pour développer son application Mobile, sans avoir à gérer le déploiement et la maintenance de l'infrastructure nécessaire. Une banque pourra faire de même, pour ses applications Web.

Autres domaines d'utilisation du PaaS: Développement, Tests, Déploiement et Gestion d'applications diverses par les entreprises, Analyse de données et Machine Learning. 

  • Exemples SaaS

Le SaaS est souvent utilisé pour les applications de productivité, de collaboration et de gestion. C'est ainsi que Microsoft 365 fournit une suite d'applications SaaS qui incluent Office 365, OneDrive, SharePoint et Teams.

Autres cas d'utilisation du SaaS: Mise à disposition des utilisateurs de Logiciels de type Gestion des ressources humaines, Gestion des relations clients (CRM), Gestion de la paie, Gestion de la comptabilité, Gestion de la chaîne d'approvisionnement et autres. 

Nota Bene: Aujourd’hui, quiconque à partir d'un simple téléphone portable utilise, sans forcément le savoir, un service SaaS. Les solutions de courrier électronique (Gmail, Outlook, ...), de réseaux sociaux et de stockage de fichiers dans le Cloud (OneDrive, Dropbox, Google Drive, ...) sont des exemples d'applications SaaS que les gens utilisent quotidiennement dans leur vie personnelle.

En résumé, IaaS offre une infrastructure de base, PaaS fournit une plateforme pour le développement d'applications et SaaS offre des applications logicielles prêtes à l'emploi ("Ready to go"). Le niveau de contrôle et de responsabilité varie entre ces trois modèles, avec une augmentation de la simplicité et une diminution du contrôle à mesure que l'on passe de IaaS à SaaS.

III. Quatre modèles de déploiement pour le Cloud
Il existe quatre modèles différents de déploiement de Cloud Computing: Cloud Public, Cloud Privé, Cloud Hybride et Cloud Multicloud. Ils se rapportent à différents modèles d'implémentation et de déploiement des Services Cloud.
Voici les principales caractéristiques de chacun de ces quatre modèles:
  • Cloud Privé
    • Définition: Le Cloud Privé est dédié à une seule organisation. Il peut être hébergé sur site ou géré par un prestataire de services externe, mais son accès est limité aux seuls utilisateurs autorisés de cette organisation.
    • Contrôle: L'organisation a un contrôle total sur le Cloud Privé, ce qui permet une personnalisation approfondie en fonction des besoins spécifiques.
    • Sécurité: L'organisation a le contrôle total des politiques de sécurité, permettant un niveau élevé de sécurité.
  • Cloud Public
    • Définition: Le Cloud Public est accessible au grand public via Internet. Les ressources informatiques sont gérées par un fournisseur de Services Cloud et sont partagées entre plusieurs utilisateurs et organisations. Les utilisateurs paient généralement pour l'utilisation des ressources sur une base d'abonnement ou de consommation.
    • Évolutivité: Le Cloud Public est évolutif et flexible, permettant d'ajuster rapidement les ressources en fonction des besoins fluctuants.
  • Cloud Hybride
    • DéfinitionLe Cloud Hybride combine à la fois des environnements de Cloud Public et Cloud Privé. Il permet le déplacement de données et d'applications entre ces environnements de manière transparente.
    • Intégration: L'intégration entre les composants du Cloud Public et du Cloud Privé est essentielle dans un modèle hybride. Cela peut être réalisé via des technologies telles que les VPN (réseaux privés virtuels) et des solutions d'orchestration (6).
    • Flexibilité: Les entreprises utilisent le Cloud Hybride pour profiter des avantages de l'évolutivité et de la flexibilité du Cloud Public, tout en conservant le contrôle et la sécurité d'un environnement privé.
  • Cloud Multicloud 
    • Définition : Un environnement Multicloud utilise des services de plusieurs fournisseurs de Clouds, ceux-ci pouvant être de type Privé, Public ou Hybride. Ainsi une organisation pourra opter pour le service PaaS d'un fournisseur de Cloud Public, tout en utilisant le service SaaS d'un autre fournisseur de Cloud Public ou Hybride. 
      L'objectif du Cloud Multicloud est souvent de tirer parti des forces spécifiques de chaque fournisseur, d'optimiser les coûts et de répondre aux besoins diversifiés des différentes applications ou services.
    • Diversification: Un Cloud Multicloud évite la dépendance à l'égard d'un seul fournisseur et permet de choisir les services les plus adaptés, voire même les moins onéreux, à chaque application.
    • Complexité: Un Cloud Multicloud peut entraîner une gestion plus complexe en raison de la coordination entre plusieurs types de fournisseurs.
Cela étant posé, voici les principales différences entres ces quatre types de Cloud:
  • Contrôle: Le Cloud Privé offre un contrôle maximal, tandis que le Cloud Public implique un partage des ressources avec d'autres organisations.
  • Sécurité: Le Cloud Privé offre généralement un niveau de sécurité plus élevé, mais cela dépend également de la mise en œuvre spécifique.
  • Flexibilité: Le Cloud Hybride et le Cloud Multicloud offrent une plus grande flexibilité en permettant le déploiement de charges de travail, là où elles sont les plus appropriées.
  • Coût: Un Cloud Public est souvent plus économique pour des charges de travail variables, tandis que le Cloud Privé peut être plus coûteux en raison de l'investissement initial dans l'infrastructure. Un Cloud Multicloud, utilisant plusieurs fournisseurs de Cloud, permet de tirer parti des différents modèles de tarification et des offres promotionnelles.
Chaque modèle de Cloud a ses avantages et inconvénients. Le choix dépend donc des besoins spécifiques, des exigences de sécurité et de la flexibilité nécessaire pour les charges de travail de l'organisation. Ainsi:
  • Si cette organisation a besoin d'une sécurité et d'une conformité strictes, le Cloud Privé peut être une bonne option. Néanmoins, il peut être moins flexible que le Cloud Public.
  • Si elle a besoin d'une grande flexibilité et d'une grande résilience, le Cloud Multicloud peut être une bonne option. Cependant, il peut également être plus complexe à gérer, et les entreprises doivent prendre des mesures pour garantir la sécurité et la conformité de leurs données.
  • En général, le Cloud Hybride est un bon choix en cas de besoins variés en matière de sécurité, de conformité, d'évolutivité et de flexibilité.
IV. Avantages du Cloud

Le Cloud Computing, technologie en constante évolution, présente, pour les entreprises et les utilisateurs individuels, de nombreux avantages. Ceux-ci ont été soulignés dans tout ce qui précède, mais il est bon d'en rappeler les principaux:
  • Évolutivité et Flexibilité: Les Services Cloud permettent de faire évoluer rapidement les ressources informatiques en fonction des besoins, que ce soit pour augmenter ou réduire la capacité.
  • Coût: Le Cloud Computing permet de réduire les coûts liés à l'achat, à la maintenance et à la gestion de matériel informatique. En effet, les utilisateurs ne paient que pour les ressources qu'ils consomment.
  • Accès à distance: Les utilisateurs peuvent accéder aux Services Cloud depuis n'importe quel endroit, tant qu'ils disposent d'une connexion Internet, ce qui favorise la mobilité et le travail à distance.
  • Mise à jour automatique: Les fournisseurs de Services Cloud assurent la maintenance, les mises à jour logicielles et la gestion de la sécurité, ce qui permet aux utilisateurs de se concentrer sur leurs activités principales sans se soucier de ces aspects.
  • Sécurité: De nombreux fournisseurs de Services Cloud mettent en place des mesures de sécurité avancées, telles que le chiffrement des données, la surveillance en temps réel et l'authentification multi-facteurs, ce qui renforce la sécurité des informations stockées et traitées dans le Cloud.
  • Collaboration efficace: Les Services Cloud facilitent la collaboration entre les équipes réparties géographiquement, en offrant un accès partagé aux documents et aux applications.
  • Économie d'énergie: En utilisant des ressources partagées sur des serveurs virtuels, le Cloud Computing peut contribuer à une utilisation plus efficace de l'énergie par rapport aux infrastructures informatiques traditionnelles.
  • Récupération après sinistre: Les Services Cloud offrent souvent des solutions de sauvegarde et de récupération (après sinistre) automatiques, ce qui garantit la continuité des activités même en cas de catastrophe.
  • Innovation rapide: Les entreprises peuvent rapidement expérimenter de nouvelles idées et déployer des applications innovantes en utilisant les Services Cloud, ce qui accélère le cycle de développement.
  • Élimination des contraintes géographiques: Le Cloud Computing permet aux entreprises d'étendre leur présence mondiale, sans avoir à investir dans des infrastructures physiques dans chaque région.
En résumé, le Cloud Computing offre une solution souple, rentable et évolutive pour répondre aux besoins en constante évolution des entreprises et des utilisateurs.
V. Défis et préoccupations
Malgré les nombreux avantages du Cloud Computing qui viennent d'être détaillés, son adoption n'est pas sans soulever différents défis et préoccupations. Citons notamment les suivants:
  • Sécurité des données: La sécurité est l'une des principales préoccupations. Les données stockées dans le Cloud peuvent être vulnérables aux attaques, au piratage et aux fuites. Les entreprises sont souvent préoccupées par la confidentialité et la protection de leurs informations sensibles.
  • Conformité réglementaire: Certains secteurs sont soumis à des réglementations strictes, en matière de protection des données et de confidentialité. Les entreprises utilisant des Services Cloud doivent s'assurer que leurs pratiques sont conformes aux normes et réglementations en vigueur.
  • Disponibilité et temps d'arrêt: Bien que les fournisseurs de Services Cloud s'efforcent de garantir une disponibilité élevée, il existe toujours un risque de temps d'arrêt en raison de pannes techniques, de problèmes de connectivité ou d'autres incidents.
  • Intégration et migration: La transition vers le Cloud peut être complexe, en particulier pour les grandes entreprises avec des systèmes déjà existants. L'intégration des Services Cloud avec les applications et les infrastructures existantes peut donc poser des défis techniques et organisationnels.
  • Gestion des coûts: Bien que le Cloud Computing offre des économies potentielles, une mauvaise gestion des ressources peut entraîner des coûts inattendus. Il est donc essentiel de surveiller et d'optimiser l'utilisation des ressources Cloud, pour éviter des dépenses excessives.
  • Dépendance au fournisseur: Les entreprises qui déplacent leurs opérations vers le Cloud deviennent dépendantes de leurs fournisseurs de services. Des problèmes tels que des changements dans les conditions de service ou la faillite d'un fournisseur peuvent avoir des implications significatives.
  • Protection contre la perte de données: En cas de suppression accidentelle de données ou de défaillance du fournisseur, la récupération des données peut être complexe. Il est crucial d'établir des politiques de sauvegarde et de récupération robustes.
  • Questions de confidentialité: L'utilisation du Cloud implique souvent le stockage de données sur des serveurs partagés. Certains utilisateurs peuvent être préoccupés par la confidentialité de leurs informations lorsqu'elles sont stockées "aux côtés" de celles d'autres utilisateurs.
  • Gestion des identités et des accès: Assurer une gestion efficace des identités et des accès aux Services Cloud est essentiel, pour prévenir les accès non autorisés et garantir la sécurité des données.
  • Bande passante et latence: Les performances peuvent être affectées par la bande passante et la latence, en particulier lorsque les utilisateurs accèdent à des applications ou des données hébergées dans des centres de données distants.
La prise en compte de ces défis et préoccupations est cruciale pour maximiser les avantages du Cloud Computing, tout en minimisant les risques potentiels. Une planification attentive, une gestion appropriée et une collaboration avec des fournisseurs de confiance peuvent contribuer à atténuer ces problèmes.

VI. Marché du Cloud
Le marché du Cloud Computing est en pleine croissance, tant dans le monde qu'en France. En 2022, le marché mondial du Cloud Computing a atteint un chiffre d'affaires de 545,8 milliards de dollars, en progression de 20,7 % par rapport à 2021. Selon les estimations de l'International Data Corporation (IDC), il devrait continuer à croître à un rythme soutenu au cours des prochaines années. On estime qu'il pourrait atteindre 1 350 milliards de dollars en 2027, soit une croissance annuelle moyenne de 19,9 %.

Le segment du SaaS est le plus dynamique, avec une croissance annuelle moyenne de 24,3 % entre 2022 et 2027. Celui du PaaS devrait également connaître une croissance rapide, avec une croissance annuelle moyenne de 23,3 %. Quant au troisième, l'IaaS, il devrait connaître une croissance plus modérée, avec une croissance annuelle moyenne de 18,2 %.

Cette croissance est portée par plusieurs facteurs, notamment:
  • La transformation numérique des entreprises, qui les conduit à adopter des Solutions Cloud pour améliorer leur productivité, leur agilité et leur compétitivité.
  • L'émergence de nouvelles technologies, telles que l'Intelligence Artificielle (Machine Learning), la Réalité Virtuelle et la Réalité Virtuelle (7), qui nécessitent des Infrastructures Cloud particulièrement puissantes.
  • L'évolution des attentes des consommateurs, qui sont de plus en plus exigeants en matière de services et de retour d'expérience de la part d'utilisateurs.
  • La baisse des coûts du Cloud, qui le rend plus accessible à des entreprises de toute taille. 
Comme mentionné plus haut, le marché mondial du Cloud Computing a été dominé (2023) par quatre acteurs majeurs : Amazon Web Services (33,6 %), Microsoft Azure (21,1 %), Google Cloud Platform (10,5 %) et BM Cloud (4,2 %).

En France, le marché du Cloud Computing est également en forte croissance. En 2022, le chiffre d'affaires a atteint 15,9 milliards d'euros, en progression de 15,5 % par rapport à 2021. Selon le Cabinet Markess, il devrait atteindre 27,2 milliards d'euros en 2025, soit une croissance annuelle moyenne de 14 %. Cette croissance est portée par les mêmes facteurs que dans le reste du monde.
La France dispose en outre d'un environnement propice au développement du Cloud, avec une réglementation favorable et une forte présence de talents dans le secteur des technologies de l'Information. Le marché y est dominé par le même quatuor: AWS (34% des parts de marché), Microsoft Azure (21 %), Google Cloud Platform (11 %) et IBM Cloud (8 %). Les 26 % restants sont répartis principalement entre OVHcloud, Salesforce, SAP et Oracle Cloud.

VII. L'avenir du Cloud
Avec un marché en pleine croissance, porté par la transformation digitale des entreprises, l'avenir du Cloud est particulièrement prometteur. Des entreprises de toute taille l'adoptent pour répondre à leurs besoins informatiques, tant en termes de réduction des coûts que de gain de productivité.
Voici quelques tendances qui devraient façonner l'avenir du Cloud (Cloud Computing):
  • Croissance continue: La demande pour les Services Cloud devrait continuer de croître à mesure que de plus en plus d'entreprises déplacent leurs infrastructures et leurs applications vers le Cloud. Cette croissance est soutenue par tous les avantages évoqués plus haut: flexibilité, scalabilité, réduction des coûts opérationnels, etc.
  • Convergence avec l'Edge Computing: Le Cloud Computing et l'Edge Computing sont deux approches complémentaires du traitement des données. Contrairement au Cloud Computing, qui consiste à traiter les données dans des centres de données distants, l'Edge Computing les traite à la périphérie du réseau, c'est-à-dire à proximité de la source de ces mêmes données. Le Cloud Computing est idéal pour les applications qui nécessitent une grande puissance de calcul ou un stockage important, comme dans l'Intelligence Artificielle et le Big Data. L'Edge Computing est idéal pour les applications qui nécessitent une faible latence ou une disponibilité élevée, comme dans l'Internet des Objets (IoT) et les applications en temps réel. Cette convergence du Cloud et de l'Edge permettra aux entreprises de tirer parti des avantages de ces deux approches.
  • Intelligence Artificielle (IA) et Machine Learning (ML): L'IA et le ML sont de plus en plus intégrés aux Services Cloud, permettant des fonctionnalités avancées telles que la reconnaissance d'image, le traitement du langage naturel et l'analyse prédictive. On peut s'attendre à une augmentation de ces fonctionnalités intégrées dans les Services Cloud.
  • Sécurité renforcée: Avec une utilisation croissante du Cloud, la sécurité des données et des applications devient une priorité majeure. Les prestataires de Services Cloud investissent massivement dans des solutions de sécurité avancées pour protéger les données de leurs clients, telles que le chiffrement, la détection des menaces et l'authentification multi-facteurs.
  • Durabilité environnementale: La durabilité environnementale est devenue un enjeu important pour les entreprises qui utilisent le Cloud. Les prestataires de Services Cloud travaillent donc à rendre leurs opérations plus écologiques, en utilisant des technologies plus économes en énergie et en investissant dans des initiatives de développement durable.
  • Serverless Computing: La tendance du Serverless Computing (8), où les développeurs peuvent exécuter du code sans se soucier de l'infrastructure sous-jacente, gagne en popularité. Cela simplifie le processus de développement et permet une utilisation plus efficace des ressources.
  • Blockchain: Certains Services Cloud intègrent également la technologie Blockchain (9) pour renforcer la transparence, la sécurité et la gestion des transactions.
VIII. Perspectives de carrières

Un secteur en pleine croissance se traduit toujours par de nombreuses opportunités de carrière. C'est bien le cas du Cloud Computing qui offre différents types d'emplois dans tous les secteurs d'activité, des entreprises aux "start-ups", en passant par les administrations publiques et les organismes financiers.
Voici quelques-unes de ces opportunités de carrière:
  1. Architecte Cloud Profil du poste: Un Architecte Cloud est responsable de la conception et de la mise en œuvre de l'architecture technique d'une application ou d'un système informatique à héberger sur le Cloud. Il doit s'assurer que l'Infrastructure Cloud choisie est évolutive, fiable, sécurisée et rentable.
    Compétences requises: 
    Connaissance approfondie des technologies de Cloud Computing telles qu'AWS, Azure, IBM Cloud Infrastructure Center et Google Cloud Platform - Expérience en conception et en mise en œuvre d'architectures Cloud complexes - Connaissance des meilleures pratiques en matière de sécurité, de performance et de fiabilité du Cloud - Compétences en communication et en collaboration pour travailler avec les équipes de développement et d'exploitation - Capacité à comprendre les besoins commerciaux et à concevoir des Solutions Cloud adaptées.
  2. Ingénieur Cloud Profil du poste: Un Ingénieur Cloud est responsable de la mise en œuvre et de la gestion des Solutions Cloud. Il travaille en étroite collaboration avec l'Architecte Cloud pour concevoir et déployer l'Infrastructure Cloud. Il est responsable de la maintenance et de la surveillance des Systèmes Cloud.
    Compétences requises: 
    Connaissance approfondie des technologies de Cloud Computing telles qu'AWS, Azure, IBM Cloud Infrastructure Center  et Google Cloud Platform - Expérience en déploiement et en gestion d'Infrastructures Cloud - Compétences en "Scripting" (Python, JavaScript, Bash, PowerShell et Perl et en automatisation pour automatiser les tâches répétitives - Connaissance des meilleures pratiques en matière de sécurité, de performance et de fiabilité du Cloud - Capacité à diagnostiquer et à résoudre les problèmes techniques.
  3. Administrateur Cloud Profil du poste: Un Administrateur Cloud est responsable de la gestion quotidienne des Systèmes Cloud et en assure donc la maintenance, la surveillance et la sécurité. Il travaille en étroite collaboration avec l'Ingénieur Cloud, pour résoudre les problèmes techniques.
    Compétences requises: 
    Connaissance approfondie des technologies de Cloud Computing telles qu'AWS, Azure, IBM Cloud Infrastructure Center  et Google Cloud Platform - Expérience en gestion quotidienne des Systèmes Cloud - Compétences en surveillance et en maintenance des Systèmes Cloud - Connaissance des meilleures pratiques en matière de sécurité, de performance et de fiabilité du Cloud - Capacité à diagnostiquer et à résoudre les problèmes techniques.
  4. Gestionnaire de Projet Cloud
    Profil du poste: Un Gestionnaire de Projet Cloud est responsable de la planification, de la coordination et de la livraison de Projets Cloud. Il travaille en étroite collaboration avec l'Architecte Cloud, l'Ingénieur Cloud et les parties prenantes pour s'assurer que les projets sont livrés dans les délais et dans le budget imparti.
    Compétences requises: 
    Expérience en gestion de projets informatiques - Connaissance des technologies de Cloud Computing telles qu'AWS, Azure, IBM Cloud Infrastructure Center et Google Cloud Platform - Compétences en communication et en collaboration pour travailler avec les équipes techniques et les parties prenantes - Capacité à planifier, coordonner et livrer des Projets Cloud, dans les délais et dans le budget imparti - Connaissance des meilleures pratiques en matière de gestion de projet et de méthodologies "Agile" telles que Scrum, Kanban, Lean et XP (Extreme Programming).
  5. Développeur Cloud Profil du poste: Un Développeur Cloud est responsable de la création et de la maintenance des Applications Cloud. Il travaille en étroite collaboration avec l'Architecte Cloud et l'Ingénieur Cloud, pour s'assurer que les applications sont conçues et déployées conformément aux meilleures pratiques de l'Industrie.
    Compétences requises: Connaissance approfondie des langages de programmation tels que Python, Java et JavaScript - Expérience en développement d'Applications Cloud natives - Connaissance des technologies de Cloud Computing telles qu'AWS, Azure, IBM Cloud Infrastructure Center et Google Cloud Platform - Connaissance des meilleures pratiques en matière de sécurité, de performance et de fiabilité du Cloud. 
  6. Ingénieur en Sécurité Cloud Profil du poste: Un Ingénieur en Sécurité Cloud est responsable de la sécurité des Systèmes Cloud. Il travaille en étroite collaboration avec l'Architecte Cloud et l'Ingénieur Cloud, pour concevoir et mettre en œuvre des mesures de sécurité, telles que la protection contre les attaques DDoS (10), la gestion des identités et des accès, ainsi que la surveillance des menaces. Compétences requises: Connaissance approfondie des technologies de sécurité telles que la cryptographie, l'authentification et la gestion des identités - Expérience en conception et en mise en œuvre de mesures de sécurité pour les Systèmes Cloud - Connaissance des technologies de Cloud Computing telles qu'AWS, Azure, IBM Cloud Infrastructure Center et Google Cloud Platform - Connaissance des meilleures pratiques en matière de sécurité, de performance et de fiabilité du Cloud - Capacité à diagnostiquer et à résoudre les problèmes de sécurité. 
  7. Consultant Cloud Profil du poste: Un Consultant Cloud est un Expert en Cloud Computing qui travaille avec les entreprises, pour les aider à concevoir et à mettre en œuvre des Solutions Cloud. Il fournit des conseils et des recommandations sur les meilleures pratiques en matière de Cloud Computing, et aide les entreprises à optimiser leur utilisation des Services Cloud. Compétences requises: Connaissance approfondie des technologies de Cloud Computing telles qu'AWS, Azure et Google Cloud Platform - Expérience en conception et en mise en œuvre de Solutions Cloud pour les entreprises - Compétences en communication et en collaboration pour travailler avec les équipes techniques et les parties prenantes - Connaissance des meilleures pratiques en matière de sécurité, de performance et de fiabilité du Cloud - Capacité à comprendre les besoins commerciaux et à concevoir des Solutions Cloud adaptées.

Selon "Talent.com", les salaires moyens des professionnels du Cloud Computing en France, en 2024, devraient être les suivants:

Salaires dans le Cloud Computing
(montants annuels bruts)

Architecte Cloud

62 500 €

Ingénieur Cloud

52 500 €

Administrateur Cloud

55 000 €

Gestionnaire de Projet Cloud

70 000 €

Développeur Cloud

47 500 €

Ingénieur en Sécurité Cloud

50 000 €

Consultant Cloud

55 000 €


Ces salaires peuvent varier en fonction de l'expérience, de la région, de la taille de l'entreprise et du secteur d'activité. Par exemple, un Architecte Cloud expérimenté peut gagner jusqu'à 80 000 € bruts par an, tandis qu'un Développeur Cloud débutant peut gagner environ 40 000 € bruts par an.

Selon une étude de l'Association for Computing Machinery (ACM), la demande de professionnels qualifiés dans le Cloud Computing devrait augmenter de 22 % entre 2022 et 2031. Voila qui devrait intéresser nos jeunes étudiants ... et pas seulement eux !!!

Sources 

Qu'est-ce que le Cloud Computing ? (Vidéo)

Cliquer ICI

Qu'est-ce que l'Architecture Cloud ?

Cliquer ICI

IaaS, PaaS et SaaS

Cliquer ICI

Cloud Computing: quels sont les différents types ?

Cliquer ICI

Comment différencier l’Edge Computing du Cloud Computing

Cliquer ICI 

Lexique du Cloud Computing

Cliquer ICI

En France, le marché du Cloud en plein boom

Cliquer ICI

 
----------------------------------------------

(1) : La puissance de calcul d'un processeur est exprimée en nombre d'opérations en virgule flottante par seconde, les FLOPS (Floating Point Operations Per Second). Voici les unités de mesure les plus couramment utilisés:  

FLOPS (Floating Point Operations Per Second)

KiloFLOPS

KFLOPS

10FLOPS

1 000 FLOPS

MégaFLOPS

MFLOPS

10FLOPS

1 000 KFLOPS

GigaFLOPS

GFLOPS

10FLOPS

1 000 MFLOPS

TéraFLOPS

TFLOPS

1012 FLOPS

1 000 GFLOPS

PétaFLOPS

PFLOPS

1015 FLOPS

1 000 TFLOPS

ExaFLOPS

EFLOPS

1018 FLOPS

1 000 PFLOPS

ZettaFLOPS

ZFLOPS

1021 FLOPS

1 000 EFLOPS

YottaFLOPS

YFLOPS

1024 FLOPS

1 000 ZFLOPS


(2) : Concernent les volumes de données, les unités de mesure les plus courantes sont les suivantes:

Byte/Octet

B/o

N/A

N/A

Kilobytes/Kilooctets

KB/Ko

10B/o

1 000 B/o

Mégabytes/Mégaoctets

MB/Mo

10B/o

1 000 KB/Ko

Gigabytes/Gigaoctets

GB/Go

10B/o

1 000 MB/Mo

Térabytes/Téraoctets

TB/To

1012 B/o

1 000 GB/Go

Pétabytes/Pétaoctets

PB/Po

1015 B/o

1 000 TB/To

Exabytes/Exaoctets

EB/Eo

1018 B/o

1 000 PB/Po

Zettabytes/Zettaoctets

ZB/Zo

1021 B/o

1 000 EB/Eo

Yottabytes/Yottaoctets

YB/Yo

1024 B/o

1 000 ZB/Zo


(3) : A propos de VM, certains d'entre vous ont peu encore le souvenir nostalgique du "VM/370" d'une bien belle époque 😉. (4) : IBM Cloud Infrastructure Center est un logiciel avancé de gestion d'infrastructure (compatible OpenStack) qui comprend des déploiements Cloud sur site de machines virtuelles Linux basées sur IBM z/VM et KVM, le tout sur des plateformes IBM Z et IBM LinuxONE.
(5) : Citons également ServiceNow (plateforme SaaS pour l'automatisation et la gestion des services), Atlassian (solutions SaaS qui facilitent la gestion de projets, le suivi des problèmes, et le développement logiciel), Workday (solutions SaaS pour la gestion des talents, la paie, la planification financière, et plus encore), Zoom (leader dans les solutions de visioconférence et de communication en temps réel), Oracle NetSuite (solutions SaaS pour la gestion des finances, des ventes, des ressources humaines, et d'autres domaines). (6) : Les solutions d'orchestration sont des outils logiciels qui permettent d'automatiser et de gérer le déploiement, la configuration et la gestion de plusieurs applications et services sur des infrastructures informatiques complexes. Les solutions d'orchestration sont conçues pour aider les équipes informatiques à gérer les tâches répétitives et complexes associées à la gestion de l'infrastructure informatique, en automatisant les processus et en fournissant une vue d'ensemble de l'état de l'infrastructure.
(7) : La Réalité Virtuelle (RV) et la Réalité Augmentée (RA) sont deux technologies différentes qui offrent des expériences immersives aux utilisateurs, mais elles ont des approches différentes pour y parvenir.
  • La Réalité Virtuelle (RV) est une technologie qui crée un environnement virtuel complet et immersif pour l'utilisateur. Elle utilise un casque ou des lunettes spéciales pour bloquer la vue du monde réel et remplacer ce dernier par un environnement virtuel en 3D. Les utilisateurs peuvent interagir avec cet environnement virtuel en utilisant des contrôleurs ou des gants spéciaux, ce qui leur permet de se déplacer, de manipuler des objets virtuels et d'effectuer d'autres actions.
  • La Réalité Augmentée (RA), en revanche, ajoute des éléments virtuels à l'environnement réel de l'utilisateur. Elle utilise des appareils tels que smartphones, tablettes ou lunettes spéciales pour superposer des images, des vidéos, des animations ou d'autres informations virtuelles sur le monde réel. Les utilisateurs peuvent ainsi voir ces éléments virtuels comme s'ils faisaient partie de l'environnement réel, ce qui leur permet d'interagir avec eux de manière plus naturelle.

En résumé, la RV crée un environnement virtuel complet, tandis que la RA ajoute des éléments virtuels à l'environnement réel. Les deux technologies ont des applications différentes: la RV est souvent utilisée dans les jeux vidéo, la formation et la simulation, tandis que la RA est plus appropriée pour des domaines tels que la médecine, l'éducation, la vente au détail et la maintenance industrielle.

(8) : Le Serverless Computing est un modèle de Cloud Computing dans lequel les fournisseurs de Services Cloud gèrent l'infrastructure sous-jacente (y compris la mise à l'échelle, la disponibilité et la sécurité) de sorte que les développeurs peuvent se concentrer uniquement sur la création de code. Les applications sont découpées en petites fonctions qui s'exécutent en réponse à des événements déclencheurs (requêtes HTTP, modifications de base de données ou messages de file d'attente) et les fournisseurs de Services Cloud facturent les utilisateurs sur la base du nombre d'exécutions de ces fonctions et de la durée d'exécution.
(9) : Dans la technologie "Blockchain", les données sont stockées dans des blocs qui sont liés entre eux par des codes cryptographiques, formant ainsi une chaîne de blocs. Chaque bloc contient un ensemble de transactions, qui sont vérifiées et validées par un réseau de nœuds avant d'être ajoutées à la chaîne. Une fois qu'un bloc est ajouté à la chaîne, il ne peut plus être modifié, ce qui garantit l'intégrité et la transparence des données.
Cette technologie est connue pour être utilisée dans le domaine des cryptomonnaies telles que le Bitcoin et l'Ethereum.
(10) : Une attaque informatique DDoS (Distributed Denial of Service) vise à rendre indisponible un service ou une ressource en ligne, en submergeant le système cible de trafic provenant de multiples sources (ce qui peut entraîner une dégradation des performances, voire même une indisponibilité complète du service ciblé). Les attaques DDoS sont généralement effectuées à l'aide de réseaux de "robots", lesquels sont des ordinateurs infectés par des logiciels malveillants et contrôlés à distance par les "attaquants".