Cours cloud et virtualisation
Plan du cours
2 Cloud et virtualisation - Mme
DERBEL
⏵ Chapitre 1: Infrastructure
informatique
⏵ Chapitre 2: Infrastructure
Virtualisée
⏵ Chapitre 3: Conteneurisation
(Docker)
⏵ Chapitre 4: Cloud Computing
Chapitre 1
Infrastructure informatique
Chapitre I
4 Cloud et virtualisation - Mme
DERBEL
I. Introduction
II. Notion d’infrastructures informatiques
III. Types d’infrastructures informatiques
IV. Serveur informatique
V. Disponibilité des Serveurs
VI. Exemple d’infrastructure: application
web
I. Introduction
5 Cloud et virtualisation - Mme
DERBEL
⏵ La technologie est au cœur de presque tous les aspects
des entreprises d'aujourd'hui, qu'il s'agisse des activités des
employés ou des opérations sur des services.
⏵ Une infrastructure informatique souple, fiable et sécurisée,
va permettre à une entreprise d'atteindre ses objectifs et lui
assurer un avantage concurrentiel sur le marché.
⏵ Une infrastructure correctement implémentée permet
d’assurer la rentabilité de l’entreprise.
⏵ Une infrastructure, n'est pas correctement mise en œuvre, cause
des problèmes de connectivité, de productivité et de sécurité, tels
que des interruptions et des violations du système.
II. Infrastructure informatique
6 Cloud et virtualisation - Mme
DERBEL
⏵ L'infrastructure informatique ou de la technologie de
l'information (IT), fait référence aux composants combinés
nécessaires au fonctionnement et à la gestion des
services et des environnements informatiques de
l'entreprise.
⏵ L’infrastructure informatique regroupe l’ensemble des
équipements matériels (postes de travail, serveurs,
équipements réseau…) et des logiciels (systèmes
d’exploitation, outils de gestion, outils de
supervision…) d’une entreprise. En effet, l’infrastructure
informatique représente l’agencement entre les ressources de
calcul, le système de stockage et le réseau pour fournir
les services et les solutions informatiques souhaités par
l’entreprise.
II. Composants d'une infrastructure
informatique
7 Cloud et virtualisation - Mme
DERBEL
Matériel
⏵ Le matériel comprend les serveurs, les datacenters, les ordinateurs,
les routeurs, les commutateurs et d'autres équipements.
⏵ Les installations qui hébergent, refroidissent et alimentent un
datacenter peuvent également être considérées comme des
composants matériels de l'infrastructure.
Logiciels
⏵ Les logiciels font référence aux applications utilisées par l'entreprise,
telles que les serveurs web, les systèmes de gestion et le système
d'exploitation…
III. Types d'infrastructures informatiques
8 Cloud et virtualisation - Mme
DERBEL
Toutes les entreprises n’ont pas les mêmes besoins en matière
d’architecture informatique.
En matière d’hébergement, deux grandes familles de solutions s’offrent
aux entreprises :
⏵ Infrastructure sur site, dite on-premise
infrastructure installée sur site ; elle est
généralement dédiée à une utilisation privée,
pour l'entreprise.
⏵ Infrastructure externe (le cloud): l’entreprise sous-
traite l’installation, la gestion et la maintenance de
l’infrastructure à un prestataire externe, donc les
équipements sont situés hors des locaux de
l’entreprise.
III. Types d'infrastructures informatiques
9 Cloud et virtualisation - Mme
DERBEL
Infrastructure sur site
⏵ Infrastructure classique: Dans ce cas, des systèmes
d’exploitation et des services logiciels sont installés
directement sur les serveurs informatiques (en suivant
généralement la règle un service = une application).
⏵ Infrastructure virtualisée: La virtualisation permet
de une version virtuelle d’équipements physiques,
comme
crée
r
de
s
serveurs, des systèmes de stockage ou des
réseaux. La virtualisation de systèmes (serveurs) permet
d’exécuter plusieurs machines sur le même serveur physique.
III. Types d'infrastructures informatiques
Infrastructure sur site
10 Cloud et virtualisation - Mme
DERBEL
III. Types d'infrastructures informatiques
Infrastructure sur site (on-premise)
On-premise
Application
Données
Runtime
middeware
OS
Virtualisati
on
Serveurs
couches
Installation, configuration, mise à
jour… Structure, connexion,
sauvegarde….
Développement, maintien, mises à
jour….
Configuration, connexion, mise à
jour …
Licences, fonctionnalités, mise à
jour , dépannage…
Hyperviseur, licences, mises à jour,
gestion…
Baies, serveurs, onduleurs, maintenance,
garantie, dépannage….
SAN, NAS, sauvegarde, archivage, disques…..
Câblage, équipements, adressage, ACL,
Stockag
e
Réseau
matérielle
s
logicielle
s
11 Cloud et virtualisation - Mme
DERBEL
III. Types d'infrastructures informatiques
12 Cloud et virtualisation - Mme
DERBEL
Infrastructure cloud
⏵ Une infrastructure cloud est similaire à l'infrastructure
traditionnelle. Un fournisseur cloud se charge de la
mise en œuvre de l’infrastructure informatique physique
et de sa maintenance pour assurer son fonctionnement
continu. Les utilisateurs finaux accèdent à cette
infrastructure via Internet. Différents types de services
cloud sont proposés (du l’infrastructure jusqu’au logiciel).
coût locatif à payer suivant la consommation.
III. Types d'infrastructures informatiques
Infrastructure cloud
Virtualisatio
n
Serveur
s
Stockag
e
Réseau
Couches On-premise IaaS
Installation, configuration, mise à jour… Application Application
Structure, connexion, sauvegarde…. Données Données
Développement, maintien, mises à jour…. Runtime Runtime
Configuration, connexion, mise à jour … middeware middeware
Licences, fonctionnalités, mise à
jour , dépannage…
OS OS
Hyperviseur, licences, mises à
jour, gestion…
Virtualisation Virtualisation
Baies, serveurs, onduleurs,
maintenance, garantie, dépannage….
Serveurs Serveurs
SAN, NAS, sauvegarde,
archivage, disques…..
Stockage Stockage
Câblage, équipements, adressage,
ACL, sécurité…
Réseau Réseau
13 Cloud et virtualisation - Mme
DERBEL
14 Cloud et virtualisation - Mme
DERBEL
III. Types d'infrastructures informatiques
Infrastructure cloud
Applicatio
n
Donnée
s
Runtim
e
Runtim
e
middewar
e
middewar
e
OS OS
Virtualisatio
n
Virtualisatio
n
Virtualisatio
n
Serveur
s
Serveur
s
Serveur
s
Stockag
e
Stockag
e
Stockag
e
Réseau Réseau Réseau
Couches On-premise IaaS PaaS SaaS
Installation,
configuration, mise à
jour…
Application Application Application Application
Structure,
connexion,
sauvegarde….
Données Données Données Données
Développement,
maintien, mises à jour….
Runtime Runtime Runtime Runtime
Configuration,
connexion, mise à jour
…
middeware middeware middeware middeware
Licences, fonctionnalités,
mise à jour , dépannage…
OS OS OS OS
Hyperviseur, licences, mises
à jour, gestion…
Virtualisation Virtualisation Virtualisation Virtualisation
Baies, serveurs,
onduleurs, maintenance,
garantie, ….
Serveurs Serveurs Serveurs
Serveurs
SAN, NAS, sauvegarde,
archivage, disques…..
Stockage Stockage Stockage Stockage
Câblage, équipements, Réseau Réseau Réseau Réseau
IV. Serveur informatique
15 Cloud et virtualisation - Mme
DERBEL
⏵ Le serveur est un composant de base de toute infrastructure informatique.
⏵ Le terme « serveur » possède deux significations en informatique:
⏵ Serveur (Hardware): Un serveur matériel est un ordinateur spécifique
⏵ partageant ses ressources avec d'autres ordinateurs
⏵ Capable de travailler pendant une langue durée
⏵ Ayant des composants spécifiques et performants
⏵ Ayant des capacités importantes de traitement et de stockage
⏵ Ayant des composants réparables à chaud
⏵ Ayant des composants redondants,etc.
⏵ Serveur (Software): un serveur logiciel est un programme effectuant
des interactions (via le réseau) avec d’autres programmes appelés clients
logiciels. Le service apporté dépend du type du logiciel serveur
(architecture Client- serveur).
IV. Serveur informatique
Architecture Client - Serveur
Exemple d’architecture Client - Serveur
16 Cloud et virtualisation - Mme
DERBEL
V. Disponibilité des Serveurs
17 Cloud et virtualisation - Mme
DERBEL
⏵ Lahaute disponibilité (un enjeu
indispensable):
La
haute
disponibilité désigne la capacité d’un système, ou de l’un de
ses composants, à rester constamment opérationnel pendant de
longues périodes.
⏵ De
nombreuses
disponibilité :
⏵ la redondance
techniques sont utilisées pour améliorer la
⏵ la mise en cluster
⏵ la possibilité de reconfigurer le serveur « à chaud » (c’est-à-
dire lorsque celui-ci fonctionne)
⏵ etc
V. Disponibilité des Serveurs: redondance
d’alimentation
⏵ Pour assurer au maximum la disponibilité des serveurs, on
applique la redondance d’alimentation (sur 3 niveaux):
⏵ Redondance de sources d’alimentation au niveau du Datacenter.
⏵ Onduleur et groupe électrogène en cas de coupure de courant.
⏵ Redondance des boitiers d’alimentation dans les serveurs.  Des
boitiers qui peuvent être remplacés à chaud.
18 Cloud et virtualisation - Mme
DERBEL
V. Disponibilité des Serveurs: mise en
cluster
19 Cloud et virtualisation - Mme
DERBEL
⏵ Afin de fournir une disponibilité optimale des services, il est
possible d’utiliser le principe de mise en cluster de serveurs
permettant le basculement en cas de panne.
⏵ Cette capacité de basculement existe pour tout type
d'équipement réseau (serveur, routeur, pare-feux, commutateurs
réseau (switch)). Le basculement intervient généralement sans
action humaine et même bien souvent sans aucun message
d'alerte. Le basculement est conçu pour être totalement
transparent.
⏵ Il existe 2 approches de mise en cluster:
⏵ L’approche actif/passif (tolérance aux pannes / failover cluster)
⏵ L’approche actif/actif (répartition de charges/ Load-Balancing cluster)
V. Disponibilité des Serveurs: cluster de
basculement
20 Cloud et virtualisation - Mme
DERBEL
⏵Principe de fonctionnement du cluster de basculement (Failover)
Le cluster de basculement se base sur l’utilisation de différents
nœuds (serveurs) assurant tous le même service. Un nœud est élu
master (actif), il reçoit et traite les requêtes (transaction SQL, …). Les
autres nœuds sont en attente, ils ne
répondent pas aux requêtes (passifs). En cas de défaillance
du nœud master, le service est basculé sur un nœud passif, qui devient
alors un nouveau master, pour continuer à traiter les requêtes.
 Le cluster de basculement (cluster actif/passif) permet d’assurer
