Introduction aux
Technologies Cloud
LSRI-3
M. Abdramane Sow – UCAO 2023-2024
Enseignant Chercheur
Programme du module
1.Historique et contexte;
2.Introduction aux Cloud Computing ;
3.Écosystème, Architecture et
Management du Cloud ;
4.Les technologies pilotes du Cloud ;
5.Introduction aux conteneurs ;
6.Conclusion ;
7.Questions ;
8.Travaux Pratiques ;
1.Historique et Contexte
Historique et contexte
Figure 2 : Historiques et générations de l’informatique
Historique et contexte
●
La figure montre la consommation journalière
moyenne des ressources informatique dans une
entreprise. On voit clairement que ces ressources ne
sont pas exploitées entièrement.
●
En effet, l’entreprise dépense son argent sur des
actifs physiques qu’on utilise à leur capacité
maximale occasionnellement.
Historique et contexte
●
Question ? : y a t’il un modèle où l’entreprise ne
paye que les ressources informatiques qu’elle
utilise ?
Pour lui permettre :
●
De ne plus investir dans l’achat de matériel ?
●
De passer des dépenses en capital (CapEx) à
dépenses de fonctionnement (OpEx) ?
●
De recourir à un fournisseur de service en se basant
sur le modèle (pay-as-you-use) ?
2.Introduction au Cloud
Computing
Contexte définitionnel
Navigateur
+
Connexion
Internet
= Accès aux
Services
Contexte définitionnel
Commentaire 1/2 : Un service est dans le Cloud ça
veut dire que les moyens de production pour fournir le
Service sont hébergés chez le fournisseur Cloud.
Ici, les ressources informatiques ( Puissance de
calcul, des serveurs, des applications, des espaces
de stockages, etc.) sont consommées comme
n’importe quelle autres utilités (eau, électricité, etc.)
sans en posséder l’infrastructure technique
accessible grâce à un réseau étendu comme Internet.
Contexte définitionnel
Commentaire 2/2 : C’est un modèle économique qui
utilise des technologies existantes basé sur des
concepts nouveaux que nous allons voir dans ce
module.
●
Nous pouvons en déduire que : Le cloud est un
service de location de ressources informatiques par
une organisation ou un individu et de payer
seulement pour les ressources utilisées.
Définition du cloud - NIST
●
Le NIST américain (National Institute of Standards
and Technology) : « un modèle permettant un
accès facile et à la demande, via le réseau, à un
pool partagé de ressources informatiques
configurables (réseaux, serveurs, stockage,
applications et services) qui peuvent être
rapidement mises à disposition des utilisateurs ou
libérées avec un effort minimum d’administration de
la part de l’entreprise ou du prestataire de service
fournissant les dites ressources ».
Architecture du Cloud
Caractéristiques du Cloud - NIST
Caractéristiques du Cloud - NIST
Caractéristiques du Cloud d’après le NIST :
1.Un accès à la demande ;
2.Un accès réseau ubiquitaire ;
3.Des coûts contrôlés grâce à la mutualisation des
ressources et aux effets d’échelle ;
4.Élasticité rapide des ressources ;
5.Un service mesuré en permanence et une
facturation à l’usage ;
Modèle de Services - NIST
●
Le NIST identifie 3 modèles de services proposés par
les fournisseurs du cloud.
Modèle de Services - SaaS
●
Software as a Service
(SaaS) : Permet aux
consommateurs d’utiliser
des applications qui se
trouve dans le cloud. Les
applications sont
accessibles depuis
n’importe quel appareil
connecté à internet.
Modèle de Services - PaaS
●
Platform as a Service (PaaS) : Les services fournis
sur la couche PaaS sont destinés aux développeurs.
●
Ces services sont des environnements de
programmation ou d’exécution propriétaire écrit dans
un langage de programmation spécifique qui peut
être exécuté. Dans ce modèle, l’utilisateur n’a pas de
contrôle sur l’infrastructure.
Fournisseurs de Services - PaaS
Modèle de Services - IaaS
●
Infrastructure as a
Service (IaaS) : Ce
modèle donne aux
utilisateurs une vue
abstraite sur le matériel
tout en ayant le
contrôle sur l’ensemble
des ressources
allouées ;
Modèle de Services - IaaS
●
L’IaaS réduit le coût total de possession (TCO) et
augmente le retour sur investissement (ROI) pour
les start-ups qui ne peuvent pas investir davantage
dans l’achat d’infrastructures.
●
Peut être utilisé dans les cas suivants :
✔
Pics d’utilisation imprévisibles ;
✔
Contraintes d’investissements ;
✔
Infrastructure à la demande ;
Modèles de déploiement
●
Le modèle de déploiement fait une distinction basée
sur la mesure dans laquelle les unités
organisationnelles (OU) des utilisateurs et des
fournisseurs sont séparées les unes des autres.
●
On distingue 4 modèles de déploiement :
✔
Public ;
✔
Privé ;
✔
Communautaire ;
✔
Hybride ;
Modèles de déploiement - Public
●
Aussi appelé cloud Externe. Il
comprend toutes les offres
cloud où les fournisseurs et
les utilisateurs potentiels
n’appartiennent pas à la
même OU.
●
Dans ce modèle, les
fournisseurs rendent leur
cloud accessible au public et
proposent généralement un
portail Web en libre-service ;
Modèles de déploiement - Public
Modèles de déploiement - Privé
●
Aussi Appelé cloud Interne. Les Fournisseurs et utilisateurs
appartiennent à la même OU (Entreprise, université,
gouvernement, etc). Dans ce modèle, le contrôle sur les
données reste avec les utilisateurs ou leur organisation.
Modèles de déploiement - Privé
●
Il peut être déployé en utilisant des outils open-
source Free Open Source Software (FOSS) tels que
Openstack et Eucalyptus ;
Modèles de déploiement - Community
●
Ce cloud est partagé par plusieurs organisations
regroupées au sein d’une communauté. Cette communauté
a des intérêts communs (réglementaire, sécurité des
données). Ce cloud peut être géré par les organisations ou
un tiers.
Modèles de déploiement - Hybride
●
L’infrastructure cloud est une composition de deux ou
plusieurs infrastructures cloud distinctes (privées,
communautaires ou publiques) qui restent des entités
uniques mais sont liées par une technologie
standardisée ou propriétaire qui permet la portabilité
des données et des applications (par exemple,
l’éclatement du cloud pour l’équilibrage de charge
entre les clouds.
Avantages du cloud
●
L’accessibilité aux services, données et applications de
partout et depuis n’importe quels équipements ;
●
Les ressources sont optimisées pour les besoins de
l’application et de l’utilisateur (pas de pertes de
performances) ;
●
La facturation de la consommation permet de faire des
économies. Pas besoin d’acquérir du matériel onéreux ;
●
Scalability ou évolutivité permet d’acquérir automatiquement
des ressources supplémentaires au besoin ;
●
La maintenance de l’infrastructure est déléguée au
fournisseur du cloud ;
Inconvénients du cloud
●
Si la connexion internet est perdue, l’accès au cloud
n’est plus possible ;
●
Les données sont accessibles au fournisseur du
cloud (Problème de privacy) ;
●
Les données sont co-localisées avec d’autres
utilisateurs (Problème de sécurité) ;
●
L’utilisateur n’a pas de contrôle sur les ressources
physiques déployées par le fournisseur ;
●
L’utilisateur n’a pas de contrôle sur les versions des
systèmes et des logiciels déployés ;
3.Écosystème, Architecture et
Management du Cloud
L’écosystème Cloud
●
L’écosystème Cloud est un terme utilisé pour décrire
l’ensemble de composants/entités interdépendants
qui travaillent ensemble pour réaliser, supporter ou
consommer les services Cloud.
L’écosystème Cloud
L’écosystème Cloud
●
Cloud Service Users (CSUs) : consomme les services
Cloud, exemple : personne normale, Entreprise ou
gouvernement ;
●
Cloud Service Providers (CSPs) : fournis/livre et
maintient/gère les services Cloud ;
●
Cloud Service Partners (CSns) : Une personne ou une
organisation (par exemple développeur d’applications,
fournisseur de contenu, logiciel, matériel et / ou
équipement, intégrateur de système et / ou auditeur) qui
fournit un support à la création d’un service offert par un
fournisseur CSP;
Architecture du Cloud
●
L’architecture Cloud montre comment toutes les
unités et moyens nécessaires à la construction
d'une infrastructure cloud sont intégrés pour
développer une plateforme virtuelle en ligne pour
effectuer des opérations informatiques.
●
Elle comprend :
✔
Front end : Interface utilisateur ;
✔
Back end : Fournisseur de services cloud ;
Architecture du Cloud
Architecture du Cloud – Front end
●
Il s'agit de l'interface visible pour les clients et les
utilisateurs, ainsi que pour les appareils réseau du
client qui sont utilisés pour accéder à l'environne-
ment cloud.
●
Exemple : web browser, google Doc, Pc application,
etc.
Architecture du Cloud – Back end
●
Elle est gérée par des fournisseurs de services cloud
situés sur des serveurs distants. Ils sont
généralement composés d'un assemblage physique
de cinq couches :
✔
Couche application ;
✔
Couche plateforme ;
✔
Couche infrastructure ;
✔
Couche matériel ;
✔
Couche transversale de Management et
Sécurité ;
Couche application
●
Aussi appelé couche SaaS (application logicielle ou
service web) prend en charge les demandes et les
exigences du client. Cette couche d'application n'est
rien d'autre que le prototype de distribution dans
lequel une application tierce héberge et les met à la
disposition des utilisateurs sur Internet. Le SaaS
supprime les dépenses et les exigences liées au
matériel, à la maintenance, aux licences, à
l'installation et au support.
Couche plateforme
●
Cette couche comprend le système d'exploitation et
les applications pour fournir une plateforme PaaS
pour le développement et le déploiement de logiciels
importants pour des opérations de cloud computing
transparentes.
Couche infrastructure
●
Cette couche comprend des unités de stockage
(CPU, carte mère, unité de traitement graphique
(GPU), machines virtuelles, logiciels de virtualisation
et serveurs) sur la plateforme IaaS qui gère
l'ensemble des services logiciels cloud au niveau de
l'application hôte et du réseau.
●
Les administrateurs système peuvent accéder à ce
stockage évolutif et puissance de calcul chaque fois
que nécessaire.
Couche matériel
●
Il s'agit de la couche la plus basse de l'architecture
cloud. Elle comprend principalement tous les aspects
qui peuvent être gérés physiquement, tels que le
serveur de base de données, les routeurs, les
commutateurs, le disque mémoire pour contrôler les
configurations matérielles, la tolérance aux pannes
ainsi que l'alimentation électrique et la gestion du
trafic.
Couche Management et Sécurité
●
Management : le logiciel de gestion est utilisé pour
allouer des ressources à des tâches spécifiques et
gère le fonctionnement transparent de
l'environnement cloud. Il agit comme un médiateur
qui coordonne entre l’architecture front-end et back-
end dans un système cloud computing.
Couche Management et Sécurité
●
La sécurité est un élément essentiel de toute
infrastructure de cloud computing. Elle maintient le
processus de débogage aligné pour faire face aux
problèmes de sécurité. Pour garantir la sécurité d'un
système de cloud computing, une sauvegarde
régulière du stockage est la première étape, tandis
que les pare-feu virtuels sont d'autres éléments
permettant de maintenir la sécurité du cloud.
Management du Cloud
●
Gérer d’une manière efficace les ressources du cloud
afin d’atteindre une QoS acceptable et de respecter
les SLAs.
●
Constitue la première tâche à considérée car les
performances du cloud sont dépendantes de la façon
dont il est géré.
La gestion du cloud peut être divisée en deux parties :
✔
Gestion de l’infrastructure du Cloud ;
✔
Gestion des applications du Cloud ;
Management de l’infrastructure
●
Le cœur de la gestion du Cloud est la gestion des
ses ressources (calcul, stockage, etc.), elle implique
quelques tâches interne tel que la planification,
l’approvisionnement et l’équilibrage de charges.
Management des applications
●
Dans la gestion des applications, le fournisseur
collecte et analyse les événements liés à l’exécution
de l’application.
●
La gestion des applications inclut également
l’identification d’informations critiques qui nécessite
l’ajustement de capacité ou l’approvisionnement de
nouveaux services.
4.Les technologies pilotes du
cloud
Introduction
●
Le cloud computing a révolutionné la fourniture de
ressources informatiques sur un modèle "Pay-as-
You-Go", entraînant une adoption massive par les
entreprises en tant que fournisseurs ou
consommateurs de services.
●
Son succès est attribué aux avancées
technologiques telles que : SOA, les processeurs
multicœurs, la technologie de stockage, le web 2.0 et
3.0, le réseau ainsi que la virtualisation.
SOA (Architecture Orientée Services)
●
C’est un modèle de
conception/développeme-
nt logiciel pour les
composants d'application
qui intègre la
découverte, le contrôle,
la sécurité et bien plus
encore sur un réseau ;
●
SOA définit comment les
services sont offerts et
utilisés ;
Processeurs multi cœurs
●
La technologie multi-cœurs consiste en l'utilisation de
plusieurs processeurs sur une même puce ou regroupés
dans un circuit intégré, permettant une augmentation des
performances, une réduction de la consommation d'énergie
et une meilleure gestion des tâches, notamment dans le
cloud.
La virtualisation
●
La virtualisation est un processus qui crée un
environnement virtuel pour exécuter diverses
activités sur un serveur similaire, permettant le
partage d'une source physique entre plusieurs
applications virtuelles.
●
L'application physique est la machine hôte et les
réseaux virtuels qu'elle crée sont appelés machine
invitée.
La virtualisation
Hyperviseur
●
L’environnement virtuel peut
être créer avec l’aide d’un
logiciel qui s’appelle Hyper-
viseur (Hypervisor).
●
L’hyperviseur est un méta-
système d’exploitation
minimal qui se situe entre les
VMs et l’infrastructure
physique.
Hyperviseur - Rôle
●
Consiste à fournir l’infrastructure virtuelle requise
pour les VMs. Généralement, l’infrastructure virtuelle
signifie des processeurs virtuels (vCPUs), mémoire
virtuelle(vRAMs), carte réseau virtuelle (vNICs),
stockage virtuel . . . etc ;
●
Les hyperviseurs, aussi appelés Virtual Machine
Management (VMMs), sont considérés comme les
principaux moteurs de la virtualisation dans les
datacenters ;
Hyperviseur – Types 1
●
L'hyperviseur de type 1,
nommé « bare metal »
s’exécute directement sur
le matériel de l’hôte.
●
Ex :Hyper-V (Microsoft),
ESXi (VMware), Proxmox
VE qui se base sur Linux
KVM et qui est open
source, ou encore
XenServer (Citrix ) ;
Hyperviseur – Types 2
●
Ce type d’hyperviseur est
installé comme une
application, au dessus d’un
OS. Il nécessite la
communication avec l’OS hôte
pour accéder au ressources
physiques ;
●
Ex :VMware workstation,
player, Oracle VirtualBox .
Virtualisation des ressources
●
La virtualisation est le processus d’abstraction des
ressources physiques dans le pool de ressources
virtuelles qui peut être donné à n’importe quelle VM :
✔
Virtualisation du processeur (VCPU) ;
✔
Virtualisation de la mémoire (VT-x, AMD-v, Pool de
mémoire) ;
✔
Virtualisation du stockage (SAN, NAS) ;
✔
Virtualisation du réseau (VLAN) ;
Types de virtualisation
Types de virtualisation
●
Virtualisation complète
La virtualisation complète, soutenue par les
translations binaires, isole les OS invités en utilisant
un hyperviseur pour convertir les instructions non-
virtualisées en séquences d'instructions compatibles
avec l'infrastructure virtuelle.
Types de virtualisation
●
Para virtualisation
La para virtualisation implique des systèmes
d'exploitation invités modifiés, conscients de leur état
virtualisé, utilisant des appels (HyperCalls)
spécifiques à l'hyperviseur pour améliorer les
performances en évitant certaines opérations
coûteuses (Binary Translation).
Types de virtualisation
●
Assistée par matériel
La virtualisation assistée par matériel utilise les
capacités matérielles des processeurs pour améliorer
l'efficacité des opérations de virtualisation, offrant un
support direct aux hyperviseurs pour gérer plus
efficacement les machines virtuelles.
5.Introduction aux conteneurs
Conteneurisation
●
La conteneurisation est une forme de virtualisation au
niveau de l'OS qui isole et exécute des applications
avec leurs dépendances dans des environnements
autonomes appelés conteneurs, partageant le même
noyau d'OS pour une portabilité et une efficacité
accrues dans le déploiement d'applications.
Conteneurisation
●
La conteneurisation est soutenue principalement par
des technologies telles que :
✔
Docker pour créer et gérer des conteneurs
autonomes ;
✔
Kubernetes pour orchestrer et gérer efficacement
de multiples conteneurs sur des clusters de
machines ;
Conteneurisation
6.Conclusion
●
Les concepts fondamentaux à connaître pour
comprendre le Cloud Computing;
●
Ensuite, nous avons présenter les modèles de
services et de déploiements cloud pour faciliter les
choix d’un point de vu commercial, opérationnel ;
●
Le dernier point était consacré aux technologies
moteurs du Cloud Computing ;
●
Une petite introduction sur les containers et
l’orchestration (Docker/Kubernetes) ;
Merci !!! Question