La Virtualisation Et Cloud Computing
La Virtualisation Et Cloud Computing
La Virtualisation Et Cloud Computing
La Virtualisation et Cloud
Computing
CFI-CIRAS
2022-2023
La Virtualisation et Cloud Computing
OBJECTIFS DU COURS
L'objectif de ce cours est de fournir aux étudiants les compétences à la fois théoriques et
pratiques dans le domaine des technologies de la virtualisation des systèmes d'information et
du cloud computing. Et d’une manière spécifique :
Afin d'atteindre notre objectif, nous avons investi de nombreux efforts pour aborder ce sujet
sous différentes perspectives. Nous avons condensé les informations les plus pertinentes en
nous appuyant sur diverses sources telles que des ouvrages, des notes de cours, des articles et
des sites internet. De plus, nous avons veillé à respecter le canevas officiel établi par le
ministère de l'Enseignement supérieur et de la Recherche scientifique.
Dans le but de rendre le cours plus attrayant, nous avons intégré des séances de travaux
pratiques (TP) qui visent à faciliter la mise en pratique des notions théoriques abordées dans
le cours. Cela permet aux étudiants d'acquérir une expérience concrète et facilite leur
compréhension des concepts étudiés.
Cependant, nous sommes conscients que ce document reste partiel, incomplet et non
exhaustif. C'est pourquoi nous nous engageons à le mettre à jour régulièrement afin d'enrichir
son contenu. Nous serions donc reconnaissants aux lecteurs de nous signaler toute erreur ou
de nous faire part de leurs suggestions afin d'améliorer le document.
PLAN DE COURS
INTRODUCTION
CHAPITRE I : VIRTUALISATION
1. Terminologie
2. Historique de la virtualisation
3. Définition et description de la virtualisation
4. Méthodologie de la virtualisation
5. Pourquoi la virtualisation ?
6. Contexte de la virtualisation
7. Technologie de la virtualisation
8. Différents types ou technique de la virtualisation
9. Différents domaines d’application de la virtualisation
10. Enjeux et les contraintes de la virtualisation
11. Différentes solutions de virtualisation
12. Green IT et Virtualisation
1. Introduction
2. Historique du Cloud Computing
3. Définition et description du Cloud Computing
4. Différentes couches du Cloud Computing
5. Modèles du Cloud Computing
6. Architecture de Cloud Computing sous forme pyramide
7. Enjeux du Cloud Computing
8. Différentes solutions du Cloud Computing
9. Avantages et inconvénients du Cloud Computing
10. Cloud Computing et Green IT
INTRODUCTION
L'évolution de l'informatique au cours des vingt dernières années a été phénoménale,
devenant quasiment indispensable pour chaque individu et essentielle pour les entreprises.
Parmi les technologies émergentes ayant un impact considérable, nous retrouvons les
ordinateurs personnels, les téléphones portables, les tablettes tactiles et les objets connectés.
Toutefois, c'est lorsque ces appareils sont connectés à internet que leur utilisation devient
réellement intéressante.
Cependant, l'accès à internet à haut débit varie selon les régions en raison des différences
d'infrastructures, de développement des marchés internet et de connexions mobiles. Par
exemple, en janvier 2016, la Chine comptait environ 680 millions d'utilisateurs d'internet,
tandis que les États-Unis en comptaient 282 millions.
Selon les prévisions de Cisco, la croissance du trafic mobile mondial devrait dépasser celle du
trafic fixe mondial par un facteur de trois entre 2014 et 2019, comme indiqué dans la Figure 2.
On estime qu'en 2019, il y aura plus de 5,2 milliards d'utilisateurs mobiles, représentant plus
de 69% de la population mondiale, contre 4,3 milliards en 2014, soit près de 59% de la
population mondiale.
Face à l'explosion des données présentes sur internet, il est devenu nécessaire de trouver des
solutions pour stocker et accéder à ces vastes quantités de données de manière simple. C'est là
que la virtualisation et le Cloud Computing interviennent depuis plusieurs années. Ces
solutions permettent de stocker d'énormes quantités de données et de les rendre accessibles à
un utilisateur, indépendamment de sa localisation ou de l'appareil qu'il utilise.
CHAPITRE I : VIRTUALISATION
1. Terminologie
1.1 Hyperviseur
Un hyperviseur est une plate-forme logicielle de virtualisation qui permet l'exécution
simultanée de plusieurs systèmes d'exploitation sur une même machine physique, synonyme :
gestionnaire de machines virtuelles. Il existe deux types d'hyperviseurs : bare-metal (type 1) et
hosted (type 2).
1.4 Virtuel
Dans le contexte de la virtualisation, le terme "virtuel" fait référence au portage ou à la
création d'un environnement système complet (système d'exploitation + applications) à
l'intérieur d'une machine virtuelle. Cela permet d'exécuter des systèmes d'exploitation et des
applications sur un matériel virtuel plutôt que sur un matériel physique.
2. Historique de la virtualisation
La virtualisation, contrairement à ce que pensent de nombreuses personnes, n’est pas née en
1999 avec la sortie du premier produit VMware. Ses débuts remontent à environ 40 ans sur la
plate-forme de super-ordinateurs (mainframe) d’IBM. À cette époque, les machines virtuelles
étaient appelées des pseudo-machines. À l’origine, l’ordinateur central utilisait le programme
de contrôle pour allouer des ressources et isoler les différentes instances des pseudo-machines
les unes des autres.
Ce concept de virtualisation qui n’est pas contemporain, comme pensent certains, elle n'est
pas non plus aujourd’hui un procédé novateur bien au contraire. C’est une technologie qui fut
développée au centre de recherche IBM France de Grenoble (aujourd'hui disparu), qui
développa le système expérimental CP/CMS, devenant ensuite le produit (alors nommé
hyperviseur) VM/CMS, proposé au catalogue dès 1972. Par la suite, les mainframes ont été
capables de virtualiser leurs OS avec des technologies spécifiques et propriétaires, à la fois
logicielles et matérielles. Les grands Unix ont suivi avec les architectures NUMA des
Superdome d'HP (PA-RISC et IA64) et des E10000/E15000 de Sun (UltraSparc).
Dans la seconde moitié des années 1990, les émulateurs sur x86 des vieilles machines des
années 1980 ont connu un énorme succès, notamment les ordinateurs Atari, Amiga, Amstrad
et les consoles NES, SNES, Neo Geo.
Ensuite ce fût le tour de la société VMware qui développa et popularisa une solution
propriétaire fin 90 et début 2000 se fût l'explosion des solutions de virtualisation sur des
architectures de type x86. La société VMware développa et popularisa au début des années
2000 un système propriétaire de virtualisation logicielle pour les architectures de type x86.
Les logiciels libres Xen, Qemu, Bochs, Linux-VServer et les logiciels propriétaires mais
gratuits VirtualPC et VirtualServer ont achevé la popularisation de la virtualisation dans le
monde x86. Cependant, les solutions envisageables sur architecture x86 sont longtemps restés
bridés par les spécificités de l'architecture x86 et surtout par son utilisation. En effet, cette
famille de processeurs (depuis le 80386) offre, pour l'écriture de systèmes, 4 niveaux de
privilèges, mais à priori tous les systèmes d'exploitation ont pris le parti de placer le système
au niveau le plus privilégié (ring 0), et les applications au niveau le plus faible (ring 3), sans
penser à se rendre plus indépendant des niveaux d'exécution.
(Sources : http://www.kerrighed.org)
4. Méthodologie de la virtualisation
La méthodologie de la virtualisation, vue sa définition elle est "formelle" elle fait référence à
l’abstraction physique des ressources informatiques. En d’autres termes, les ressources
physiques allouées à une machine virtuelle sont abstraites à partir de leurs équivalents
physiques. Les disques virtuels, interfaces réseau virtuelles, réseaux locaux virtuels,
commutateurs virtuels, processeurs virtuels et la mémoire virtuelle correspondent tous à des
ressources physiques sur des systèmes informatiques physiques. L’ordinateur hôte "voit" ses
machines virtuelles comme des applications auxquelles il dédie ou distribue ses ressources.
plus de restriction quant aux systèmes d’exploitation qu’on utilise. Les systèmes Windows
sont d’aussi bons candidats à la virtualisation que les systèmes Linux, Solaris ou autres. Les
services dont la charge est équilibrée entre plusieurs systèmes fonctionnent bien en
environnement.
5. Pourquoi la virtualisation ?
Une infrastructure virtuelle (VI - Virtual Infrastructure) présente des avantages bien réels et
extrêmement attractifs. Une conception orientée sur la VI résout un certain nombre de
problèmes, notamment en matière de gestion des conflits d’accès aux ressources, en matière
de sauvegarde et de restauration avec cohérence des applications et des données, et en matière
de limitation de l’impact de la prolifération des machines virtuelles. D'autres avantages
opérationnels sont identifiés :
6. Contexte de la virtualisation
En offrant un accès en tout lieu et en tout temps à l’espace de travail de l’utilisateur final, la
virtualisation promet d’accroître considérablement la souplesse, la sécurité et la conformité,
tout en réduisant les coûts de l’infrastructure informatique. Elle dépasse les limites en
permettant d’exécuter simultanément plusieurs systèmes d’exploitation et plusieurs
applications sur le même ordinateur, ce qui accroît l’utilisation et la flexibilité du matériel.
L’autonomie de chaque machine virtuelle rend la solution complètement transparente pour
l’utilisateur et toutes actions telles que redémarrage ou installation d’applications ne
perturbent pas le fonctionnement des autres machines virtuelles démarrés pour autant sur la
même ressource physique. Cette technologie mutualise les ressources et permet de faire un
regroupement de systèmes divers sur une machine physique unique (tout en les maintenant
logiquement séparés).
Exécution simultanée de plusieurs OS sur une même machine (mieux que le multiboot !).
Essai d’un système avant mise en exploitation (cassage et possibilité de recommencer sans
casser le système d'exploitation hôte).
7. Technologie de la virtualisation
La virtualisation devient de plus en plus la technologie dont on parle. Pas qu’un effet de mode
mais plutôt un véritable changement d’infrastructure et services réseau, une manière de
concevoir le système de gestion d’informations dans une architecture dématérialisée où
l’utilisateur interagit indirectement avec l’hyperviseur par l’intermédiaire de la machine
virtuelle. C’est à dire une d’abstraction de couche entre les logiciels et le matériel.
7.2 Hyperviseur
L'hyperviseur joue un rôle essentiel dans l'implémentation de la virtualisation en fournissant
les capacités nécessaires. Il agit comme un intermédiaire entre le système physique (hôte) et le
système virtualisé (invité). Pour assurer la virtualisation, l'hyperviseur nécessite l'installation
de différents composants sur le système hôte. De plus, les hyperviseurs offrent plusieurs
options pour les systèmes d'exploitation invités.
▪ Répartir ses propres ressources : Dans un second temps, l'hyperviseur agit comme
un chef d'orchestre en répartissant les ressources dont chaque VM a besoin, au bon
moment et dans les bonnes quantités (dans les limites prédéfinies). Il s'assure que
chaque VM dispose des ressources nécessaires pour fonctionner correctement.
Une analogie pertinente pour illustrer ce concept est celle d'un organisme vivant, tel
qu'un arbre, qui utilise les ressources disponibles (eau, nutriments) puisées du sol et
les répartit vers ses différentes branches en fonction de leurs besoins respectifs.
Hyperviseurs de type 2 : Ces hyperviseurs sont plus adaptés aux petites infrastructures. Ils
sont principalement utilisés lorsque vous disposez d'une seule machine et que vous souhaitez
effectuer des tests multiplateformes (applications, systèmes d'exploitation, communications,
etc.). Les hyperviseurs de type 2 s'exécutent sur un système d'exploitation hôte existant et
utilisent ses ressources pour la virtualisation. Ils sont plus simples à mettre en œuvre mais
peuvent avoir une légère surcharge en termes de performance et d'isolation.
Il est important de noter que ces deux types d'hyperviseurs correspondent à des utilisations
distinctes et ne sont donc pas interchangeables.
En échange cette solution permet de faire cohabiter plusieurs OS hétérogènes sur une même
machine grâce à une isolation complète. Les échanges entre les machines se font via les
canaux standards de communication entre systèmes d’exploitation (TCP/IP et autres
protocoles réseau).
8.1 Isolation
Dans la technique de la virtualisation, le cloisonnement est la pratique la plus répandue.
Derrière ce nom se cachent d’autre technologie visant à séparer un système en plusieurs
contextes ou environnements, chacun est régi par l'OS hôte, mais les programmes de chaque
contexte ne sont capables de communiquer qu'avec les processus et les ressources associées à
leur propre contexte. L’isolation, l’espace noyau n’est pas différencié, mais, unique, partagé
entre les différents contextes.
8.2 Paravirtualisation
La para virtualisation et la virtualisation complète tous les deux ont une similitude. Elles
s’appuient sur une couche hyperviseur, qui gère totalement l’interface avec les ressources
matérielles, et sur laquelle on peut installer différents systèmes d’exploitation.
Un para-virtualiseur est un noyau hôte allégé et optimisé pour ne faire tourner que des noyaux
de systèmes d'exploitation invités, adaptés et optimisés. Les applications en espace utilisateur
des systèmes d'exploitation invités tournent ainsi sur une pile de deux noyaux optimisés, les
systèmes d'exploitation invités ayant conscience d'être virtualisés.
Dans toutes les solutions de virtualisation des postes de travail, on utilise un hyperviseur de
type 1 car la performance doit être au rendez-vous. Il s’agit donc d’une solution
architecturale qui permet le remplacement du poste de travail traditionnel par un poste de
travail virtuel s’exécutant sur un serveur dans un Datacenter. Cela nécessite évidemment une
connexion stable et de bonne qualité entre le client et le serveur.
La description d’une architecture VDI du point de vue utilisateur final, le but est de fournir la
même expérience qu’avec une architecture plus traditionnelle.
L’offre commerciale de solutions de virtualisation d’applications est moins dense que celle de
la virtualisation de serveurs, de poste de travail. Les acteurs principaux pour la virtualisation
d’applications sont les suivants :
Un système de stockage peut être vu comme un ordinateur spécialement créé dans le but de
fournir un espace de stockage ainsi que d’autres fonctionnalités comme la protection des
données, les disques durs ne sont que des éléments de ce système en plus d’autres matériels et
logiciels embarqués. Elle est également une méthode commune de gestion du stockage sur des
plates-formes de stockage hétérogènes. La gestion s’en trouve ainsi facilitée et des services de
réplication garantissent la protection des données et la reprise après sinistre sur des ressources
hétérogènes. La virtualisation du stockage génère des économies grâce à la simplification de
la gestion du stockage et à la réduction du temps et des ressources requis pour la planification
et l’exécution de migrations de données. La virtualisation de l’environnement SAN permet
aux applications d’accéder à des données à partir de n’importe quel endroit du réseau SAN en
présentant des volumes virtuels tirés des périphériques de stockage physiques. Elle permet un
accès aux données simplifié tout en fournissant une mobilité de données ininterrompue pour
optimiser les ressources.
Figure 15 : Montre plusieurs systèmes Virtuels partageant le même volume des données
virtuelles
Un réseau virtuel de machines virtuelles comprend toutes les machines virtuelles reliées à un
réseau virtuel configuré pour n'utiliser aucune carte réseau. Les réseaux internes de machines
virtuelles sont complètement isolés les uns des autres. C’est-à-dire : Si une carte réseau de
l'ordinateur physique est sélectionnée, toutes les machines virtuelles reliées au réseau virtuel
peuvent alors accéder aux réseaux auxquels cette carte physique est connectée. Mais, si
aucune carte réseau n'est sélectionnée, toutes les machines virtuelles reliées au réseau virtuel
font alors partie du réseau interne de machines virtuelles.
NB : Le réseau virtuel privé est différent du réseau privé virtuel (VPN). Un logiciel VPN crée
une liaison point à point sécurisée entre deux systèmes d'extrémité. Le réseau virtuel privé est
un réseau virtuel sur un système qui n'est pas accessible par les systèmes externes. La
séparation de ce réseau interne à partir d'autres réseaux externes est obtenue en configurant
des cartes d'interface réseau virtuelle (VNIC) sur une pseudo NIC appelé un etherstub.
Le principal avantage des VLAN est qu’ils permettent à l’administrateur réseau d’organiser le
LAN de manière logique et non physique.
▪ Type de VLAN
▪ LAN standard
Par exemple, si vous créez le VLAN 10 sur votre commutateur et lui attribuez l’intervalle
d’adresses IP 192.168.1.0/24, tout hôte dans cet intervalle sera un membre du VLAN 10. Il
n’est pas nécessaire d’ajouter un quelconque équipement au VLAN. Le commutateur gère le
trafic vers le VLAN.
Les VLANs sont utilisés sur les réseaux importants pour segmenter ou isoler le trafic en
différents domaines de diffusion. On crée généralement des VLAN à l’aide de commutateurs
intelligents, mais vous pouvez également les créer à partir des machines physiques ou
virtuelles. La segmentation VLAN est incluse dans les versions du noyau Linux 2.4.14 et
suivantes, ainsi que dans toutes les versions 2.6. Vous pouvez aussi créer des VLAN avec des
serveurs Windows, mais vous devez disposer d’interfaces réseau prenant en charge la création
de VLAN (par exemple, les Intel Pro Séries).
Dans Microsoft-Hyper – V, vous pouvez créer des VLAN dans l’environnement Microsoft,
permettre à des machines virtuelles de prendre part à des VLAN classiques. Les machines
virtuelles peuvent participer à des VLAN comme n’importe quel système physique grâce à
leur adresse IP.
Avec les produits Microsoft vous pouvez créer des VLAN à l’intérieur du logiciel pour des
communications très efficaces entre les machines virtuelles.
Les VPN sont, par nature, sécurisés et efficaces et ne requièrent qu’une configuration
minimale pour les systèmes clients et serveurs. Mettre en place un serveur VPN sous la forme
d’une machine virtuelle est intéressant à la fois du point de vue des finances, de
l’administration et de la sécurité.
Comme un serveur VPN n’ajoute quasiment aucune surcharge, vous pouvez utiliser un
système virtuel dédié pour authentifier les utilisateurs et leur attribuer un accès à des
ressources spécifiques. Certains systèmes de VPN fonctionnent sur 100 Mo d’espace disque et
40 Mo de mémoire vive. Il existe différents moyens de mettre en œuvre un service de VPN
pour votre réseau, qu’il s’agisse de solutions matérielles ou logicielles.
Un équipement VPN bas de gamme vous coûtera environ 150 € pour un routeur VPN pour
trente utilisateurs. Les équipements haut de gamme coûtent plusieurs milliers d’euros, mais ils
gèrent plus de fonctionnalités, d’utilisateurs, ils ont de meilleures garanties et une durée de vie
plus longue.
Une solution de VPN matérielle peut être une bonne solution pour les utilisateurs distants et la
connectivité des filiales distantes à la maison mère. L’inconvénient de ce type d’équipement
est leur coût et la charge administrative supplémentaire, incluant la formation des
Il est très simple et moins couteux de mettre en place un serveur VPN dans une machine
virtuelle avec Windows 2012 Server par exemple.
▪ La consolidation de serveurs
▪ Isolation de Service ou d'application
▪ Simplification du déploiement des serveurs et leur gestion
▪ Augmentation de la disponibilité des applications et des services
▪ Des Systèmes d'exploitation multiples peuvent fonctionner sur une plate-forme
▪ Disponibilité accrue pour des Datacenter virtuels : Windows Server 2008 R2 doté de
la technologie Hyper-V inclut une fonctionnalité de migration dynamique très
convoitée, qui permet de déplacer une machine virtuelle entre deux serveurs hôtes de
virtualisation sans devoir interrompre l'activité. Avec les volumes partagés de cluster
(CSV, Cluster Shared Volumes), la machine virtuelle fait preuve d'une parfaite
mobilité dans le cluster dans la mesure où chaque nœud peut être un nœud
propriétaire.
Selon les ressources nécessaires, il est maintenant possible de regrouper jusqu’à 5 serveurs sur
une seule machine, sans perte de performance. Mais une étude doit être faite au cas par cas
selon les services et les applications de votre architecture. Cette technologie présente des
enjeux majeurs, mais aussi quelques contraintes.
▪ VMware ESXi ;
▪ Microsoft Hyper-V ;
▪ Citrix Hypervisor (anciennement XenServer) ;
▪ Nutanix AHV ;
▪ Proxmox ;
▪ Red Hat Enterprise Virtualization (RHEV) ;
▪ KVM (Kernel-based Virtual Machine) ;
▪ Parallels Server Bare Metal.
▪ Oracle VirtualBox ;
▪ VMWare Workstation (Player et Pro)
▪ VMware Fusion (pour Mac) ;
▪ Microsoft Virtual PC ;
▪ Parallels Desktop.
Figure 23 : Green IT
Figure 25 : Recyclage
En adoptant une approche Green IT, les entreprises peuvent réaliser des économies
significatives, réduire leur impact environnemental et adopter une attitude éco-responsable,
contribuant ainsi au développement durable.
En conclusion, la virtualisation est une pratique essentielle du Green IT, car elle permet de
réduire la consommation d'énergie, d'améliorer l'efficacité des ressources et de minimiser
l'impact environnemental de l'industrie informatique.
1. Introduction
Le Cloud Computing marque la fin d'une ère de l'informatique caractérisée par des systèmes
d'information disparates, parfois mis en place de manière chaotique au sein des entreprises.
Est-ce le début d'une autre ère, où de nouveaux services numériques seront disponibles
partout, à la demande, pour toutes les organisations, quels que soient leur taille ? Qu'est-ce
que le cloud computing vraiment ? Est-ce une évolution ou une révolution ?
Depuis son avènement dans les années 1960, l'architecture des outils informatiques a suivi un
cycle de centralisation et de décentralisation. Ainsi, les premiers systèmes utilisés dans les
entreprises étaient des mainframes, c'est-à-dire des machines où tous les calculs, le traitement
des applications et la persistance des données étaient centralisés. Les interfaces d'accès à ces
systèmes étaient des terminaux passifs, semblables au célèbre Minitel français (clients
légers). Ces terminaux passifs se composaient d'un simple écran et d'un clavier et ne
contenaient aucune donnée utilisateur.
Le passage progressif de l'informatique vers les réseaux et les centres de données rend notre
interaction avec l'informatique de plus en plus abstraite, nous éloignant des machines et des
infrastructures pour mettre davantage l'accent sur l'usage. Bien que le cloud computing soit
sans aucun doute une évolution ou une révolution du logiciel, il ouvre principalement de
nouvelles possibilités d'usage. Ce n'est pas un hasard si ces schémas d'utilisation proviennent
principalement du grand public (web, e-mail, messagerie instantanée, réseaux sociaux). Ce
sont les acteurs leaders du marché qui impulsent cette révolution, où l'informatique de demain
doit être conviviale pour l'utilisateur et constituer l'interface ultime. Au cœur de cette
révolution "en tant que service", le logiciel en tant que service (SaaS) est actuellement le
principal moteur de croissance du cloud computing. La plateforme en tant que service (PaaS)
est également proposée par les principaux acteurs du logiciel, car ils sont présents dans les
couches inférieures où les technologies de virtualisation jouent un rôle crucial. Avant
d'examiner les modèles et concepts impliqués dans le développement d'applications cloud,
commençons par présenter les caractéristiques fondamentales et les fonctionnalités du cloud
computing. D'où vient-il ? Qu'implique-t-il ? Quelles sont ses limites ? Ensuite, nous pourrons
explorer la gestion des sessions dans une infrastructure de cloud computing.
Les premières traces du Cloud Computing remontent aux années 1960, lorsque John
McCarthy, pionnier de l'informatique, a évoqué la possibilité d'accéder à la puissance de
calcul informatique à distance. Cependant, le terme "Cloud Computing" lui-même n'a été
largement utilisé que plus tard, à la fin du XXe siècle ou au début du XXIe siècle.
Amazon.com est souvent considéré comme l'une des premières entreprises à avoir proposé
des services de Cloud Computing à grande échelle. En 2006, Amazon a lancé Amazon Web
Services (AWS), une plateforme qui permet aux entreprises et aux développeurs d'accéder à
des ressources informatiques à la demande, telles que le stockage, le traitement et les bases de
données, via internet. Après le lancement d'AWS, d'autres grandes entreprises technologiques
telles qu'IBM et Google ont également investi dans le Cloud Computing. En 2008, le Cloud
Computing est devenu un concept populaire et de plus en plus d'entreprises ont commencé à
migrer leurs infrastructures et leurs applications vers le Cloud. Depuis lors, le Cloud
Computing a connu une croissance exponentielle et est devenu une norme dans de nombreux
secteurs. Les avantages tels que la flexibilité, la scalabilité et le paiement à l'utilisation ont
attiré de nombreuses entreprises qui cherchaient à réduire leurs coûts d'infrastructure et à
accélérer leur agilité commerciale. Aujourd'hui, de nombreux géants de l'internet, ainsi que
des entreprises de toutes tailles, utilisent des services de Cloud Computing pour héberger
leurs applications, stocker leurs données et fournir des services à leurs clients.
En effet, l'évolution constante de l'innovation technologique donne lieu à des tendances clés
qui captent l'attention des décideurs informatiques. Parmi ces tendances, on retrouve le Big
Data, l'entreprise sociale, le Cloud Computing et la mobilité totale. Toutes ces tendances ont
un impact significatif sur la manière dont les ressources informatiques sont conçues et
utilisées, ainsi que sur la structuration, la diffusion et le partage de l'information au sein des
entreprises et de leur écosystème. De plus, elles ont des répercussions importantes sur la
compétitivité des entreprises.
Ces tendances annoncent également la fin d'une ère, marquée par la disparition progressive
des PC, des logiciels, des e-mails, des bases de données relationnelles, etc. Face à ces défis,
de nombreuses entreprises innovantes choisissent de mener une transformation de leur
système informatique, dans le but de transformer également leur entreprise et d'accroître la
valeur qu'elles créent.
Initialement réservés à une utilisation publique et gratuite, les services issus du Cloud
Computing ont peu à peu fait leur entrée dans le monde de l'entreprise. Ainsi, les utilisateurs
ont pu faire leur première expérience professionnelle avec le Cloud Computing. Il n'est
d'ailleurs pas surprenant que les fournisseurs de services Cloud public de bout en bout
proviennent exclusivement du grand public.
Dans cette nouvelle technologie émergente, le Cloud Computing fournit un cadre général qui
permet un accès facile, à tout moment et en tout lieu, à un ensemble de ressources
informatiques configurables et partagées. Cela comprend des réseaux, des serveurs, du
stockage, des applications et des services. Ces ressources peuvent être provisionnées et mises
en service rapidement, avec un minimum d'interventions de la part du fournisseur, ce qui offre
une grande flexibilité et une évolutivité accrue.
Le Cloud Computing permet aux utilisateurs d'accéder à ces ressources via Internet, éliminant
ainsi le besoin d'infrastructures physiques et de maintenance locale. Les entreprises peuvent
donc bénéficier de l'évolutivité et de la disponibilité des ressources informatiques sans avoir à
investir massivement dans des infrastructures coûteuses. De plus, le Cloud Computing offre la
possibilité de payer uniquement pour les ressources utilisées, ce qui permet une meilleure
optimisation des coûts.
3.2 Description
Aujourd'hui, le Cloud Computing est largement utilisé par les grandes entreprises, car il
permet une analyse sophistiquée des données de manière rapide et efficace. Il est considéré
comme une technologie extrêmement puissante offrant un accès universel et capable de traiter
des quantités astronomiques de données à la seconde, bien au-delà des capacités de n'importe
quel ordinateur individuel.
Cependant, cette capacité de traitement de milliards d'opérations par seconde est rendue
possible par une architecture distribuée composée d'ordinateurs qui se partagent et se
répartissent le travail en temps réel. Cette approche permet d'optimiser les ressources et de
fournir une puissance de calcul considérable, même pour des tâches complexes et
volumineuses.
prestataires de services, dans un centre de données situé à l'autre bout de la planète, ou sur un
ensemble de serveurs formant un "nuage" (une métaphore utilisée depuis les années 90 pour
représenter les réseaux, notamment internet). Certains vont même plus loin et considèrent que
tout ce qui se trouve derrière le pare-feu « in the Cloud », y compris l'externalisation
traditionnelle, relève du "Cloud".
Il n'existe donc pas de définition précise du terme, et par convention, on considère que le
Cloud Computing englobe tout traitement et/ou stockage d'informations personnelles et/ou
professionnelles réalisé en dehors de la structuré concernée (par exemple, en dehors de
l'entreprise).
4.1 Le SaaS
Le terme le plus couramment utilisé dans le monde du Cloud Computing est l'acronyme
"SaaS", qui signifie "Software as a Service" ou "logiciel en tant que service". Après le
modèle "EAAS" (« email en tant que service »), il s'agit du type de service le plus largement
utilisé. Il s'agit d'un modèle de déploiement d'applications dans lequel un fournisseur propose
à ses clients une application clé en main en tant que service à la demande, plutôt que de leur
vendre des licences. Cela signifie que l'utilisateur final n'a plus besoin d'installer tous les
logiciels sur sa propre machine de travail. De plus, cela réduit la charge de maintenance en
éliminant la nécessité de mettre à jour les applications, une tâche complexe pour les
entreprises. Ce modèle transforme les dépenses logicielles en frais variables plutôt qu'en coûts
fixes, et il n'est plus nécessaire d'acheter une licence du logiciel pour chaque utilisateur au
sein de l'entreprise.
4.2 Le PaaS
Le terme "PaaS" désigne "Platform as a Service" ou "plateforme en tant que service". Il est
dérivé du modèle de déploiement "Software as a Service". Une architecture PaaS est un
modèle qui comprend tous les éléments nécessaires pour soutenir la construction, la livraison,
le déploiement et le cycle de vie complet des applications et des services accessibles
exclusivement via internet. Il s'agit d'une architecture où il n'est pas nécessaire de télécharger
ou d'installer des logiciels pour les développeurs, les responsables informatiques ou les
utilisateurs finaux. On l'appelle également "cloudware".
Le PaaS offre des facilités pour gérer le flux de travail lors de la conception, du
développement, des tests, du déploiement et de l'hébergement d'applications web à l'aide
d'outils et de services tels que :
Ces services sont fournis via une solution complète destinée aux développeurs, qui est
immédiatement disponible via internet. Le PaaS permet aux utilisateurs de se concentrer sur le
développement de leurs applications sans se soucier de l'infrastructure sous-jacente, car la
plateforme gère de nombreux aspects techniques pour eux. Cela facilite le déploiement rapide
et la mise à l'échelle des applications, tout en réduisant les coûts et la complexité liés à la
gestion des infrastructures informatiques.
4.3 Le IaaS
Plutôt que d'acheter des serveurs, des logiciels, de l'espace dans un centre de données ou du
matériel réseau, les clients peuvent louer ces ressources auprès de prestataires de services
entièrement externalisés et spécialisés dans ce domaine. Le service est généralement facturé
en fonction de l'utilisation et de la quantité de ressources consommées. Ainsi, le coût reflète
typiquement le niveau d'activité de chaque client. Il s'agit d'une évolution de l'hébergement
internet qui se distingue des anciens modes de fonctionnement :
▪ Hébergement mutualisé : une machine est partagée entre plusieurs clients, gérée par
un prestataire de services, et les clients paient le même prix indépendamment de leur
utilisation (souvent avec des limitations, le fameux principe de l'"illimité-limité").
▪ Hébergement dédié : une machine est attribuée à un client spécifique, généralement
gérée par le client lui-même, et le client paie un prix fixe chaque mois
indépendamment de son utilisation (rarement limitée, parfois gérée par un prestataire
de services).
▪ Infrastructure as a Service : un nombre indéfini de machines pour un nombre
indéfini de clients, dont les ressources sont combinées et partagées entre tous les
clients. Chaque client paie en fonction de son utilisation de l'infrastructure.
Ainsi, grâce à l'IaaS, les clients peuvent bénéficier d'une flexibilité accrue en matière
d'infrastructure, en adaptant les ressources à leurs besoins fluctuants, tout en ne payant que
pour ce qu'ils utilisent réellement.
Dans ce cours, nous avons choisi de nous concentrer sur les trois principaux acronymes du
Cloud Computing, à savoir SaaS, PaaS et IaaS. Pourquoi ? Parce que ce sont les trois
fondements du Cloud Computing et que chacun d'eux repose sur les autres ou fournit une base
pour les autres. La plupart des experts s'accordent sur un modèle pyramidal du Cloud
Computing, où les différents domaines sont représentés comme des couches successives.
Le Platform as a Service (PaaS) est la mise à disposition une plateforme informatique sous
forme de service. Il s'agit d'un ensemble de composants de base qui reposent sur l'architecture
flexible offerte par l'IaaS. Le PaaS permet aux développeurs d'applications d'avoir une
plateforme de travail flexible, distribuée et virtualisée, sans avoir besoin de compétences dans
les domaines sous-jacents tels que le réseau, le matériel ou le système d'exploitation. On peut
le voir comme une abstraction de la technologie utilisée pour distribuer les calculs sur
plusieurs machines au sein d'un réseau.
Enfin, l'Infrastructure as a Service (IaaS) fournit une base matérielle (hardware) pour les
plateformes en tant que service. Ces infrastructures sont mises en place et gérées
exclusivement par des architectes réseau, ce qui permet de maintenir un haut niveau
d'expertise et d'éviter de mélanger les domaines de compétence. Elle comprend généralement
des équipements réseau et des serveurs complètement virtualisés.
Le Cloud Computing repose sur des ressources physiques, telles que des serveurs, des
commutateurs, des routeurs, des solutions de stockage, etc. Mais où se trouvent réellement ces
ressources physiques ? La réponse "dans le nuage" n'est pas très précise. Du point de vue du
consommateur, l'abstraction est telle qu'il est impossible de déterminer sur quelles ressources
physiques une application est hébergée. En raison de sa nature dynamique, les ressources
physiques hébergeant une application et des données dans un Cloud ne sont jamais fixes et
évoluent dans le temps. Cependant, différents modèles de Cloud Computing peuvent très bien
être hébergés sur l'infrastructure physique d'une entreprise, et ces modèles de Cloud peuvent
coexister. Voici les principaux modèles de Cloud Computing :
Un Cloud privé désigne un Cloud déployé sur une infrastructure physique dédiée et mise à
disposition par un fournisseur de services. Les ressources physiques peuvent être hébergées
dans une infrastructure appartenant à l'entreprise et sous son contrôle. Ainsi, une entreprise
peut louer à un fournisseur de services un ensemble de serveurs entièrement dédiés à ses
besoins, sur lesquels une solution de Cloud est déployée pour gérer de manière dynamique
l'application, la plateforme ou l'infrastructure virtuelle.
Le Cloud public est un service IaaS, PaaS ou SaaS proposé et hébergé par un tiers. Des
entreprises telles qu'Amazon, Google et Microsoft proposent des Clouds publics sur lesquels
n'importe quel individu ou entreprise peut héberger ses applications, services ou données.
Pour les consommateurs, il n'y a aucun investissement initial fixe et aucune limite de capacité.
Le Cloud public est externe à l'organisation, accessible via internet, géré par un prestataire
externe qui est propriétaire des infrastructures, avec des ressources partagées entre plusieurs
sociétés. Les fournisseurs de Cloud public facturent en fonction de l'utilisation et garantissent
la disponibilité des services via des contrats de niveau de service (SLA (« Service Level
Agreement » : document qui définit la qualité de service requise entre un prestataire et un
client).
Le Cloud Computing représente la convergence des solutions SaaS, PaaS et IaaS, offrant un
accès facile et à la demande à un ensemble partagé (pool) de ressources informatiques
configurables (réseaux, serveurs, stockage, applications et services) via le réseau. Ce modèle
permet un approvisionnement rapide et une mise à disposition avec un minimum d'effort de
gestion ou d'interaction avec un fournisseur, favorisant ainsi la disponibilité. Il se compose de
cinq caractéristiques essentielles et repose sur trois couches de services (SaaS, PaaS et IaaS),
ainsi que sur trois modèles de déploiement représentés sous forme de pyramide (Cloud privé,
Cloud public et Cloud hybride).
Les cinq caractéristiques essentielles du Cloud Computing, définies par le NIST, sont les
suivantes :
Le Cloud Computing représente une étape cruciale vers l'optimisation globale des systèmes
d'information, qui jouent un rôle essentiel dans le bon fonctionnement des entreprises
d'aujourd'hui. Il offre des services qui vont au-delà des offres traditionnelles. Il s'agit d'un
modèle informatique distribué où les échanges sont gérés et centralisés par des serveurs
distants. Les applications ne sont plus stockées sur les postes de travail, mais sur un "nuage"
(Cloud) de serveurs, accessibles via une connexion internet et un navigateur web. Les
applications et l'infrastructure Cloud nécessaires peuvent être louées en fonction de leur
utilisation, que ce soit pendant le développement ou en production. Elles sont facilement
extensibles, ce qui signifie que les ressources peuvent être allouées dynamiquement en
fonction des besoins et restent disponibles en cas de défaillance d'une ressource.
Le Cloud constitue une véritable révolution et une opportunité pour les entreprises, en
particulier les plus petites, car il permet de confier la gestion de l'ensemble de leur système
d'exploitation à des prestataires externes, ce qui entraîne des réductions budgétaires
significatives. L'hébergement, les logiciels, la bande passante, etc., sont tous gérés de manière
externe, sous forme de services. Ce concept est très intéressant et présente des enjeux majeurs,
notamment :
Pour les petites structures en particulier, le principal enjeu de cette technologie est que les
serveurs deviennent virtuels. Les entreprises ne paient que ce qu'elles utilisent réellement, de
la même manière qu'elles le feraient pour leur consommation électrique. Finis les problèmes
techniques et les engorgements : les entreprises sont plus performantes face à la concurrence
et bénéficient des mêmes ressources que les plus grandes. Ce concept s'inscrit véritablement
dans la stratégie de développement, de compétitivité et de pérennisation des entreprises.
Le Cloud Computing n'est pas seulement un moyen de gérer des ressources internes, il permet
également à une entreprise de renforcer sa visibilité sur le web. Par exemple, une jeune
entreprise disposant d'un budget limité pour financer son site internet ne pourra pas se
permettre un serveur dédié très puissant. Cela aurait des conséquences néfastes sur les
performances de la bande passante et entraînerait probablement des ralentissements.
Cette ère représente une transition majeure et révolutionnaire dans la prestation de services
informatiques. Elle offre de nombreux avantages en termes d'efficacité et de flexibilité.
Selon le rapport du cabinet d'études IDC, les dépenses mondiales dans le Cloud Computing
ont continué à augmenter au cours des dernières années. En 2020, il était estimé que le
marché du Cloud Computing représentait environ 370 milliards de dollars, avec une
croissance prévue pour les années suivantes.
En ce qui concerne l'Europe, une étude réalisée par le cabinet PAC en 2020 indiquait que le
marché du Cloud Computing dans les 27 pays de l'Union européenne avait atteint environ 20
milliards d'euros. Cela représente une augmentation significative par rapport aux chiffres de
2009.
Cette plateforme SQL Azure garantit la disponibilité de la base de données grâce à des
mécanismes de réplication, prend en charge les montées en charge et assure le bon
fonctionnement du service.
Bien que sur le plan technique, les métiers de développeur, d'administrateur système ou de
base de données devront évoluer en fonction des solutions techniques proposées par les
différents acteurs du marché, les décideurs et les responsables informatiques doivent avoir une
vision claire du Cloud Computing afin d'analyser tous les nouveaux projets sous l'angle du
Cloud.
Quoi qu'il en soit, il est essentiel de fournir une formation à toutes les équipes techniques afin
de favoriser une transition transparente et éviter les conflits ou les réticences. Il est important
de savoir s'intégrer dans le monde du Cloud.
L’informatique, comme de nombreux domaines innovants, apprend en avançant. Ceci est vrai
pour le Cloud Computing qui propose aujourd’hui, de nombreux Cloud : Publics, Privés et
Hybrides. La question du choix de type de Cloud Computing dépend de solutions et de
services a déployés car : Chaque problématique a sa solution qui s’appuient sur
l’infrastructure. Pour les PME, la première étape consiste à consolider la base de données et à
préparer leur environnement informatique à fonctionner selon un mode de pensé. Vous
pouvez envisager un Cloud public pour certains services, mais cela vaut la peine d’examiner
de plus près les options de Cloud privé qui vous confèreront une souplesse et une sécurité
accrues, en plus d’une renta à long terme supérieure.
Les solutions propriétaires de Cloud Computing sont des logiciels appartenant à une personne
ou à une société spécifique. Ils ne sont pas basés sur des normes et ne sont pas compatibles
avec d'autres logiciels concurrents comparables. Voici quelques exemples de solutions
propriétaires de Cloud Computing :
▪ Amazon Web Services (AWS) : AWS est l'un des principaux fournisseurs de services
Cloud, offrant une vaste gamme de services tels que le stockage, le calcul, les bases de
données, l'intelligence artificielle, etc.
▪ Microsoft Azure : Azure est la plateforme Cloud de Microsoft, offrant des services
similaires à AWS. Il comprend des fonctionnalités telles que le stockage, les machines
virtuelles, les bases de données, les services d'intelligence artificielle, etc.
▪ Google Cloud Platform (GCP) : GCP est la plateforme Cloud de Google, proposant
une gamme de services tels que le stockage, le calcul, les bases de données,
l'apprentissage automatique, etc.
▪ Salesforce : Salesforce est une solution Cloud populaire axée sur la gestion de la
relation client (CRM). Elle offre des fonctionnalités de vente, de marketing, de service
client et de gestion des données clients.
▪ Oracle Cloud : Oracle propose une plateforme Cloud complète incluant des services
tels que le stockage, le calcul, les bases de données, l'intelligence artificielle, etc. Elle
met également l'accent sur les solutions d'entreprise et les applications métier.
Les solutions open source, également appelées logiciels libres, sont des logiciels qui
fournissent le code source des applications, ce qui permet à quiconque de les modifier et de
les adapter à ses besoins. Voici quelques exemples de solutions open source de Cloud
Computing :
▪ OpenStack : OpenStack est une plateforme Cloud open source qui permet de créer et
de gérer des infrastructures Cloud privées et publiques. Elle offre des fonctionnalités
de calcul, de stockage, de mise en réseau, de gestion des utilisateurs, etc.
▪ Apache CloudStack : CloudStack est une plateforme open source de gestion
d'infrastructures Cloud. Elle offre des fonctionnalités de calcul, de stockage, de mise
en réseau et de gestion des utilisateurs pour la création de Clouds privés ou publics.
▪ OpenNebula : OpenNebula est une plateforme open source de gestion
d'infrastructures Cloud. Elle permet de créer et de gérer des environnements de Cloud
privé, public ou hybride. OpenNebula prend en charge différentes technologies de
virtualisation, telles que KVM, VMware et Xen, et offre des fonctionnalités de
provisionnement, de gestion des utilisateurs, de surveillance et de gestion des
ressources.
▪ Eucalyptus : Eucalyptus est une plateforme open source de Cloud Computing qui
permet de créer et de gérer des environnements de Cloud privé compatibles avec l'API
d'Amazon Web Services (AWS). Eucalyptus offre des fonctionnalités telles que le
provisionnement de machines virtuelles, le stockage et le réseau, permettant aux
utilisateurs de déployer et de gérer des applications dans un environnement de Cloud
privé.
Ces solutions open source offrent des alternatives aux solutions propriétaires, permettant aux
utilisateurs d'adapter et de personnaliser les logiciels selon leurs besoins spécifiques. Elles
offrent des fonctionnalités similaires aux solutions propriétaires, telles que le provisionnement
de ressources, le stockage, la gestion des utilisateurs et des machines virtuelles, mais avec la
flexibilité supplémentaire d'accéder au code source et de le modifier si nécessaire.
Le Cloud Computing offre de nombreux avantages et une grande flexibilité à ses utilisateurs.
L'utilisateur peut opérer n'importe où et à tout moment de manière sécurisée. Vu le nombre
croissant d'appareils compatibles avec le Web qui sont utilisés aujourd’hui (par exemple, les
tablettes, les téléphones intelligents, etc.), l'accès à l'information et aux données doit être
rapide et plus simple. Voici quelques-uns des avantages pertinents liés à l'utilisation du Cloud
:
▪ Réduction des coûts de gestion et des investissements initiaux : Avec le Cloud, les
entreprises n'ont pas à se soucier de la gestion des ressources ou du personnel
nécessaire pour superviser leurs plateformes. Le Cloud permet de minimiser les
risques commerciaux.
▪ Fourniture d'une infrastructure dynamique : Le Cloud offre des coûts réduits et
des services améliorés avec moins de coûts de développement et de maintenance.
▪ Services à la demande : Le modèle de paiement à l'usage "Pay-as-you-go" permet
d'obtenir des services flexibles, évolutifs, améliorés et adaptables.
▪ Disponibilité et performances cohérentes : Le Cloud permet de provisionner
automatiquement des charges maximales pour assurer une disponibilité et des
performances constantes.
▪ Récupération rapide et amélioration des capacités de restauration : Le Cloud
facilite la récupération rapide et améliore la résilience des entreprises.
9.2 Inconvénients
▪ Dépendance à un réseau fiable : Le Cloud nécessite un réseau avec une haute vitesse
de communication et une connectivité constante.
Le Cloud Computing est une approche qui consiste à fournir des services informatiques (tels
que le stockage, le traitement des données, les applications, etc.) via Internet, en utilisant des
ressources partagées et des infrastructures distantes. Plutôt que de s'appuyer sur des serveurs
locaux, les utilisateurs peuvent accéder à ces services à la demande, en fonction de leurs
besoins, et payer uniquement pour ce qu'ils consomment. Le Cloud Computing offre de
nombreux avantages, notamment la flexibilité, la scalabilité, la réduction des coûts et la
facilité d'accès aux ressources informatiques.
D'un autre côté, le Green IT se réfère à l'utilisation de technologies et de pratiques qui visent à
réduire l'impact environnemental des technologies de l'information. L'industrie informatique
est connue pour sa consommation énergétique élevée et son empreinte carbone. Le Green IT
vise à atténuer ces problèmes en adoptant des approches plus durables et respectueuses de
l'environnement.
Lorsqu'il est bien mis en œuvre, le Cloud Computing peut contribuer à la durabilité
environnementale et être en accord avec les principes du Green IT de plusieurs manières :
Cependant, il est important de noter que le Cloud Computing n'est pas automatiquement
"vert" ou respectueux de l'environnement. Il dépend de la manière dont il est mis en œuvre et
géré. Les fournisseurs de services Cloud doivent adopter des pratiques responsables sur le
plan environnemental, telles que l'utilisation d'énergies renouvelables, la réduction des
déchets électroniques, la gestion efficace des ressources, etc., pour maximiser les avantages
du Cloud Computing en termes de développement durable.
En conclusion, le Cloud Computing peut jouer un rôle important dans la promotion du Green
IT en optimisant l'utilisation des ressources, en réduisant la consommation d'énergie et en
favorisant des pratiques respectueuses de l'environnement. Cependant, les utilisateurs et les
fournisseurs doivent être conscients de leurs responsabilités et travailler ensemble pour
minimiser l'impact environnemental de l'industrie informatique.