la haute disponibilité d’un service. Il est souvent utilisé avec des
technologies comme les serveurs bases de données, équilibreurs de
charges, etc…
V. Disponibilité des Serveurs: cluster de
basculement
Prenons l’exemple d’un cluster SQL. Le service fourni
est donc une base de données.
⏵ Dans un fonctionnement normal, le serveur actif
assure le rôle maître du cluster. C’est ce dernier qui
répond aux requêtes de l’utilisateur. Le second serveur
est alors passif.
⏵ En cas de problème sur le serveur maître, le
serveur anciennement passif détecte le problème et
devient à son tour actif. Il prend alors en charge
les requêtes de l’utilisateur.
Du côté utilisateur, la panne et le basculement ont
été totalement transparents. Le client continue
l’utilisation du service.
21 Cloud et virtualisation - Mme
DERBEL
V. Disponibilité des Serveurs: cluster avec
répartition de charge
22 Cloud et virtualisation - Mme
DERBEL
⏵ Principe de fonctionnement du cluster d’équilibrage de charge (load-
balancing)
⏵ Le cluster avec répartition de charge permet d’assurer la haute disponibilité
d’un service ou d’une application en répartissant la charge sur plusieurs
nœuds. En effet, si une défaillance survient sur un nœud, sa charge est
redistribuée sur les autres nœuds du cluster.
⏵ Les différents nœuds du cluster fournissent toujours le même service.
Tous les nœuds peuvent répondre et traiter les requêtes. On
parle alors de fonctionnement actif/actif.
⏵ Dans le cas du cluster d’équilibrage de charge, on utilise en plus des
serveurs du cluster un ou plusieurs équilibreur(s) de charge
Les services Web (site web, api) sont particulièrementadaptés au mode
de fonctionnement du cluster avec répartition de charge.
V. Disponibilité des Serveurs: cluster avec
répartition de charge
⏵ Prenons le cas d’un site web. Les utilisateurs se connectent à un site web
(ex : site eCommerce, médias, etc). La charge est répartie sur plusieurs
serveurs pour pouvoir encaisser un fort trafic.
On constate que, même en cas de dysfonctionnement d’un serveur du
cluster, le site web continue de fonctionner normalement. Le serveur non-
fonctionnel ne participe plus au cluster et sa charge est repartie sur les nœuds
restants.
23 Cloud et virtualisation - Mme
DERBEL
VI. Exemple d’Infrastructure–application Web
⏵ L’application web est l’application typique de l’architecture client-serveur
(une
application idéale pour étudier la mise en œuvre d’une infrastructure
informatique)
⏵ L’application web est constituée d’une façon générale d’
⏵ un navigateur web,
⏵ Un(s) serveur(s) de traitement qui va (vont) exécuter le code,
⏵ et un serveur base de données.
Un utilisateur utilise un navigateur web, il envoie une requête vers le
serveur de traitement. Ce dernier reçoit la requête, il interroge la base de
données, il construit une page HTML avec les données, puis il envoie la réponse à
l’utilisateur.
De nombreuses entreprises optent pour le déploiement d’une infrastructure sur site
(en interne), afin d’héberger leur site web et/ou gérer leur base de données (voir
feuille de TD1).
24 Cloud et virtualisation - Mme
DERBEL
Chapitre 2
Infrastructure virtualisée
Plan du chapitre
26 Cloud et virtualisation - Mme
DERBEL
⏵ Introduction
⏵ Virtualisation de systèmes/serveurs
⏵ Notion et types d’hyperviseurs
⏵ Mise en réseau des machines
virtuelles
⏵ Stockage de machines virtuelles
⏵ Infrastructure virtualisée
Concept de base de la virtualisation de
systèmes
Architecture traditionnelle
•un système d’exploitation sur
une machine
•Exécutio
n
application
s
de
plusieurs sur un
serveur
augmente le risque d’interruption
du service global
•En général, 1 serveur =
1
applicatio
n
Architecture virtualisée
•Ajout d’une
couche d’abstraction
•Possibilités d’exécuter
plusieurs
OS sur la même
machine
physique
•Chaque
possède
application
s
machin
e ses
et
virtuell
e
propres
systèm
e
d’exploitatio
n
27 Cloud et virtualisation - Mme
DERBEL
Concept de base de la virtualisation de
systèmes
Cloud et Virtualisation - Mme
DERBEL
28
La virtualisation de systèmes (serveurs):
⏵ Le fait d’exécuter plusieurs systèmes d’exploitation, en même
temps, sur une seule machine physique (serveur).
⏵ Ce ci est devenu possible par l’ajout d’une couche d’abstraction
qui découple le système d'exploitation du matériel.
⏵ C’est l’hyperviseur qui permet de réaliser cette couche
d’abstraction et cohabiter ainsi plusieurs systèmes d’exploitation
invités.
Serveur
physique
Application
s OS
Serveur physique
(Hôte)
Application
s
OS invité OS invité OS
invité OS Hôte /
Hyperviseur
Virtualisatio
n de
systèmes
VM
Application
s
VM
Application
s
VM
Lexique
29 Cloud et virtualisation - Mme
DERBEL
⏵ Hôte: serveur physique
⏵ OS Hôte: système d’exploitation de l’hôte
⏵ Hyperviseur: couche logiciel permettant de réaliser
l’abstraction du matériel et gérer les machines virtuelles
⏵ OS invité: système d’exploitation exécuté au sein d’une
machine virtuelle
⏵ VM : machine virtuelle composée de:
⏵ Applications (logiciels).
⏵ Système d’exploitation invité,
⏵ Composants virtuels (CPU, RAM, disque dur, interface réseau, et
autres ressources nécessaires) emballés dans un ensemble de
fichiers
 une VM
⏵ Du point de vue utilisateur: Une VM est une plateforme système qui
permet d’exécuter des applications et contient des données (Même définition
que la machine physique.)
⏵ Du point de vue hyperviseur: Une VM est une suite de fichiers de
configuration matériel, de disque dur, de fichiers log, etc.
Principes de la virtualisation
Plusieurs VM s’exécutent
simultanément sur le
même serveur physique
Chaque VM s’exécute
dans un environnement
propre isolé des autres
VMs (isolation)
Une VM est enregistrée
dans un ensemble de
fichiers.
Ex: Pour copier une VM il
suffit de copier ses
fichiers associés
Les VMs sont
indépendantes du
matériel.
Ces VMs peuvent
s’exécuter sur différents
serveurs sans avoir besoin
de modifications
30 Cloud et virtualisation - Mme
DERBEL
Avantages
31 Cloud et virtualisation - Mme
DERBEL
⏵ Consolidation: Optimisation du taux d’utilisation des ressources
des serveurs
⏵ Rationalisation: Suppression des serveurs superflus (inutiles)
⏵ Concentration: Réduction de l’espace occupé par les serveurs
⏵ Conséquences:
⏵ La Réduction des coûts:
⏵ Réduction du nombre de serveurs physiques utilisés et à maintenir.
⏵ Réduction de la consommation de l’énergie due au
fonctionnement des serveurs et leur conditionnement
(climatisation).
⏵ Augmentation considérable du taux d’utilisation des ressources. On
peut atteindre 80% d’utilisation du CPU.
⏵ Amélioration de la disponibilité des serveurs
⏵ Une plus grande souplesse pour gérer l’évolution des
besoins informatiques.
Notion et types d’hyperviseurs
(Couche d’abstraction)
Hyperviseur
⏵ Hyperviseur: ou gestionnaire de machine virtuelle VMM (VM
Monitor)
⏵ Couche logicielle permettant de créer, d’exécuter et de gérer des
machines virtuelles indépendantes sur le même serveur physique.
⏵ Il est responsable de la gestion des ressources de la VM incluant
son CPU, sa RAM et ses autres ressources dont elle a besoin.
- Les VM ne vont pas aller se servir
directement dans les ressources de
la machine hôte, tout simplement car
elles n’ont pas conscience d’être
des VM hébergées sur un hôte.
33 Cloud et virtualisation - Mme
DERBEL
- L’hyperviseur joue le rôle de
chef
d’orchestre pour allouer à chaque
VM les ressources dont elles ont
besoin, au bon moment et dans
les bonnes quantités
Types d’hyperviseurs
Hyperviseur natif (bare
metal ou type 1)
⏵ Installé directement sur
une plateforme matérielle.
⏵ Utilisé dans le cas de
la virtualisation
d’un environnement de
production (tel qu’un
Datacenter).
Hyperviseur hébergé
(hosted ou type 2)
⏵ Il s’exécute à l’intérieur
d’un système
d’exploitation.
⏵ Destinée à des usages
de test et n’est pas
adaptée à des contextes
de production.
34 Cloud et virtualisation - Mme
DERBEL
Le besoin détermine le type d’hyperviseur
35 Cloud et virtualisation - Mme
DERBEL
Solutions d’hyperviseur
36 Cloud et virtualisation - Mme
DERBEL
⏵ Vmware vSphere:
⏵ Hyperviseur: ESXi
⏵ Gestionnaire de hôte: vCenter Server
⏵ Mircosoft Windows server:
⏵ Hyperviseur: Hyper-V
⏵ Gestionnaire de hôte: System Center Virtual Machine
Manager
⏵ Citrix:
⏵ Hyperviseur: Xen
⏵ Redhat:
⏵ Hyperviseur: KVM, oVirt
Infrastructure virtualisée
Système de stockage dans un environnement
virtualisé
⏵ Les machines virtuelles existent sous forme de 2 entités physiques:
⏵ Un ensemble de fichiers enregistré au niveau de disque dur
⏵ Instanciation en mémoires qui constitue une VM en cours d'exécution
une fois démarrée.
⏵ Le stockage des données dans un environnement virtualisé peut
être:
⏵ Local: dans les disques durs des hôtes (cas des copies et des images de
VMs).
⏵ Partagé: dans les disques durs des serveurs dédiés pour le stockage partagé
via le réseau (cas des VMs en production) .
⏵ Exemples d’architectures de stockage réseau: SAN (Storage Area Network) et
NAS (Network Atteched Storage).
Stockage
local
38 Cloud et virtualisation - Mme
DERBEL
Stockage
partagé
SAN (Storage Area Network)
⏵ Un SAN est un réseau haut débit dédié et indépendant qui interconnecte
plusieurs serveurs et leur offre des pools partagés de périphériques de
stockage. Chaque serveur peut accéder à un stockage partagé comme s’il
s’agissait d’un lecteur y étant directement rattaché.
Utilisation d’un SAN cas
d’une infrastructure
virtualisée
39 Cloud et virtualisation - Mme
DERBEL
Stockage partagé
40 Cloud et virtualisation - Mme
DERBEL
Système de gestion de l’infrastructure
virtualisée
Cloud et Virtualisation - Mme
DERBEL
41
⏵ Une infrastructure virtualisée est formée d’au moins deux
serveurs hôtes (serveurs responsables de l’exécution de
VMs)
⏵ Pour qu’une infrastructures soit plus résiliente, il faut trois serveurs
hôtes minimum (recommandation)
⏵ La haute disponibilité se traduit par la mise en place d’un
contexte de cluster auquel on associe un ensemble des
serveurs hôtes.
⏵ Ces serveurs sont généralement administrés de manière
centralisée via un logiciel de gestion offrant une interface
centrale de gestion accessible à travers une machine cliente
(serveur de gestion).
⏵ Les logiciels de gestion permettent la gestion centralisée de
multiples serveurs hôtes et des VMs hébergées sur ces
serveurs.
 ces logiciels forment les point central de l’infrastructure virtualisée.
 L’utilisation de ces logiciels permet d’accroitre la disponibilité de VMs
par la gestion automatique du cluster d’hotes (Haute
disponibilité HA, équilibrage de charges, migration de VM, migration
Système de gestion de l’infrastructure
virtualisée
42 virtualisation- Mme
DERBEL
Migration de machines virtuelles
43 virtualisation- Mme
DERBEL
Migration « à chaud » et « à froid » d’une machine virtuelle
⏵ La migration à chaud d’une VM est un service qui permet
de transférer une machine virtuelle lancée d'un serveur
physique vers un autre sans aucune interruption de service.
⏵ A l’inverse, la migration à froid signifie qu’on déplace la VM
d’un hôte vers l’autre lorsqu’elle est éteinte (arretée).
⏵ Généralement, avant de pouvoir migrer à chaud une VM d’un
hôte vers l’autre il faut que celle-ci soit stockée dans un
espace de stockage partagé entre ces deux hôtes tel qu’un
SAN
⏵ Principaux raisons de la migration à chaud (dynamique) des
VM:
⏵ Assurer la haute disponibilité (HA)
⏵ Assurer l’équilibrage de charges (Load balancing)
⏵ Réduire la consommation d’énergie (DPM: distributed
Power Management)
Migration à chaud une machine virtuelle
⏵ Migration à chaud d’une VM entre deux hôtes partageant le
même espace de stockage et appartenant au même cluster.
⏵ Cette migration s'effectue en 3 étapes :
VM en cours
d’exécution sur l’hôte
source
-recherche d'un hôte de
destination
- réserver un conteneur sur
l'hôte distant en lui envoyant
une requête de réservation en y
indiquant les ressources
nécessaires à la machine
virtuelle
Coipe de la mémoire:
Les données relatives à la VM
qui sont enregistrées au niveau
de la mémoire sont transférées à
travers le réseau de l’hôte
source à l’hôte cible.
VM en cours
d’exécution sur l’hôte
cible
Basculement automatique de
serveur
44 virtualisation- Mme
DERBEL
Conteneurisation
45 Cloud et virtualisation - Mme DERBEL
Chapitre 3
1. Principe de la conteneurisation
2. Image de conteneur
3. Environnement d’exécution de conteneur et
moteur de conteneurisation
4. Orchestration de conteneurs
Principe de la conteneurisation
⏵ La virtualisation d’OS permet d’avoir
une VM complète:
⏵ Très bénéfique pour plusieurs
utilisations.
⏵ Mais, présente certains inconvénients:
⏵ Consommation de ressources
et affaiblissement de
performances,
⏵ Couche d’OS complète inutile
pour certaines circonstances.
⏵ Souvent, on a besoin seulement de
l’application qui va tourner sur une
VM:
⏵ L’application a besoin de certains
modules de l’OS (bin et lib) et non pas
d’un OS.
⏵ Un conteneur permet de fournir les
modules nécessaires à l’exécution
d’une application dans un
r
OS hôte
Hôte
Apps
App
1
App2
Isolateur
Contene
u
Isolateu
r
Contene
u r
Hyperviseu
r
Apps
Hyperviseu
r
OS
hô
te
Hô
te
VM1
App
OS invité
1
VM2
App
OS invité
2
46 Cloud et virtualisation - Mme DERBEL
Virtualisation
d’OS
Virtualisation
d’App
Conteneurisation
47 Cloud et virtualisation - Mme DERBEL
Conteneur (container)
48 Cloud et virtualisation - Mme DERBEL
⏵ Un conteneur est une partie logique servant à isoler les applications sur un
même serveur. Plutôt que de répliquer entièrement un système d'exploitation
pour chaque application, comme dans une VM, les conteneurs permettent
aux applications d'un serveur de partager le même noyau du système
d'exploitation. Ce système d'exploitation partagé est appelé OS hôte.
⏵ Un conteneur est une encapsulation des composants nécessaires à
l’exécution d’une application (micro-service) au dessus du noyau de
l’OS hôte.
⏵ Les composants nécessaires incluent entre autres:
⏵ Fichiers binaires exécutables (binary files),
⏵ Bibliothèques (librairies), outils système (system tools), dépendances à
d’autres applications,
⏵ Fichiers de configuration d’environnement (réseau, etc.) et d’exécution
(path)
⏵ Un conteneur s'appuie sur le noyau, mais le noyau ne fournit pas
toutes les API et tous les services dont une application a besoin pour
s'exécuter:
⏵ La plupart d'entre eux sont fournis par des fichiers système
(bibliothèques) qui s'exécutent au-dessus du noyau en mode utilisateur.
Conteneur (suite)
49 Cloud et virtualisation - Mme DERBEL
⏵ Le conteneur permet de créer un environnement léger et isolé
sans influence:
⏵ sur l’OS hôte et ainsi que ses applications,
⏵ ni sur d’autres conteneurs hébergés sur le même OS hôte.
⏵ Le conteneur peut être déplacé d’un hôte vers un autre sans
affecter les fonctionnalités de l’application qu’il encapsule:
⏵ Migration facile et légère du conteneur grâce à l’absence de la
couche OS.
⏵ Toute modification n'affecte que le conteneur et est ignorée
lorsqu'il est supprimé.
⏵ Une fois supprimé, toute donnée manipulée au sein du conteneur
sera perdue.
⏵ Pour enregistrer des données, le conteneur peut monter un
stockage persistant (disque) ou un partage/envoi de fichiers à
travers le réseau.
Image de conteneur
Image de conteneur (cas du docker)
51 Cloud et virtualisation - Mme
DERBEL
Image de conteneur
52 Cloud et virtualisation - Mme
DERBEL
⏵ Les conteneurs sont créés à partir d’image de conteneur.
⏵ Une image de conteneur est un ensemble de fichiers statiques
non modifiables organisés en une pile de couches qui réside sur
un hôte local ou dans un registre de conteneurs distant.
⏵ L'image du conteneur se compose :
⏵ des fichiers de l’OS cible en mode utilisateur nécessaires pour prendre
en charge une application,
⏵ de tous les environnements d'exécution ou dépendances de
l’application, et
⏵ de tout autre fichier de configuration divers dont l’application a besoin
pour s'exécuter correctement.
⏵ L’image peut être vu comme un modèle de conteneur à instancier.
⏵ Un conteneur est en quelque sorte une instance d’image en
cours d’exécution.
⏵ Si une image est supprimée, tous les conteneurs dépendants d’elle le
seront aussi.
Image de conteneur: exemple
⏵ Si on veut déployer une application web dans
un serveur LAMP (Linux Apache MySQL PHP)
sous forme d’un conteneur, l’image à
instancier doit contenir:
⏵ Une couche des fichiers systèmes et librairies de
l’OS cible (ex. Ubuntu) nécessaires à l’exécution de
Apache, MySQL et PHP.
⏵ Une couche Apache pour démarrer le serveur Web
avec les fichiers de configuration
⏵ Une couche MySQL qui contiendra le système
de gestion de bases de données MySQL
⏵ Une couche PHP contenant un interpréteur PHP
avec bibliothèques requises.
⏵ Il suffit donc de:
⏵ Télécharger une image qui contient ces couches,
⏵ Instancier un conteneur (avec un moteur de
conteneur) à partir de cette image, et
⏵ Développer/Déployer l’application voulue dans le
conteneur créé.
53 Cloud et virtualisation - Mme
DERBEL
Environnement d’exécution de
conteneur
et moteur de conteneurisation
Architecture Docker
⏵ Le client Docker prend les commandes et envoie ces commandes au
démon via l'API. Le démon Docker est responsable de
l'implémentation de ces commandes à l'aide des bibliothèques
containerd et runc.
55 Cloud et virtualisation - Mme
DERBEL
Environnement d’exécution de conteneur
56 Cloud et virtualisation - Mme
DERBEL
⏵ La création et l’exécution des conteneurs requièrent un
logiciel spécifique appelé environnement d’exécution de conteneur
(Container runtime):
⏵ Comme JRE (Java Runtime Environment) pour les applications Java.
⏵ C’est l’équivalent de l’hyperviseur dans la virtualisation de systèmes.
⏵ C’est le responsable de la création d’environnement isolé
pour l’exécution d’application et donc faire fonctionner le conteneur.
⏵ C’est lui qui communique avec le noyau de l’OS hôte pour :
⏵ Charger une image de conteneur (décompression et chargement),
⏵ Gérer le cycle de vie du conteneur.
⏵ Appliquer les politiques d’accès et de sécurité pour l’exécution de
conteneur.
⏵ Les environnements les plus populaires:
⏵ LXC (2008): Linux Container, projet basé sur linux avec l’introduction
de nouvelles fonctionnalités.
⏵ runC de Docker (2013): basé sur LXC avec de nouvelles fonctionnalités
qui facilitent la création d’image et la mobilité des conteneurs entre
hôtes.
Moteur de conteneurisation
57 Cloud et virtualisation - Mme
DERBEL
⏵ Un moteur de conteneurisation (Container engine) est une
couche logicielle haut niveau qui se base sur un runtime pour
l’utilisation des conteneurs.
⏵ Les moteurs de conteneurs permettent généralement de:
⏵ Gérer les entrées des utilisateurs,
⏵ Gérer les entrées via les API (pour être utilisé par d’autres logiciels),
⏵ Extraire l'image du conteneur d'un serveur de registre,
⏵ Utilisez le pilote graphique pour décompresser et étendre les
images de conteneur sur le disque
⏵ Préparer les points de montage pour les conteneurs,
généralement en utilisant le stockage copy-on-write (COW).
⏵ Préparer les données nécessaires à transmettre au runtime pour
lancer le conteneur correctement.
⏵ Appeler le runtime du conteneur.
⏵ Exemple: Docker (projet containerd) et LXD (basé sur LXC).
Le concept du Cloud Computing
58 Cloud et virtualisation - Mme
DERBEL
Chapitre 4
⏵ 1) Définition
⏵ 2) Modèles de service Cloud
⏵ 3) Modèles de déploiement
Cloud
1) Cloud Computing CC: Définition
59 Cloud et virtualisation - Mme
DERBEL
⏵ Cloud: nuage, c’est le terme qui représente Internet
⏵ Computing: calcul, pour faire référence à la puissance de
calcul, autrement dit, de traitement qu’on peut avoir.
⏵ Définition selon Gartner :
⏵ CC is a style of computing in which scalable and elastic IT-enabled capabilities
are delivered as a service using internet technologies.
⏵ C’est un « style » de calcul dans lequel des capacités informatiques
évolutives et élastiques sont fournies en tant que service à l'aide
d’Internet.
⏵ Définition selon NIST (National Institute of Standards and
Technology):
⏵ CC is a model for enabling convenient, on-demand network access to a
shared pool of configurable computing resources that can be
rapidly provisioned and released with minimal management effort or service
provider interaction.
⏵ C'est un modèle permettant un accès réseau pratique et à la demande
à un pool partagé de ressources informatiques configurables qui
peuvent être rapidement provisionnés et libérés avec un effort de
gestion ou une interaction avec le fournisseur de services minimal.
Caractéristiques du C C (selon NIST)
60 Cloud et virtualisation - Mme
DERBEL
⏵ Cinq caractéristiques essentielles
1. Libre Service à la demande (On-demand self-service)
2. Large accès au réseau (Broad network access)
3. Mutualisation des ressources (Resource pooling)
4. Élasticité rapide (Rapid elasticity)
5. Service mesuré /payé selon la consommation (Measured
service/ Pay per use)
⏵ Les solutions cloud reposent principalement sur des
technologies de virtualisation et d’automatisation.
⏵ Trois caractéristiques clés du Cloud le différencient de
l’informatique traditionnelle :
⏵ Mutualisation et allocation dynamique de capacité (adaptation
élastique aux variations de charge).
⏵ Services à la place de produits technologiques avec mise à jour en
continu et automatique.
⏵ Self-service et paiement à l’usage (en fonction de ce que l’on
consomme).
Avantages
61 Cloud et virtualisation - Mme
DERBEL
⏵ Il existe plusieurs avantages de passer au concept Cloud,
parmi lesquels, 3 avantages particuliers séduisent les entreprises:
⏵ 1) Rapidité de déploiement :
⏵ Au besoin de ressources informatiques, il faut acquérir, installer et
configurer toutes les pièces nécessaires  délai trop long.
⏵ Avec une solution cloud, l'équipement fonctionne déjà chez le CP et on
peut commencer à utiliser le service en un temps record (~ quelques
minutes).
⏵ 2) Pas de coûts initiaux importants:
⏵ Au lieu d’investir des sommes énormes pour l’achat (et la
maintenance) d’équipements informatiques nécessaires au
démarrage de son activité, l’entreprise ne dépense que ce qu’elle
consomme dans le Cloud.
⏵ 3) Extensibilité rapide
⏵ Quand les limites des ressources louées sont atteintes,
l’augmentation de capacité est réalisée immédiatement à la
demande en profitant de la disponibilité des ressources d’un
fournisseur cloud (CP: Cloud Provider).
Avantages
62 Cloud et virtualisation - Mme
DERBEL
⏵ Lors de la création ou du déploiement d'une application en
utilisant des services cloud, deux des principales
considérations sont à prévoir:
⏵ La haute disponibilité: La haute disponibilité vise à garantir
une disponibilité maximale, quels que soient les
perturbations ou les événements pouvant survenir.
⏵ Évolutivité: L'évolutivité fait référence à la capacité d'ajuster les
ressources pour répondre à la demande. En rencontrant
soudainement un pic de trafic et que les systèmes sont submergés,
la possibilité d'évoluer signifie qu’on peut ajouter davantage de
ressources pour mieux gérer la demande accrue.
⏵ L’évolutivité ou la mise à l’échelle se décline généralement en
deux variétés:
⏵ La mise à l'échelle verticale se concentre sur l'augmentation ou la
diminution des capacités des ressources.
⏵ La mise à l'échelle horizontale consiste à ajouter ou à soustraire le
nombre de ressources.
2) Modèles de service Cloud
63 Cloud et virtualisation - Mme
DERBEL
⏵ Un modèle de service Cloud est un ensemble de
services informatiques offerts par un fournisseur.
⏵ Un CP est responsable de la fourniture des ressources requises
au fonctionnement des services offerts à un consommateur
Cloud dans le cadre d'un contrat de service prédéfini et
convenu d'un commun accord appelé SLA (Service Level
Agreement).
⏵ NIST définie 3 modèles de service Cloud:
⏵ IaaS: Infrastructure as a Service
⏵ IaaS désigne la mise à disposition de ressources matérielles (puissance
de calcul, espace de stockage) sous forme de serveurs “virtualisés”
avec des capacités évolutives.
⏵ PaaS: Platform as a Service
⏵ Il s’agit d’offrir des ressources machines et de l’espace de stockage, mais
une plateforme d’exécution pour un logiciel.
⏵ SaaS: Software as a Service
⏵ C’est l’application qui est mise à disposition de l’utilisateur final.
Autres modèles dérivés du SaaS
64 Cloud et virtualisation - Mme
DERBEL
⏵ Database as a Service DBaaS:
⏵ C’est une forme spécifique du SaaS spécialisée dans la
fourniture d’opérations liées aux bases de données.
⏵ Permet au CP de fournir les fonctionnalités des bases de
données à des consommateurs multiples.
⏵ Des services mutuels supplémentaires peuvent être inclus:
⏵ Élasticité, multi-tenance sécurisée, protection contre les
attaques, sauvegarde, etc.
⏵ Communication as a Service CaaS:
⏵ Des services de communications sont fournis sous forme
de SaaS:
⏵ Voix sur IP, vidéoconférence, messagerie instantanée, etc.
⏵ Anything as a Service XaaS:
⏵ En combinant tous les modèles, tous peut être fournit sous
forme de service IT à travers le Cloud.
Répartition des responsabilités suivant les
modèles de services
65 Cloud et virtualisation - Mme
DERBEL
Répartition des responsabilités suivant les
modèles de services
à
⏵ Le client cloud est
toujours responsable de
:
⏵ Les informations et
données stockées dans le
cloud
⏵ Appareils autorisés à se
connecter votre cloud
(téléphones portables,
ordinateurs, etc.)
⏵ Les comptes et identités des
personnes, services et appareils
au sein de l’organisation
⏵ Le fournisseur cloud est
toujours responsable de :
⏵ Le datacenter physique
⏵ Le réseau physique
⏵ Les hôtes physiques
⏵ Le modèle de service choisi
déterminera la responsabilité
sur:
⏵ Systèmes d'exploitation
⏵ Contrôles réseau
⏵ Applications
⏵ Identité et infrastructure
66 Cloud et virtualisation - Mme
DERBEL
3) Modèle de déploiement Cloud
67 Cloud et virtualisation - Mme
DERBEL
⏵ Afin de mettre en œuvre les valeurs des modèles de services Cloud
et pour permettre aux utilisateurs d’en profiter, un modèle de
déploiement Cloud doit être choisi.
⏵ Le choix du modèle peut largement impacter une organisation ainsi
que son métier.
⏵ C’est pour cela qu’une grande attention et une planification
minutieuse doivent être considérées lors de l’implémentation
d’un déploiement Cloud dans une entreprise.
⏵ Une étude préalable doit être faite pour évaluer l’impact et les
bénéfices de ce changement sur un système d’information
existant.
⏵ Officiellement selon NIST, il existe 3 types de déploiement Cloud:
⏵ Cloud privé,
⏵ Cloud public,
⏵ Cloud hybride.
Cloud privé
68 Cloud et virtualisation - Mme
DERBEL
⏵ Un cloud privé est un modèle de déploiement Cloud où
l’infrastructure matérielle est possédée par une seule
organisation.
⏵ Un cloud privé peut être hébergé sur site. Il peut également être
hébergé dans un centre de données dédié hors site.
⏵ L’accès aux services Cloud est restreint aux membres de
l’organisation et, le cas échéant, ses partenaires.
⏵ Dans un cloud privé, l’organisation propriétaire est le
fournisseur et consommateur du cloud en même temps.
⏵ Elle assure l’entière responsabilité de bout en bout sur tous les
niveaux.
⏵ Elle a le contrôle totale sur toutes les ressources.
⏵ La mise en œuvre d’un cloud privé est souvent motivé par le
besoin de maintenir le contrôle totale pour des raisons légales ou
sécuritaire:
⏵ Exemple: les banques ont des contraintes de confidentialité
qui les interdisent d’externaliser les données.
Cloud public
69 Cloud et virtualisation - Mme
DERBEL
⏵ Un cloud public est une énorme infrastructure de
ressources informatiques possédée par une organisation CP et
dont l’utilisation est destinée à des consommateurs externes via
le réseau Internet.
⏵ L’accès au cloud public est destiné à tous:
⏵ Des particuliers (grand public).
⏵ Des entreprises, des organisations, etc.
⏵ Le consommateur a juste besoin d’un terminal (PC,
Téléphone, Tablette, etc.) et d’un accès Internet.
⏵ La maintenance d’infrastructure physique est la responsabilité du
CP mais la responsabilité des services Cloud dépend du modèle
utilisé et du contrat SLA entre les entités impliquées.
⏵ Les consommateurs sont facturés selon 2 modèles:
⏵ Abonnement mensuel,
⏵ Facturation à l’utilisation (par heure).
⏵ Exemple de grand fournisseurs: Amazon, Google, Microsoft, IBM,
OVH.
Cloud public (suite)
70 Cloud et virtualisation - Mme
DERBEL
une
coupure
⏵ Avantages:
⏵ Plus d’élasticité et d’évolutivité par rapport au cloud privé:
⏵ Grandes capacités des fournisseurs CP permettant d’avoir des
ressources
« infinies »,
⏵ Plus besoin d’un grand coût d’investissement initial dans le
matériel,
⏵ Pas de gestion et de maintenance matériels,
⏵ Consommation à l’utilisation
⏵ Inconvénients:
⏵ Dépendance exclusive à internet et forte à ses services comme
DNS,
⏵ Une rupture de contrat avec le CP peut
provoquer immédiate des services,
⏵ Délocalisation des données sensibles (sécurité, etc)
⏵ Risques de perte de contrôle,
⏵ Manque de confiance dans les CPs.
Cloud hybride
71 Cloud et virtualisation - Mme
DERBEL
⏵ Un cloud hybride est un modèle qui combine le cloud privé et
public pour assurer le fonctionnement d’une même organisation.
⏵ Une organisation peut :
⏵ Posséder un cloud privé pour exécuter des applications spécifiques pour
des raisons de sécurité,
⏵ Utiliser les services d’un cloud public pour héberger d’autres
applications, fichiers et bases de données non critiques.
⏵ Ce modèle permet de:
⏵ Profiter des avantages d’évolutivité et de rentabilité du cloud public,
⏵ Éviter d’exposer des données critiques et sensibles à un tier (CP).
Exemples de services Cloud
72 Cloud et virtualisation - Mme
DERBEL
⏵ Exemple de service 1: les machines virtuelles (VMs)
⏵ Les VM représentent des services de type IaaS. Une VM est un
serveur virtualisé et peuvant être utilisé de nombreuses manières.
Tout comme sur un ordinateur physique, on peut
personnaliser tous les logiciels exécutés sur une VM.
⏵ Les VM sont un choix idéal lorsque vous avez besoin :
⏵ Contrôle total sur le système d'exploitation (OS).
⏵ La possibilité d'exécuter un logiciel personnalisé.
⏵ Pour utiliser des configurations d'hébergement personnalisées.
⏵ Un service cloud de type VM offre la flexibilité de la virtualisation
sans avoir à acheter et entretenir le matériel physique qui exécute
la machine virtuelle. Cependant, en tant qu'offre IaaS, le
client doit toujours configurer, mettre à jour et maintenir le
logiciel qui s'exécute sur la VM.
Exemples de services Cloud
⏵ Exemple de service 2: équilibreur de charges
⏵ Il s’agit d’un serveur frontal (appelé load balancer) dans une région qui
permet de distribuer le trafic entrant vers plusieurs cibles (serveurs, conteneurs,
adresses IP) sur une ou plusieurs zones et qui forment un cluster. Chacune de
ces cibles se situe dans un réseau avec lequel le load balancer peut
communiquer.
⏵ Pour construire et exécuter un équilibreur de charge, il y a plusieurs possibilités.
⏵ Le plus simple consiste à utiliser les services d'équilibrage de charge proposés par
les fournisseurs Cloud (AWS, Azure, etc). Le principal avantage est que l'intégration
avec les autres services se fait naturellement (redimensionnement automatique par
exemple).
⏵ Il est possible d'exécuter des services de répartition de charge comme HAProxy sur
ses propres serveurs. L'avantage de ce genre d'outil est une granularité plus
importante pour la configuration, en comparaison avec ceux des fournisseurs Cloud.
En revanche, il faut soi- même tout configurer, jusque dans les moindres détails
techniques.
73 Cloud et virtualisation - Mme
DERBEL

Cours virtualisation et cloud.pptx

  • 1.
    Cours cloud etvirtualisation
  • 2.
    Plan du cours 2Cloud et virtualisation - Mme DERBEL ⏵ Chapitre 1: Infrastructure informatique ⏵ Chapitre 2: Infrastructure Virtualisée ⏵ Chapitre 3: Conteneurisation (Docker) ⏵ Chapitre 4: Cloud Computing
  • 3.
  • 4.
    Chapitre I 4 Cloudet virtualisation - Mme DERBEL I. Introduction II. Notion d’infrastructures informatiques III. Types d’infrastructures informatiques IV. Serveur informatique V. Disponibilité des Serveurs VI. Exemple d’infrastructure: application web
  • 5.
    I. Introduction 5 Cloudet virtualisation - Mme DERBEL ⏵ La technologie est au cœur de presque tous les aspects des entreprises d'aujourd'hui, qu'il s'agisse des activités des employés ou des opérations sur des services. ⏵ Une infrastructure informatique souple, fiable et sécurisée, va permettre à une entreprise d'atteindre ses objectifs et lui assurer un avantage concurrentiel sur le marché. ⏵ Une infrastructure correctement implémentée permet d’assurer la rentabilité de l’entreprise. ⏵ Une infrastructure, n'est pas correctement mise en œuvre, cause des problèmes de connectivité, de productivité et de sécurité, tels que des interruptions et des violations du système.
  • 6.
    II. Infrastructure informatique 6Cloud et virtualisation - Mme DERBEL ⏵ L'infrastructure informatique ou de la technologie de l'information (IT), fait référence aux composants combinés nécessaires au fonctionnement et à la gestion des services et des environnements informatiques de l'entreprise. ⏵ L’infrastructure informatique regroupe l’ensemble des équipements matériels (postes de travail, serveurs, équipements réseau…) et des logiciels (systèmes d’exploitation, outils de gestion, outils de supervision…) d’une entreprise. En effet, l’infrastructure informatique représente l’agencement entre les ressources de calcul, le système de stockage et le réseau pour fournir les services et les solutions informatiques souhaités par l’entreprise.
  • 7.
    II. Composants d'uneinfrastructure informatique 7 Cloud et virtualisation - Mme DERBEL Matériel ⏵ Le matériel comprend les serveurs, les datacenters, les ordinateurs, les routeurs, les commutateurs et d'autres équipements. ⏵ Les installations qui hébergent, refroidissent et alimentent un datacenter peuvent également être considérées comme des composants matériels de l'infrastructure. Logiciels ⏵ Les logiciels font référence aux applications utilisées par l'entreprise, telles que les serveurs web, les systèmes de gestion et le système d'exploitation…
  • 8.
    III. Types d'infrastructuresinformatiques 8 Cloud et virtualisation - Mme DERBEL Toutes les entreprises n’ont pas les mêmes besoins en matière d’architecture informatique. En matière d’hébergement, deux grandes familles de solutions s’offrent aux entreprises : ⏵ Infrastructure sur site, dite on-premise infrastructure installée sur site ; elle est généralement dédiée à une utilisation privée, pour l'entreprise. ⏵ Infrastructure externe (le cloud): l’entreprise sous- traite l’installation, la gestion et la maintenance de l’infrastructure à un prestataire externe, donc les équipements sont situés hors des locaux de l’entreprise.
  • 9.
    III. Types d'infrastructuresinformatiques 9 Cloud et virtualisation - Mme DERBEL Infrastructure sur site ⏵ Infrastructure classique: Dans ce cas, des systèmes d’exploitation et des services logiciels sont installés directement sur les serveurs informatiques (en suivant généralement la règle un service = une application). ⏵ Infrastructure virtualisée: La virtualisation permet de une version virtuelle d’équipements physiques, comme crée r de s serveurs, des systèmes de stockage ou des réseaux. La virtualisation de systèmes (serveurs) permet d’exécuter plusieurs machines sur le même serveur physique.
  • 10.
    III. Types d'infrastructuresinformatiques Infrastructure sur site 10 Cloud et virtualisation - Mme DERBEL
  • 11.
    III. Types d'infrastructuresinformatiques Infrastructure sur site (on-premise) On-premise Application Données Runtime middeware OS Virtualisati on Serveurs couches Installation, configuration, mise à jour… Structure, connexion, sauvegarde…. Développement, maintien, mises à jour…. Configuration, connexion, mise à jour … Licences, fonctionnalités, mise à jour , dépannage… Hyperviseur, licences, mises à jour, gestion… Baies, serveurs, onduleurs, maintenance, garantie, dépannage…. SAN, NAS, sauvegarde, archivage, disques….. Câblage, équipements, adressage, ACL, Stockag e Réseau matérielle s logicielle s 11 Cloud et virtualisation - Mme DERBEL
  • 12.
    III. Types d'infrastructuresinformatiques 12 Cloud et virtualisation - Mme DERBEL Infrastructure cloud ⏵ Une infrastructure cloud est similaire à l'infrastructure traditionnelle. Un fournisseur cloud se charge de la mise en œuvre de l’infrastructure informatique physique et de sa maintenance pour assurer son fonctionnement continu. Les utilisateurs finaux accèdent à cette infrastructure via Internet. Différents types de services cloud sont proposés (du l’infrastructure jusqu’au logiciel). coût locatif à payer suivant la consommation.
  • 13.
    III. Types d'infrastructuresinformatiques Infrastructure cloud Virtualisatio n Serveur s Stockag e Réseau Couches On-premise IaaS Installation, configuration, mise à jour… Application Application Structure, connexion, sauvegarde…. Données Données Développement, maintien, mises à jour…. Runtime Runtime Configuration, connexion, mise à jour … middeware middeware Licences, fonctionnalités, mise à jour , dépannage… OS OS Hyperviseur, licences, mises à jour, gestion… Virtualisation Virtualisation Baies, serveurs, onduleurs, maintenance, garantie, dépannage…. Serveurs Serveurs SAN, NAS, sauvegarde, archivage, disques….. Stockage Stockage Câblage, équipements, adressage, ACL, sécurité… Réseau Réseau 13 Cloud et virtualisation - Mme DERBEL
  • 14.
    14 Cloud etvirtualisation - Mme DERBEL III. Types d'infrastructures informatiques Infrastructure cloud Applicatio n Donnée s Runtim e Runtim e middewar e middewar e OS OS Virtualisatio n Virtualisatio n Virtualisatio n Serveur s Serveur s Serveur s Stockag e Stockag e Stockag e Réseau Réseau Réseau Couches On-premise IaaS PaaS SaaS Installation, configuration, mise à jour… Application Application Application Application Structure, connexion, sauvegarde…. Données Données Données Données Développement, maintien, mises à jour…. Runtime Runtime Runtime Runtime Configuration, connexion, mise à jour … middeware middeware middeware middeware Licences, fonctionnalités, mise à jour , dépannage… OS OS OS OS Hyperviseur, licences, mises à jour, gestion… Virtualisation Virtualisation Virtualisation Virtualisation Baies, serveurs, onduleurs, maintenance, garantie, …. Serveurs Serveurs Serveurs Serveurs SAN, NAS, sauvegarde, archivage, disques….. Stockage Stockage Stockage Stockage Câblage, équipements, Réseau Réseau Réseau Réseau
  • 15.
    IV. Serveur informatique 15Cloud et virtualisation - Mme DERBEL ⏵ Le serveur est un composant de base de toute infrastructure informatique. ⏵ Le terme « serveur » possède deux significations en informatique: ⏵ Serveur (Hardware): Un serveur matériel est un ordinateur spécifique ⏵ partageant ses ressources avec d'autres ordinateurs ⏵ Capable de travailler pendant une langue durée ⏵ Ayant des composants spécifiques et performants ⏵ Ayant des capacités importantes de traitement et de stockage ⏵ Ayant des composants réparables à chaud ⏵ Ayant des composants redondants,etc. ⏵ Serveur (Software): un serveur logiciel est un programme effectuant des interactions (via le réseau) avec d’autres programmes appelés clients logiciels. Le service apporté dépend du type du logiciel serveur (architecture Client- serveur).
  • 16.
    IV. Serveur informatique ArchitectureClient - Serveur Exemple d’architecture Client - Serveur 16 Cloud et virtualisation - Mme DERBEL
  • 17.
    V. Disponibilité desServeurs 17 Cloud et virtualisation - Mme DERBEL ⏵ Lahaute disponibilité (un enjeu indispensable): La haute disponibilité désigne la capacité d’un système, ou de l’un de ses composants, à rester constamment opérationnel pendant de longues périodes. ⏵ De nombreuses disponibilité : ⏵ la redondance techniques sont utilisées pour améliorer la ⏵ la mise en cluster ⏵ la possibilité de reconfigurer le serveur « à chaud » (c’est-à- dire lorsque celui-ci fonctionne) ⏵ etc
  • 18.
    V. Disponibilité desServeurs: redondance d’alimentation ⏵ Pour assurer au maximum la disponibilité des serveurs, on applique la redondance d’alimentation (sur 3 niveaux): ⏵ Redondance de sources d’alimentation au niveau du Datacenter. ⏵ Onduleur et groupe électrogène en cas de coupure de courant. ⏵ Redondance des boitiers d’alimentation dans les serveurs.  Des boitiers qui peuvent être remplacés à chaud. 18 Cloud et virtualisation - Mme DERBEL
  • 19.
    V. Disponibilité desServeurs: mise en cluster 19 Cloud et virtualisation - Mme DERBEL ⏵ Afin de fournir une disponibilité optimale des services, il est possible d’utiliser le principe de mise en cluster de serveurs permettant le basculement en cas de panne. ⏵ Cette capacité de basculement existe pour tout type d'équipement réseau (serveur, routeur, pare-feux, commutateurs réseau (switch)). Le basculement intervient généralement sans action humaine et même bien souvent sans aucun message d'alerte. Le basculement est conçu pour être totalement transparent. ⏵ Il existe 2 approches de mise en cluster: ⏵ L’approche actif/passif (tolérance aux pannes / failover cluster) ⏵ L’approche actif/actif (répartition de charges/ Load-Balancing cluster)
  • 20.
    V. Disponibilité desServeurs: cluster de basculement 20 Cloud et virtualisation - Mme DERBEL ⏵Principe de fonctionnement du cluster de basculement (Failover) Le cluster de basculement se base sur l’utilisation de différents nœuds (serveurs) assurant tous le même service. Un nœud est élu master (actif), il reçoit et traite les requêtes (transaction SQL, …). Les autres nœuds sont en attente, ils ne répondent pas aux requêtes (passifs). En cas de défaillance du nœud master, le service est basculé sur un nœud passif, qui devient alors un nouveau master, pour continuer à traiter les requêtes.  Le cluster de basculement (cluster actif/passif) permet d’assurer la haute disponibilité d’un service. Il est souvent utilisé avec des technologies comme les serveurs bases de données, équilibreurs de charges, etc…
  • 21.
    V. Disponibilité desServeurs: cluster de basculement Prenons l’exemple d’un cluster SQL. Le service fourni est donc une base de données. ⏵ Dans un fonctionnement normal, le serveur actif assure le rôle maître du cluster. C’est ce dernier qui répond aux requêtes de l’utilisateur. Le second serveur est alors passif. ⏵ En cas de problème sur le serveur maître, le serveur anciennement passif détecte le problème et devient à son tour actif. Il prend alors en charge les requêtes de l’utilisateur. Du côté utilisateur, la panne et le basculement ont été totalement transparents. Le client continue l’utilisation du service. 21 Cloud et virtualisation - Mme DERBEL
  • 22.
    V. Disponibilité desServeurs: cluster avec répartition de charge 22 Cloud et virtualisation - Mme DERBEL ⏵ Principe de fonctionnement du cluster d’équilibrage de charge (load- balancing) ⏵ Le cluster avec répartition de charge permet d’assurer la haute disponibilité d’un service ou d’une application en répartissant la charge sur plusieurs nœuds. En effet, si une défaillance survient sur un nœud, sa charge est redistribuée sur les autres nœuds du cluster. ⏵ Les différents nœuds du cluster fournissent toujours le même service. Tous les nœuds peuvent répondre et traiter les requêtes. On parle alors de fonctionnement actif/actif. ⏵ Dans le cas du cluster d’équilibrage de charge, on utilise en plus des serveurs du cluster un ou plusieurs équilibreur(s) de charge Les services Web (site web, api) sont particulièrementadaptés au mode de fonctionnement du cluster avec répartition de charge.
  • 23.
    V. Disponibilité desServeurs: cluster avec répartition de charge ⏵ Prenons le cas d’un site web. Les utilisateurs se connectent à un site web (ex : site eCommerce, médias, etc). La charge est répartie sur plusieurs serveurs pour pouvoir encaisser un fort trafic. On constate que, même en cas de dysfonctionnement d’un serveur du cluster, le site web continue de fonctionner normalement. Le serveur non- fonctionnel ne participe plus au cluster et sa charge est repartie sur les nœuds restants. 23 Cloud et virtualisation - Mme DERBEL
  • 24.
    VI. Exemple d’Infrastructure–applicationWeb ⏵ L’application web est l’application typique de l’architecture client-serveur (une application idéale pour étudier la mise en œuvre d’une infrastructure informatique) ⏵ L’application web est constituée d’une façon générale d’ ⏵ un navigateur web, ⏵ Un(s) serveur(s) de traitement qui va (vont) exécuter le code, ⏵ et un serveur base de données. Un utilisateur utilise un navigateur web, il envoie une requête vers le serveur de traitement. Ce dernier reçoit la requête, il interroge la base de données, il construit une page HTML avec les données, puis il envoie la réponse à l’utilisateur. De nombreuses entreprises optent pour le déploiement d’une infrastructure sur site (en interne), afin d’héberger leur site web et/ou gérer leur base de données (voir feuille de TD1). 24 Cloud et virtualisation - Mme DERBEL
  • 25.
  • 26.
    Plan du chapitre 26Cloud et virtualisation - Mme DERBEL ⏵ Introduction ⏵ Virtualisation de systèmes/serveurs ⏵ Notion et types d’hyperviseurs ⏵ Mise en réseau des machines virtuelles ⏵ Stockage de machines virtuelles ⏵ Infrastructure virtualisée
  • 27.
    Concept de basede la virtualisation de systèmes Architecture traditionnelle •un système d’exploitation sur une machine •Exécutio n application s de plusieurs sur un serveur augmente le risque d’interruption du service global •En général, 1 serveur = 1 applicatio n Architecture virtualisée •Ajout d’une couche d’abstraction •Possibilités d’exécuter plusieurs OS sur la même machine physique •Chaque possède application s machin e ses et virtuell e propres systèm e d’exploitatio n 27 Cloud et virtualisation - Mme DERBEL
  • 28.
    Concept de basede la virtualisation de systèmes Cloud et Virtualisation - Mme DERBEL 28 La virtualisation de systèmes (serveurs): ⏵ Le fait d’exécuter plusieurs systèmes d’exploitation, en même temps, sur une seule machine physique (serveur). ⏵ Ce ci est devenu possible par l’ajout d’une couche d’abstraction qui découple le système d'exploitation du matériel. ⏵ C’est l’hyperviseur qui permet de réaliser cette couche d’abstraction et cohabiter ainsi plusieurs systèmes d’exploitation invités. Serveur physique Application s OS Serveur physique (Hôte) Application s OS invité OS invité OS invité OS Hôte / Hyperviseur Virtualisatio n de systèmes VM Application s VM Application s VM
  • 29.
    Lexique 29 Cloud etvirtualisation - Mme DERBEL ⏵ Hôte: serveur physique ⏵ OS Hôte: système d’exploitation de l’hôte ⏵ Hyperviseur: couche logiciel permettant de réaliser l’abstraction du matériel et gérer les machines virtuelles ⏵ OS invité: système d’exploitation exécuté au sein d’une machine virtuelle ⏵ VM : machine virtuelle composée de: ⏵ Applications (logiciels). ⏵ Système d’exploitation invité, ⏵ Composants virtuels (CPU, RAM, disque dur, interface réseau, et autres ressources nécessaires) emballés dans un ensemble de fichiers  une VM ⏵ Du point de vue utilisateur: Une VM est une plateforme système qui permet d’exécuter des applications et contient des données (Même définition que la machine physique.) ⏵ Du point de vue hyperviseur: Une VM est une suite de fichiers de configuration matériel, de disque dur, de fichiers log, etc.
  • 30.
    Principes de lavirtualisation Plusieurs VM s’exécutent simultanément sur le même serveur physique Chaque VM s’exécute dans un environnement propre isolé des autres VMs (isolation) Une VM est enregistrée dans un ensemble de fichiers. Ex: Pour copier une VM il suffit de copier ses fichiers associés Les VMs sont indépendantes du matériel. Ces VMs peuvent s’exécuter sur différents serveurs sans avoir besoin de modifications 30 Cloud et virtualisation - Mme DERBEL
  • 31.
    Avantages 31 Cloud etvirtualisation - Mme DERBEL ⏵ Consolidation: Optimisation du taux d’utilisation des ressources des serveurs ⏵ Rationalisation: Suppression des serveurs superflus (inutiles) ⏵ Concentration: Réduction de l’espace occupé par les serveurs ⏵ Conséquences: ⏵ La Réduction des coûts: ⏵ Réduction du nombre de serveurs physiques utilisés et à maintenir. ⏵ Réduction de la consommation de l’énergie due au fonctionnement des serveurs et leur conditionnement (climatisation). ⏵ Augmentation considérable du taux d’utilisation des ressources. On peut atteindre 80% d’utilisation du CPU. ⏵ Amélioration de la disponibilité des serveurs ⏵ Une plus grande souplesse pour gérer l’évolution des besoins informatiques.
  • 32.
    Notion et typesd’hyperviseurs (Couche d’abstraction)
  • 33.
    Hyperviseur ⏵ Hyperviseur: ougestionnaire de machine virtuelle VMM (VM Monitor) ⏵ Couche logicielle permettant de créer, d’exécuter et de gérer des machines virtuelles indépendantes sur le même serveur physique. ⏵ Il est responsable de la gestion des ressources de la VM incluant son CPU, sa RAM et ses autres ressources dont elle a besoin. - Les VM ne vont pas aller se servir directement dans les ressources de la machine hôte, tout simplement car elles n’ont pas conscience d’être des VM hébergées sur un hôte. 33 Cloud et virtualisation - Mme DERBEL - L’hyperviseur joue le rôle de chef d’orchestre pour allouer à chaque VM les ressources dont elles ont besoin, au bon moment et dans les bonnes quantités
  • 34.
    Types d’hyperviseurs Hyperviseur natif(bare metal ou type 1) ⏵ Installé directement sur une plateforme matérielle. ⏵ Utilisé dans le cas de la virtualisation d’un environnement de production (tel qu’un Datacenter). Hyperviseur hébergé (hosted ou type 2) ⏵ Il s’exécute à l’intérieur d’un système d’exploitation. ⏵ Destinée à des usages de test et n’est pas adaptée à des contextes de production. 34 Cloud et virtualisation - Mme DERBEL
  • 35.
    Le besoin déterminele type d’hyperviseur 35 Cloud et virtualisation - Mme DERBEL
  • 36.
    Solutions d’hyperviseur 36 Cloudet virtualisation - Mme DERBEL ⏵ Vmware vSphere: ⏵ Hyperviseur: ESXi ⏵ Gestionnaire de hôte: vCenter Server ⏵ Mircosoft Windows server: ⏵ Hyperviseur: Hyper-V ⏵ Gestionnaire de hôte: System Center Virtual Machine Manager ⏵ Citrix: ⏵ Hyperviseur: Xen ⏵ Redhat: ⏵ Hyperviseur: KVM, oVirt
  • 37.
  • 38.
    Système de stockagedans un environnement virtualisé ⏵ Les machines virtuelles existent sous forme de 2 entités physiques: ⏵ Un ensemble de fichiers enregistré au niveau de disque dur ⏵ Instanciation en mémoires qui constitue une VM en cours d'exécution une fois démarrée. ⏵ Le stockage des données dans un environnement virtualisé peut être: ⏵ Local: dans les disques durs des hôtes (cas des copies et des images de VMs). ⏵ Partagé: dans les disques durs des serveurs dédiés pour le stockage partagé via le réseau (cas des VMs en production) . ⏵ Exemples d’architectures de stockage réseau: SAN (Storage Area Network) et NAS (Network Atteched Storage). Stockage local 38 Cloud et virtualisation - Mme DERBEL Stockage partagé
  • 39.
    SAN (Storage AreaNetwork) ⏵ Un SAN est un réseau haut débit dédié et indépendant qui interconnecte plusieurs serveurs et leur offre des pools partagés de périphériques de stockage. Chaque serveur peut accéder à un stockage partagé comme s’il s’agissait d’un lecteur y étant directement rattaché. Utilisation d’un SAN cas d’une infrastructure virtualisée 39 Cloud et virtualisation - Mme DERBEL
  • 40.
    Stockage partagé 40 Cloudet virtualisation - Mme DERBEL
  • 41.
    Système de gestionde l’infrastructure virtualisée Cloud et Virtualisation - Mme DERBEL 41 ⏵ Une infrastructure virtualisée est formée d’au moins deux serveurs hôtes (serveurs responsables de l’exécution de VMs) ⏵ Pour qu’une infrastructures soit plus résiliente, il faut trois serveurs hôtes minimum (recommandation) ⏵ La haute disponibilité se traduit par la mise en place d’un contexte de cluster auquel on associe un ensemble des serveurs hôtes. ⏵ Ces serveurs sont généralement administrés de manière centralisée via un logiciel de gestion offrant une interface centrale de gestion accessible à travers une machine cliente (serveur de gestion). ⏵ Les logiciels de gestion permettent la gestion centralisée de multiples serveurs hôtes et des VMs hébergées sur ces serveurs.  ces logiciels forment les point central de l’infrastructure virtualisée.  L’utilisation de ces logiciels permet d’accroitre la disponibilité de VMs par la gestion automatique du cluster d’hotes (Haute disponibilité HA, équilibrage de charges, migration de VM, migration
  • 42.
    Système de gestionde l’infrastructure virtualisée 42 virtualisation- Mme DERBEL
  • 43.
    Migration de machinesvirtuelles 43 virtualisation- Mme DERBEL Migration « à chaud » et « à froid » d’une machine virtuelle ⏵ La migration à chaud d’une VM est un service qui permet de transférer une machine virtuelle lancée d'un serveur physique vers un autre sans aucune interruption de service. ⏵ A l’inverse, la migration à froid signifie qu’on déplace la VM d’un hôte vers l’autre lorsqu’elle est éteinte (arretée). ⏵ Généralement, avant de pouvoir migrer à chaud une VM d’un hôte vers l’autre il faut que celle-ci soit stockée dans un espace de stockage partagé entre ces deux hôtes tel qu’un SAN ⏵ Principaux raisons de la migration à chaud (dynamique) des VM: ⏵ Assurer la haute disponibilité (HA) ⏵ Assurer l’équilibrage de charges (Load balancing) ⏵ Réduire la consommation d’énergie (DPM: distributed Power Management)
  • 44.
    Migration à chaudune machine virtuelle ⏵ Migration à chaud d’une VM entre deux hôtes partageant le même espace de stockage et appartenant au même cluster. ⏵ Cette migration s'effectue en 3 étapes : VM en cours d’exécution sur l’hôte source -recherche d'un hôte de destination - réserver un conteneur sur l'hôte distant en lui envoyant une requête de réservation en y indiquant les ressources nécessaires à la machine virtuelle Coipe de la mémoire: Les données relatives à la VM qui sont enregistrées au niveau de la mémoire sont transférées à travers le réseau de l’hôte source à l’hôte cible. VM en cours d’exécution sur l’hôte cible Basculement automatique de serveur 44 virtualisation- Mme DERBEL
  • 45.
    Conteneurisation 45 Cloud etvirtualisation - Mme DERBEL Chapitre 3 1. Principe de la conteneurisation 2. Image de conteneur 3. Environnement d’exécution de conteneur et moteur de conteneurisation 4. Orchestration de conteneurs
  • 46.
    Principe de laconteneurisation ⏵ La virtualisation d’OS permet d’avoir une VM complète: ⏵ Très bénéfique pour plusieurs utilisations. ⏵ Mais, présente certains inconvénients: ⏵ Consommation de ressources et affaiblissement de performances, ⏵ Couche d’OS complète inutile pour certaines circonstances. ⏵ Souvent, on a besoin seulement de l’application qui va tourner sur une VM: ⏵ L’application a besoin de certains modules de l’OS (bin et lib) et non pas d’un OS. ⏵ Un conteneur permet de fournir les modules nécessaires à l’exécution d’une application dans un r OS hôte Hôte Apps App 1 App2 Isolateur Contene u Isolateu r Contene u r Hyperviseu r Apps Hyperviseu r OS hô te Hô te VM1 App OS invité 1 VM2 App OS invité 2 46 Cloud et virtualisation - Mme DERBEL Virtualisation d’OS Virtualisation d’App
  • 47.
    Conteneurisation 47 Cloud etvirtualisation - Mme DERBEL
  • 48.
    Conteneur (container) 48 Cloudet virtualisation - Mme DERBEL ⏵ Un conteneur est une partie logique servant à isoler les applications sur un même serveur. Plutôt que de répliquer entièrement un système d'exploitation pour chaque application, comme dans une VM, les conteneurs permettent aux applications d'un serveur de partager le même noyau du système d'exploitation. Ce système d'exploitation partagé est appelé OS hôte. ⏵ Un conteneur est une encapsulation des composants nécessaires à l’exécution d’une application (micro-service) au dessus du noyau de l’OS hôte. ⏵ Les composants nécessaires incluent entre autres: ⏵ Fichiers binaires exécutables (binary files), ⏵ Bibliothèques (librairies), outils système (system tools), dépendances à d’autres applications, ⏵ Fichiers de configuration d’environnement (réseau, etc.) et d’exécution (path) ⏵ Un conteneur s'appuie sur le noyau, mais le noyau ne fournit pas toutes les API et tous les services dont une application a besoin pour s'exécuter: ⏵ La plupart d'entre eux sont fournis par des fichiers système (bibliothèques) qui s'exécutent au-dessus du noyau en mode utilisateur.
  • 49.
    Conteneur (suite) 49 Cloudet virtualisation - Mme DERBEL ⏵ Le conteneur permet de créer un environnement léger et isolé sans influence: ⏵ sur l’OS hôte et ainsi que ses applications, ⏵ ni sur d’autres conteneurs hébergés sur le même OS hôte. ⏵ Le conteneur peut être déplacé d’un hôte vers un autre sans affecter les fonctionnalités de l’application qu’il encapsule: ⏵ Migration facile et légère du conteneur grâce à l’absence de la couche OS. ⏵ Toute modification n'affecte que le conteneur et est ignorée lorsqu'il est supprimé. ⏵ Une fois supprimé, toute donnée manipulée au sein du conteneur sera perdue. ⏵ Pour enregistrer des données, le conteneur peut monter un stockage persistant (disque) ou un partage/envoi de fichiers à travers le réseau.
  • 50.
  • 51.
    Image de conteneur(cas du docker) 51 Cloud et virtualisation - Mme DERBEL
  • 52.
    Image de conteneur 52Cloud et virtualisation - Mme DERBEL ⏵ Les conteneurs sont créés à partir d’image de conteneur. ⏵ Une image de conteneur est un ensemble de fichiers statiques non modifiables organisés en une pile de couches qui réside sur un hôte local ou dans un registre de conteneurs distant. ⏵ L'image du conteneur se compose : ⏵ des fichiers de l’OS cible en mode utilisateur nécessaires pour prendre en charge une application, ⏵ de tous les environnements d'exécution ou dépendances de l’application, et ⏵ de tout autre fichier de configuration divers dont l’application a besoin pour s'exécuter correctement. ⏵ L’image peut être vu comme un modèle de conteneur à instancier. ⏵ Un conteneur est en quelque sorte une instance d’image en cours d’exécution. ⏵ Si une image est supprimée, tous les conteneurs dépendants d’elle le seront aussi.
  • 53.
    Image de conteneur:exemple ⏵ Si on veut déployer une application web dans un serveur LAMP (Linux Apache MySQL PHP) sous forme d’un conteneur, l’image à instancier doit contenir: ⏵ Une couche des fichiers systèmes et librairies de l’OS cible (ex. Ubuntu) nécessaires à l’exécution de Apache, MySQL et PHP. ⏵ Une couche Apache pour démarrer le serveur Web avec les fichiers de configuration ⏵ Une couche MySQL qui contiendra le système de gestion de bases de données MySQL ⏵ Une couche PHP contenant un interpréteur PHP avec bibliothèques requises. ⏵ Il suffit donc de: ⏵ Télécharger une image qui contient ces couches, ⏵ Instancier un conteneur (avec un moteur de conteneur) à partir de cette image, et ⏵ Développer/Déployer l’application voulue dans le conteneur créé. 53 Cloud et virtualisation - Mme DERBEL
  • 54.
  • 55.
    Architecture Docker ⏵ Leclient Docker prend les commandes et envoie ces commandes au démon via l'API. Le démon Docker est responsable de l'implémentation de ces commandes à l'aide des bibliothèques containerd et runc. 55 Cloud et virtualisation - Mme DERBEL
  • 56.
    Environnement d’exécution deconteneur 56 Cloud et virtualisation - Mme DERBEL ⏵ La création et l’exécution des conteneurs requièrent un logiciel spécifique appelé environnement d’exécution de conteneur (Container runtime): ⏵ Comme JRE (Java Runtime Environment) pour les applications Java. ⏵ C’est l’équivalent de l’hyperviseur dans la virtualisation de systèmes. ⏵ C’est le responsable de la création d’environnement isolé pour l’exécution d’application et donc faire fonctionner le conteneur. ⏵ C’est lui qui communique avec le noyau de l’OS hôte pour : ⏵ Charger une image de conteneur (décompression et chargement), ⏵ Gérer le cycle de vie du conteneur. ⏵ Appliquer les politiques d’accès et de sécurité pour l’exécution de conteneur. ⏵ Les environnements les plus populaires: ⏵ LXC (2008): Linux Container, projet basé sur linux avec l’introduction de nouvelles fonctionnalités. ⏵ runC de Docker (2013): basé sur LXC avec de nouvelles fonctionnalités qui facilitent la création d’image et la mobilité des conteneurs entre hôtes.
  • 57.
    Moteur de conteneurisation 57Cloud et virtualisation - Mme DERBEL ⏵ Un moteur de conteneurisation (Container engine) est une couche logicielle haut niveau qui se base sur un runtime pour l’utilisation des conteneurs. ⏵ Les moteurs de conteneurs permettent généralement de: ⏵ Gérer les entrées des utilisateurs, ⏵ Gérer les entrées via les API (pour être utilisé par d’autres logiciels), ⏵ Extraire l'image du conteneur d'un serveur de registre, ⏵ Utilisez le pilote graphique pour décompresser et étendre les images de conteneur sur le disque ⏵ Préparer les points de montage pour les conteneurs, généralement en utilisant le stockage copy-on-write (COW). ⏵ Préparer les données nécessaires à transmettre au runtime pour lancer le conteneur correctement. ⏵ Appeler le runtime du conteneur. ⏵ Exemple: Docker (projet containerd) et LXD (basé sur LXC).
  • 58.
    Le concept duCloud Computing 58 Cloud et virtualisation - Mme DERBEL Chapitre 4 ⏵ 1) Définition ⏵ 2) Modèles de service Cloud ⏵ 3) Modèles de déploiement Cloud
  • 59.
    1) Cloud ComputingCC: Définition 59 Cloud et virtualisation - Mme DERBEL ⏵ Cloud: nuage, c’est le terme qui représente Internet ⏵ Computing: calcul, pour faire référence à la puissance de calcul, autrement dit, de traitement qu’on peut avoir. ⏵ Définition selon Gartner : ⏵ CC is a style of computing in which scalable and elastic IT-enabled capabilities are delivered as a service using internet technologies. ⏵ C’est un « style » de calcul dans lequel des capacités informatiques évolutives et élastiques sont fournies en tant que service à l'aide d’Internet. ⏵ Définition selon NIST (National Institute of Standards and Technology): ⏵ CC is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction. ⏵ C'est un modèle permettant un accès réseau pratique et à la demande à un pool partagé de ressources informatiques configurables qui peuvent être rapidement provisionnés et libérés avec un effort de gestion ou une interaction avec le fournisseur de services minimal.
  • 60.
    Caractéristiques du CC (selon NIST) 60 Cloud et virtualisation - Mme DERBEL ⏵ Cinq caractéristiques essentielles 1. Libre Service à la demande (On-demand self-service) 2. Large accès au réseau (Broad network access) 3. Mutualisation des ressources (Resource pooling) 4. Élasticité rapide (Rapid elasticity) 5. Service mesuré /payé selon la consommation (Measured service/ Pay per use) ⏵ Les solutions cloud reposent principalement sur des technologies de virtualisation et d’automatisation. ⏵ Trois caractéristiques clés du Cloud le différencient de l’informatique traditionnelle : ⏵ Mutualisation et allocation dynamique de capacité (adaptation élastique aux variations de charge). ⏵ Services à la place de produits technologiques avec mise à jour en continu et automatique. ⏵ Self-service et paiement à l’usage (en fonction de ce que l’on consomme).
  • 61.
    Avantages 61 Cloud etvirtualisation - Mme DERBEL ⏵ Il existe plusieurs avantages de passer au concept Cloud, parmi lesquels, 3 avantages particuliers séduisent les entreprises: ⏵ 1) Rapidité de déploiement : ⏵ Au besoin de ressources informatiques, il faut acquérir, installer et configurer toutes les pièces nécessaires  délai trop long. ⏵ Avec une solution cloud, l'équipement fonctionne déjà chez le CP et on peut commencer à utiliser le service en un temps record (~ quelques minutes). ⏵ 2) Pas de coûts initiaux importants: ⏵ Au lieu d’investir des sommes énormes pour l’achat (et la maintenance) d’équipements informatiques nécessaires au démarrage de son activité, l’entreprise ne dépense que ce qu’elle consomme dans le Cloud. ⏵ 3) Extensibilité rapide ⏵ Quand les limites des ressources louées sont atteintes, l’augmentation de capacité est réalisée immédiatement à la demande en profitant de la disponibilité des ressources d’un fournisseur cloud (CP: Cloud Provider).
  • 62.
    Avantages 62 Cloud etvirtualisation - Mme DERBEL ⏵ Lors de la création ou du déploiement d'une application en utilisant des services cloud, deux des principales considérations sont à prévoir: ⏵ La haute disponibilité: La haute disponibilité vise à garantir une disponibilité maximale, quels que soient les perturbations ou les événements pouvant survenir. ⏵ Évolutivité: L'évolutivité fait référence à la capacité d'ajuster les ressources pour répondre à la demande. En rencontrant soudainement un pic de trafic et que les systèmes sont submergés, la possibilité d'évoluer signifie qu’on peut ajouter davantage de ressources pour mieux gérer la demande accrue. ⏵ L’évolutivité ou la mise à l’échelle se décline généralement en deux variétés: ⏵ La mise à l'échelle verticale se concentre sur l'augmentation ou la diminution des capacités des ressources. ⏵ La mise à l'échelle horizontale consiste à ajouter ou à soustraire le nombre de ressources.
  • 63.
    2) Modèles deservice Cloud 63 Cloud et virtualisation - Mme DERBEL ⏵ Un modèle de service Cloud est un ensemble de services informatiques offerts par un fournisseur. ⏵ Un CP est responsable de la fourniture des ressources requises au fonctionnement des services offerts à un consommateur Cloud dans le cadre d'un contrat de service prédéfini et convenu d'un commun accord appelé SLA (Service Level Agreement). ⏵ NIST définie 3 modèles de service Cloud: ⏵ IaaS: Infrastructure as a Service ⏵ IaaS désigne la mise à disposition de ressources matérielles (puissance de calcul, espace de stockage) sous forme de serveurs “virtualisés” avec des capacités évolutives. ⏵ PaaS: Platform as a Service ⏵ Il s’agit d’offrir des ressources machines et de l’espace de stockage, mais une plateforme d’exécution pour un logiciel. ⏵ SaaS: Software as a Service ⏵ C’est l’application qui est mise à disposition de l’utilisateur final.
  • 64.
    Autres modèles dérivésdu SaaS 64 Cloud et virtualisation - Mme DERBEL ⏵ Database as a Service DBaaS: ⏵ C’est une forme spécifique du SaaS spécialisée dans la fourniture d’opérations liées aux bases de données. ⏵ Permet au CP de fournir les fonctionnalités des bases de données à des consommateurs multiples. ⏵ Des services mutuels supplémentaires peuvent être inclus: ⏵ Élasticité, multi-tenance sécurisée, protection contre les attaques, sauvegarde, etc. ⏵ Communication as a Service CaaS: ⏵ Des services de communications sont fournis sous forme de SaaS: ⏵ Voix sur IP, vidéoconférence, messagerie instantanée, etc. ⏵ Anything as a Service XaaS: ⏵ En combinant tous les modèles, tous peut être fournit sous forme de service IT à travers le Cloud.
  • 65.
    Répartition des responsabilitéssuivant les modèles de services 65 Cloud et virtualisation - Mme DERBEL
  • 66.
    Répartition des responsabilitéssuivant les modèles de services à ⏵ Le client cloud est toujours responsable de : ⏵ Les informations et données stockées dans le cloud ⏵ Appareils autorisés à se connecter votre cloud (téléphones portables, ordinateurs, etc.) ⏵ Les comptes et identités des personnes, services et appareils au sein de l’organisation ⏵ Le fournisseur cloud est toujours responsable de : ⏵ Le datacenter physique ⏵ Le réseau physique ⏵ Les hôtes physiques ⏵ Le modèle de service choisi déterminera la responsabilité sur: ⏵ Systèmes d'exploitation ⏵ Contrôles réseau ⏵ Applications ⏵ Identité et infrastructure 66 Cloud et virtualisation - Mme DERBEL
  • 67.
    3) Modèle dedéploiement Cloud 67 Cloud et virtualisation - Mme DERBEL ⏵ Afin de mettre en œuvre les valeurs des modèles de services Cloud et pour permettre aux utilisateurs d’en profiter, un modèle de déploiement Cloud doit être choisi. ⏵ Le choix du modèle peut largement impacter une organisation ainsi que son métier. ⏵ C’est pour cela qu’une grande attention et une planification minutieuse doivent être considérées lors de l’implémentation d’un déploiement Cloud dans une entreprise. ⏵ Une étude préalable doit être faite pour évaluer l’impact et les bénéfices de ce changement sur un système d’information existant. ⏵ Officiellement selon NIST, il existe 3 types de déploiement Cloud: ⏵ Cloud privé, ⏵ Cloud public, ⏵ Cloud hybride.
  • 68.
    Cloud privé 68 Cloudet virtualisation - Mme DERBEL ⏵ Un cloud privé est un modèle de déploiement Cloud où l’infrastructure matérielle est possédée par une seule organisation. ⏵ Un cloud privé peut être hébergé sur site. Il peut également être hébergé dans un centre de données dédié hors site. ⏵ L’accès aux services Cloud est restreint aux membres de l’organisation et, le cas échéant, ses partenaires. ⏵ Dans un cloud privé, l’organisation propriétaire est le fournisseur et consommateur du cloud en même temps. ⏵ Elle assure l’entière responsabilité de bout en bout sur tous les niveaux. ⏵ Elle a le contrôle totale sur toutes les ressources. ⏵ La mise en œuvre d’un cloud privé est souvent motivé par le besoin de maintenir le contrôle totale pour des raisons légales ou sécuritaire: ⏵ Exemple: les banques ont des contraintes de confidentialité qui les interdisent d’externaliser les données.
  • 69.
    Cloud public 69 Cloudet virtualisation - Mme DERBEL ⏵ Un cloud public est une énorme infrastructure de ressources informatiques possédée par une organisation CP et dont l’utilisation est destinée à des consommateurs externes via le réseau Internet. ⏵ L’accès au cloud public est destiné à tous: ⏵ Des particuliers (grand public). ⏵ Des entreprises, des organisations, etc. ⏵ Le consommateur a juste besoin d’un terminal (PC, Téléphone, Tablette, etc.) et d’un accès Internet. ⏵ La maintenance d’infrastructure physique est la responsabilité du CP mais la responsabilité des services Cloud dépend du modèle utilisé et du contrat SLA entre les entités impliquées. ⏵ Les consommateurs sont facturés selon 2 modèles: ⏵ Abonnement mensuel, ⏵ Facturation à l’utilisation (par heure). ⏵ Exemple de grand fournisseurs: Amazon, Google, Microsoft, IBM, OVH.
  • 70.
    Cloud public (suite) 70Cloud et virtualisation - Mme DERBEL une coupure ⏵ Avantages: ⏵ Plus d’élasticité et d’évolutivité par rapport au cloud privé: ⏵ Grandes capacités des fournisseurs CP permettant d’avoir des ressources « infinies », ⏵ Plus besoin d’un grand coût d’investissement initial dans le matériel, ⏵ Pas de gestion et de maintenance matériels, ⏵ Consommation à l’utilisation ⏵ Inconvénients: ⏵ Dépendance exclusive à internet et forte à ses services comme DNS, ⏵ Une rupture de contrat avec le CP peut provoquer immédiate des services, ⏵ Délocalisation des données sensibles (sécurité, etc) ⏵ Risques de perte de contrôle, ⏵ Manque de confiance dans les CPs.
  • 71.
    Cloud hybride 71 Cloudet virtualisation - Mme DERBEL ⏵ Un cloud hybride est un modèle qui combine le cloud privé et public pour assurer le fonctionnement d’une même organisation. ⏵ Une organisation peut : ⏵ Posséder un cloud privé pour exécuter des applications spécifiques pour des raisons de sécurité, ⏵ Utiliser les services d’un cloud public pour héberger d’autres applications, fichiers et bases de données non critiques. ⏵ Ce modèle permet de: ⏵ Profiter des avantages d’évolutivité et de rentabilité du cloud public, ⏵ Éviter d’exposer des données critiques et sensibles à un tier (CP).
  • 72.
    Exemples de servicesCloud 72 Cloud et virtualisation - Mme DERBEL ⏵ Exemple de service 1: les machines virtuelles (VMs) ⏵ Les VM représentent des services de type IaaS. Une VM est un serveur virtualisé et peuvant être utilisé de nombreuses manières. Tout comme sur un ordinateur physique, on peut personnaliser tous les logiciels exécutés sur une VM. ⏵ Les VM sont un choix idéal lorsque vous avez besoin : ⏵ Contrôle total sur le système d'exploitation (OS). ⏵ La possibilité d'exécuter un logiciel personnalisé. ⏵ Pour utiliser des configurations d'hébergement personnalisées. ⏵ Un service cloud de type VM offre la flexibilité de la virtualisation sans avoir à acheter et entretenir le matériel physique qui exécute la machine virtuelle. Cependant, en tant qu'offre IaaS, le client doit toujours configurer, mettre à jour et maintenir le logiciel qui s'exécute sur la VM.
  • 73.
    Exemples de servicesCloud ⏵ Exemple de service 2: équilibreur de charges ⏵ Il s’agit d’un serveur frontal (appelé load balancer) dans une région qui permet de distribuer le trafic entrant vers plusieurs cibles (serveurs, conteneurs, adresses IP) sur une ou plusieurs zones et qui forment un cluster. Chacune de ces cibles se situe dans un réseau avec lequel le load balancer peut communiquer. ⏵ Pour construire et exécuter un équilibreur de charge, il y a plusieurs possibilités. ⏵ Le plus simple consiste à utiliser les services d'équilibrage de charge proposés par les fournisseurs Cloud (AWS, Azure, etc). Le principal avantage est que l'intégration avec les autres services se fait naturellement (redimensionnement automatique par exemple). ⏵ Il est possible d'exécuter des services de répartition de charge comme HAProxy sur ses propres serveurs. L'avantage de ce genre d'outil est une granularité plus importante pour la configuration, en comparaison avec ceux des fournisseurs Cloud. En revanche, il faut soi- même tout configurer, jusque dans les moindres détails techniques. 73 Cloud et virtualisation - Mme DERBEL