Vous êtes sur la page 1sur 31

Institut Supérieur des Sciences Appliquées et de Technologie de Sousse

‫المعهد العالي للعلوم التطبيقية والتكنولوجيا بسوسة‬


Informations générales
• Unité d’Enseignement (UE):
– Réseaux et Services
VIRTUALISATION DES SERVICES ET – UE Fondamentale
CLOUD COMPUTING • Volume horaire:
– Cours: 21h/semestre – 1h30/semaine
• Projets, TPs
• Évaluation:
FIA3-GL-AL
– Coefficient: 1
Responsable: Nihed Bahria
– Régime: mixte (DS + examen)
– Moy = 0.2xDS+0.8xExamen
VCC2020/2021 FIA3-GL 2
Année universitaire: 2020 - 2021

Plan du cours Bibliographie


• Chapitre I : Introduction à la virtualisation • Systèmes d'exploitation - A. Tanenbaum - 3e édition
• Chapitre II : Virtualisation des serveurs • The Architecture of Virtual Machines, James E. Smith
and Ravi Nair, IEEE Computer Society, 2005
• Chapitre III : Virtualisation des applications • https://www.docker.com/
• Chapitre IV: Virtualisation des postes de travail • https://www.vmware.com/
• Chapitre V: Autres domaines de virtualisation • https://docs.microsoft.com/
• Chapitre VI: Cloud Computing • Pierre-Yves Cloux et al., « DOCKER, Pratique des
architectures à base de conteneurs », 1ère édition,
• Chapitre V : Configuration d'un Cloud privé DUNOD 2016
avec openstack • https://opencontainers.org/

VCC2020/2021 FIA3-GL 3 VCC2020/2021 FIA3-GL 4

Bibliographie 2020-2021

• National Institute of Standards and Technology


(NIST), Special Publication 800-146, Cloud
Computing Synopsis and Recommendations. VIRTUALISATION DES SERVICES ET
• National Institute of Standards and Technology, CLOUD COMPUTING
Special Publication 500-292, NIST Cloud
Computing Reference Architecture. Chapitre I:
• ITU-T, Recommandation Y.3500, Technologies de Introduction à la virtualisation
l'information - Informatique en nuage -
Présentation générale et vocabulaire, Approuvée
en 2014-08-13
FIA3-GL Nihed BAHRIA

VCC2020/2021 FIA3-GL 5 VCC2020/2021 FIA3-GL 6


Plan du chapitre I Contexte
En informatique, on essaye toujours de distinguer
• Contexte, historique et définitions deux mondes :
• Terminologies • Le monde du matériel
–fournit les équipements physiques
• Principe et applications • Le monde du logiciel
• Avantages/Inconvénients –fournit les données et les applications.
Le matériel est cycliquement obsolète et tombe
• Que virtualiser et comment? régulièrement en panne
• Les concepts liés à la virtualisation La virtualisation a été inventée dans le but de s'affranchir au
maximum de la couche matérielle de l'informatique
VCC2020/2021 FIA3-GL 7 VCC2020/2021 FIA3-GL 8

Parlons un peu de son histoire Quelques dates


• Apparu dans les 1960's avec les OS CP/CMS (time sharing OS)
• 1960 → 2000 : IBM de CP/CMS à • 2007 : KVM (Linux)
et VM/CMS d’IBM (ré-implémentation de OS CP/CMS par z/VM
IBM) • 2008 : LxC (Linux)
• 1979 : chroot (Unix) •
– Répandu sur les mainframes avec des technologies propriétaires 2008 : Hyper-V (Microsoft)
• 1982 : chroot (BSD) • …….
• Les ordinateurs basés sur l’architecture x86 sont confrontés
• 1999 : VMware (virtualisation pour •
aux mêmes problèmes de rigidité et de sous-utilisation x86)
2013: Docker (containers)
auxquels les mainframes ont dû faire face dans les années • 2016: Neo ceBox
1960 • 2000 : FreeBSD Jail (*BSD)
• ~2018: Vagrant (wrapper)
• 2003 : Xen (Linux)
• 1990: VMware a inventé la virtualisation pour la plate-forme • 2019-2020: parallels (partenaire
x86 et popularise la machine virtuelle • 2005 : Solaris Zones (Solaris et Microsoft), DH2i, NextAxiom, virtuozzo,
dérivés)
• 2000: développement des solutions logicielles de • 2005/2006 : Intel-VT et AMD-V
IBM Power VM, citrix, RedHat
virtualization, ProxMox, SCALE
virtualisation, aidées par les évolutions matérielles (virtualisation matérielle) computing
(Intel/AMD)
• 2006 : OpenVZ (Linux)

VCC2020/2021 FIA3-GL 9 VCC2020/2021 FIA3-GL 10

La virtualisation, c'est quoi? La virtualisation, c'est quoi?


• Plusieurs définitions
• La virtualisation repose sur 3 éléments importants :
1. Définition de Petri IT Knowledgebase
1. L’abstraction des ressources informatiques ;
“Virtualization is a term that refers to the abstraction
of computer resources” 2. La création d’environnements virtuels.
3. La répartition des ressources pour qu’elles puissent être
2. Définition de Vmware utilisées par plusieurs environnements virtuels ;
« La virtualisation est une couche d'abstraction qui
découple le système d'exploitation du matériel afin de La virtualisation permet une vue logique plutôt que
délivrer une meilleure utilisation et flexibilité des physique des ressources
ressources de traitement » – Couche de virtualisation

VCC2020/2021 FIA3-GL 11 VCC2020/2021 FIA3-GL 12


Terminologie Pourquoi la virtualisation?
• Host (hôte) Motivation : intérêts de la virtualisation
– Plateforme sous-jascente qui accueille
les invités (VMs par exemple) • Études/développements/expérimentations
– Peut être du matériel ou matériel + OS
accueillant le logiciel de virtualisation
– Architectures matérielles
• Guest (invité): – OS
– Logiciel s’exécutant dans l’environnement – Modélisation de systèmes
de la « VM » (généralement un OS) • Production
• Logiciel de virtualisation:
– La couche logicielle rendant la virtualisation possible
– MultiOS (applications dédiées)
– S’exécute au dessous de tous les invités pour les gérer – Consolidation de serveurs
– Élasticité (Cloud Computing)
VCC2020/2021 FIA3-GL 13 VCC2020/2021 FIA3-GL 14

Pourquoi la virtualisation? Pourquoi la virtualisation?


1. Le multi-OS 2. La consolidation de serveurs
Faire tourner des OS différents sur un même • Passer de plusieurs serveurs physiques à 1 seul

serveur - Exemple:
8 serveurs physiques utilisés à 10%
– IBM 360 sur CP40/CMS (1966)
1 serveur physique utilisé à 80 % avec 8 serveurs virtuels
– VMware sur X86 (1999)

VCC2020/2021 FIA3-GL 15 VCC2020/2021 FIA3-GL 16

Pourquoi la virtualisation? Avantages de la virtualisation


3. L’élasticité • Réduction des coûts
➔ 20 à 40% en général
• Les serveurs virtuels, étant des programmes,
peuvent s'adapter dynamiquement à la demande • Economie d’espace dans les centres de calculs
(occupation au sol)
• Economie d’énergie via un meilleur taux
Émergence de la notion de d’utilisation
Infrastructure as a Service
• Coût de maintenance matérielle
(Cloud Computing IaaS)
VCC2020/2021 FIA3-GL 17 VCC2020/2021 FIA3-GL 18
Avantages de la virtualisation Avantages de la virtualisation
• Mise en service quasi-instantanée d'une nouvelle • Migration des machines virtuelles d'un serveur
physique à l'autre
machine (grâce à une interface graphique en
➔ Utile si panne → notion de disponibilité
général) ➔ TRES utile pour maintenance des serveurs physiques

• Réduction du TCO (Total Cost of Ownership)


• homogénéisation des serveurs

• possibilités de retour-arrière sur opération (snapshot)

• vision consolidée de l’infrastructure

VCC2020/2021 FIA3-GL 19 VCC2020/2021 FIA3-GL 20

Avantages de la virtualisation Inconvénients


• Isolation
– « un service/une application » par machine • Problématiques de performance
– Pas de passage de virus inter-VM, pas d'effacement de
fichier… • Support des éditeurs logiciels

• Ajustement des ressources très simple pour MVs • Modèles de licences


– Exemple: ajustement mémoire, CPU en un clic
– À chaud ou à froid suivant la solution

VCC2020/2021 FIA3-GL 21 VCC2020/2021 FIA3-GL 22

La virtualisation de quoi? La virtualisation, comment ça marche?


• La virtualisation est applicable à plusieurs • Plusieurs techniques
domaines: • Isolateurs
• les applications ; • Conteneurs
Serveurs Applications
• les structures de communication ; • Machine virtuelle

• les structures de stockage ; • Hyperviseurs


Réseaux
• Exécution distante
• les systèmes d'exploitations
• Streaming
•…
• …..

VCC2020/2021 FIA3-GL 23 VCC2020/2021 FIA3-GL 24


Les concepts liés à la virtualisation Les concepts liés à la virtualisation
• Green Computing
• Green Computing
– Les serveurs informatiques consomment 7
• Cloud Computing milliards de KWh /année... pour rien
– Réduire la consommation d'énergie:
• Network function virtualization (NFV)
• Consolidation des serveurs;
• Big Data • Virtualisation des postes de travail;
• Software Defined Network (SDN) • Migration des MVs;

• Virtual Appliance
•…

VCC2020/2021 FIA3-GL 25 VCC2020/2021 FIA3-GL 26

Les concepts liés à la virtualisation Les concepts liés à la virtualisation


• SDN : la virtualisation réseau pour les datacenters • Cloud Computing
– Plan de contrôle unifié et centralisé
• OpenFlow – Fournir des ressources informatiques à une entreprise qui
– Plans de transfert/ de données: distibués et ne paye que ce qu'elle consomme
programmables
– Les entreprises ne sont plus propriétaires de leur
• NFV: informatique
– virtualisation des fonctions réseau
– Dissocier des fonctions telles que le pare-feu ou le • Une entreprise spécialisée gère un centre de calcul
chiffrement de tout matériel dédié (datacenter) et offre une puissance de calcul et de
• Les déplacer vers des serveurs virtuels stockage à la demande (Ex: Amazon EC2)
– un moyen de réduire les coûts et d’accélérer le
déploiement des services pour les opérateurs de réseau – La virtualisation permet d'envisager ce type de service

VCC2020/2021 FIA3-GL 27 VCC2020/2021 FIA3-GL 28

Virtualisation des serveurs 2020-2021

Virtualisation des applications VIRTUALISATION DES SERVICES ET CLOUD COMPUTING


Domaines
Virtualisation des postes de
de travail
virtualisation Chapitre II
Virtualisation du stockage
Virtualisation de serveurs

Virtualisation du réseau FIA3-GL Nihed BAHRIA

VCC2020/2021 FIA3-GL 29 VCC2020/2021 FIA3-GL 30


Virtualisation des serveurs
Définitions/terminologies
Virtualisation de serveurs
• La virtualisation est l'ensemble des techniques
• Un serveur est ordinateur (UC) géré par un matérielles et/ou logicielles d’abstraction de
système d’exploitation (OS) ressources informatiques
– Certaines de ces techniques nécessitent des modifications
• La virtualisation des serveurs fait croire à un OS du système (hôte ou invité)
qu’il est seul à gérer une machine physique, – D’autres nécessitent des processeurs adaptés
bien que ce ne soit pas le cas
– Certaines créent des OS d’autres non
–…

VCC2020/2021 FIA3-GL 31 VCC2020/2021 FIA3-GL 32

Techniques de virtualisation de
VM Processus
serveurs
• La majorité des système d'exploitation
peuvent être vus comme des VM processus
• En effet, ils supportent plusieurs processus
simultanés, chacun ayant l'illusion que les
ressources machines lui sont dédiées
➔ L'OS permet un partage temporel des
ressources et fournit une VM processus pour
chaque application

VCC2020/2021 FIA3-GL 33 VCC2020/2021 FIA3-GL 34

Les techniques de virtualisation de


VM système
serveurs
• Fournit :
• Elles existent sous de nombreuses formes :
– Un substitut complet de la machine réelle
– Un niveau de fonctionnalités requises pour l'exécution – Au niveau d’une application
d'un système d'exploitation complet
– Par l’utilisation de conteneurs (containers)
• Un seul hôte peut exécuter plusieurs systèmes
d'exploitation isolés – Au niveau du noyau.
– Serveurs exécutant des OS distincts – Par l’emploi d’un émulateur.
– Isolation entre les systèmes concurrents, sécurité
– Par l’utilisation d’un moniteur de machines virtuelles
• Hardware géré par le VMM (Virtual Machine
Monitor) (VMM)

VCC2020/2021 FIA3-GL 35 VCC2020/2021 FIA3-GL 36


Les techniques de virtualisation Virtualisation totale/ complète
• Technique connue sous le nom : machine virtuelle
• Le mode de virtualisation le plus connu
1.Virtualisation complète/totale – Popularisé auprès du grand public par la société VMware.
– Méthode la plus évidente à réaliser
2.Para-virtualisation: Hyperviseur
• L'idée avancée est :
3.Isolateur – reconstituer un environnement complet, y compris le
matériel
– plate-forme complète de virtualisation, capable de
supporter différents environnements simultanément.
Virtualisation totale/complète

VCC2020/2021 FIA3-GL 37 VCC2020/2021 FIA3-GL 38

Virtualisation totale Virtualisation totale


• Un logiciel (généralement assez complexe et • Machine virtuelle en mode natif
lourd) qui s'exécute sur l’OS hôte (host). Logiciel complexe qui permet l'exécution de plusieurs OS
– Hyperviseur type 2 invités de même architecture processeur que la machine
hôte en offrant un accès générique aux ressources
• Il permet de lancer un ou plusieurs OS invités physiques.
(guest).
• Rôle du système hôte : procurer l'accès générique • Machine virtuelle en mode émulé ou “émulateur”
aux ressources physiques (disques, périphéries, A la différence de la machine virtuelle en mode natif, le
connexions) processeur est aussi émulé rendant ainsi possible
– les OS invités croient être interfacés directement avec l’exécution d'OS pour des plateformes différentes de celle
cette périphérie. de l'hôte

VCC2020/2021 FIA3-GL 39 VCC2020/2021 FIA3-GL 40

Virtualisation totale Virtualisation totale


Principe: Caractéristiques:

• Abstraction totale du système physique présent • Permet de faire cohabiter plusieurs OS invités hétérogènes
– mais architecture identique si mode natif et non émulé
• Le logiciel émule tous les composants : processeur (dans le
• Isolation complète des OS invités
cas émulé uniquement), bios, disque dur, vidéo.
• Les échanges entre les machines se font via les canaux standards de
• Le logiciel intercepte la plupart des instructions du système communication entre OS, et par réseau.
invité et les remplace par l'équivalent sur le système hôte.
– permet d’exécuter des applications prévues pour d’autres architectures. • Technique très coûteuse en ressources
– implémente une version complète du matériel pour chaque système invité
• Les machines n'ont pas conscience de l'émulation car elles • Les performances sont:
sont virtualisées sans aucun changement dans le système
– bonnes à excellentes dans le cas d'une machine virtuelle en mode natif.
d'exploitation. – Mauvaises (lourdes) dans le cas d'un émulateur
– Le système invité croit qu'il est seul à s'exécuter sur une
machine physique comme lors d'une installation classique.
VCC2020/2021 FIA3-GL 41 VCC2020/2021 FIA3-GL 42
Virtualisation totale
Limites:
• Ce type de virtualisation ne permet de virtualiser que
des systèmes d'exploitation prévus pour la même
architecture matérielle que le processeur physique
de l'ordinateur hôte.
• Comment savoir si votre processeur supporte
l'émulation?
*

*(svm pour un processeur amd et vmx pour un processeur Intel)


VCC2020/2021 FIA3-GL 43 VCC2020/2021 FIA3-GL 44

Virtualisation totale Virtualisation totale


Outil: hyperviseur de type 2
• un logiciel qui s'exécute à l'intérieur d'un OS (le système hôte) Architecture
• Les systèmes invités doivent traverser deux couches
logicielles avant d'accéder au hardware.
• Les performances s'en ressentent,
• un grand avantage: facile à installer et à configurer

VCC2020/2021 FIA3-GL 45 VCC2020/2021 FIA3-GL 46

Virtualisation totale Para-virtualisation


• Exemples (émulateurs) : Principe:
– QEMU : émulateur de plateforme x86, PPC, Sparc
• Si les OS invités fonctionnent en ayant conscience d'être virtualisés et sont
– Kvm: version modifiée de QEMU tirant parti des instructions de optimisés pour ce fait, on parle alors de para-virtualisation
virtualisation des processeurs Intel et AMD (Intel VT ou AMD-V)
• C'est une extension de l'architecture précédente (machine virtuelle).
– Plex86 : émulateur de plateforme x86
– Bochs : émulateur de plateforme x86 • L'hyperviseur est une couche directement posée au-dessus du matériel
 L’OS hôte est modifié; il est dit Hyperviseur de type 1
– PearlPC : émulateur de plateforme PPC sur matériel x86
• L'hyperviseur est un noyau hôte restreint (allégé) et optimisé pour assurer
– Virtualbox les accès des noyaux d’OS invités à l’architecture matérielle sous-jacente.
• Exemples (mode natif) : • Ce type de virtualisation requiert la modification des OS invités.
– Vmware : virtualisation de plateforme x86 – afin de leur permettre d'avoir conscience de l'existence de l'hyperviseur et de
• Trois déclinaisons pour Windows et Linux : Player, Workstation, Server communiquer avec lui.
• Fusion (beta) pour MacOSX – Le système se sait virtualisé et va donc travailler avec la couche de
– Microsoft VirtualPC : virtualisation de plateforme x86 virtualisation plus efficacement

VCC2020/2021 FIA3-GL 47 VCC2020/2021 FIA3-GL 48


Para-virtualisation Para-virtualisation
Outil: Hyperviseur type 1 Architecture:
• Un hyperviseur de type 1 est un logiciel qui s'exécute
directement sur une plateforme hardware.
• Il permet aux OS invités de rester relativement près du
matériel
– et donc de conserver des performances proches d'un système de
manière native.

VCC2020/2021 FIA3-GL 49 VCC2020/2021 FIA3-GL 50

VS Virtualisation totale/complète
Para-virtualisation
Caractéristiques:
• Un hyperviseur fonctionne directement au-dessus du
matériel et gère des VMs.
• Les VMs fonctionnent directement avec le matériel
sans interception des instructions.
Deux couches • C'est un noyau optimisé pour la gestion directe d’OSs
– Ainsi, il n'y a pas de latence dû à un système hôte.
• Les performances sont normalement excellentes (quasi
natives).
• Les machines virtuelles (OS invités) peuvent être de
type différents
VCC2020/2021 FIA3-GL 51 VCC2020/2021 FIA3-GL 52

Para-virtualisation Para-virtualisation
Caractéristiques: Avantages:
• Dans ce type de virtualisation, l'hyperviseur et le système • Les systèmes modifiés communiquent avec l'hôte d'une
d'exploitation invité coopèrent. façon ultra-optimisée,
• En virtualisation totale, lorsque l'invité a besoin de • Performances sont très élevées et proches du niveau natif
communiquer avec du matériel, celui-ci n'a accès qu'à du faux Limites:
matériel présenté par l'hyperviseur
• Les systèmes virtualisés, en plus de l'hôte, nécessitent un
• En para-virtualisation, l'hyperviseur capture les appels système système patché.
de l'invité et les transmet au matériel.
– dépendant du développement de ces patchs en fonction des
– l'invité exploite directement le matériel de l'ordinateur hôte. nouveaux noyaux (Xen ne développe plus de patch -> n’est plus
• La para-virtualisation offre des performances optimales, mais utilisé)
nécessite un système d'exploitation modifié, conscient qu'il – compliqué si un système virtualisé nécessite déjà d'autres
fonctionne dans un environnement virtualisé. optimisations du noyau.
• Offres dédiées à la production : salles de serveurs, datacenters

VCC2020/2021 FIA3-GL 53 VCC2020/2021 FIA3-GL 54


Para-virtualisation Les isolateurs
Exemples: Principe:
• VMware ESX : c’est un produit mature qui fait partie • un logiciel
d’une offre globale visant à virtualiser les moyens – Patch pour le noyau
informatique de l’entreprise. C’est un hyperviseur pour – Préinstallé à partir des noyaux 2.6.29
plateforme x86.
• Isoler l’exécution des applications dans les contextes
• Xen : hyperviseur initialement développé par d’exécution
l’université de Cambridge, il a été acheté par Citrix. Xen – au sein d'un système d'exploitation.
utilise un noyau léger supportant des noyaux linux,
NetBSD…etc. – des contextes propres aux applications à virtualiser.
• Chacun d'entre eux est régi par l'OS hôte
• Microsoft Hyper-V : intégré à Windows Server 2008
(version 64 bits uniquement) • mais les programmes de chaque contexte ne sont capables de
communiquer qu'avec les processus et les ressources associées à leur
propre contexte

VCC2020/2021 FIA3-GL 55 VCC2020/2021 FIA3-GL 56

Les isolateurs Les isolateurs


Architecture Gestion des ressources

• Chaque environnement possède son propre espace mémoire.


• Les autres ressources systèmes sont partagées
• Les instructions ne sont pas interceptées
• L'environnement exécuté doit être compatible avec celui du système
hôte.
Applications

• Exécution simultanée de plusieurs instances d'une même application


nativement conçue pour n'être exécutée qu'à un seul exemplaire par
machine.
• L'application lancée dans un contexte, ne connaîtra que les
applications lancées dans le même contexte.

VCC2020/2021 FIA3-GL 57 VCC2020/2021 FIA3-GL 58

Les isolateurs Les isolateurs


Caractéristiques: Limites:
1. Sépare un OS en plusieurs environnements
• L'isolation n'est pas parfaite entre les différentes
2. Partage le même noyau. zones d'exécution:
3. On ne peut pas parler de virtualisation de systèmes
• Les invités (ici, ce ne sont que des environnements) sont – Les environnements appartiennent tous au même
forcément issues du même OS. système d'exploitation et ils ont tous accès
• Seuls des processus sont isolés et non pas des systèmes directement au matériel
d'exploitation à part entière
4. Les performances sont optimales – Il est possible d'effectuer de l'allocation de ressources
entre les environnements
• Solution légère + faible complexité + faible surcharge
5. Spécificité linux • en attribuant des quotas sur des ressources telle que
l'espace disque, la mémoire vive disponible et la bande
• LXC (LinuX Containers) passante réseau.

VCC2020/2021 FIA3-GL 59 VCC2020/2021 FIA3-GL 60


Les isolateurs
Les isolateurs LXC
Exemples: • LXC: Linux Containers
• Méthode de cloisonnement (isolation de contextes) au
• Linux-VServer : isolation des processus en espace niveau du système d’exploitation
utilisateur • Repose sur les fonctionnalités des cgroups du noyau
Linux disponibles depuis sa version 2.6.24.
• BSD Jail : isolation en espace utilisateur – Virtualisation des ressources (CPU, mémoire, réseau)
• OpenVZ : libre, partitionnement au niveau noyau • Il est utilisé pour faire fonctionner des environnements
sous Linux Linux isolés les uns des autres dans des conteneurs
partageant le même noyau et une plus ou moins
• Solaris Zones: partitionnement au niveau du grande partie du système hôte.
noyau • Docker est un gestionnaire de conteneurs initialement
• LXC basé sur LXC.

VCC2020/2021 FIA3-GL 61 VCC2020/2021 FIA3-GL 62

Cgroups de Linux Namespaces de Linux


• Control Groups • Permettent de faire en sorte que des processus ne voient
• Partitionner les ressources d’un hôte (processeur, pas les ressources utilisées par d’autres.
mémoire, accès au réseau, …) – Auparavant « chrout »
• Pour contrôler la consommation de ces ressources par • Indépendants de Cgroups
processus • Si Cgroups gère la distribution des ressources, Namespaces
apporte l’isolation nécessaire à la création de conteneurs

VCC2020/2021 FIA3-GL 63 VCC2020/2021 FIA3-GL 64

Docker: une solution Isolateur


Les containers LXC 2013

• Logiciel libre
• Automatise le déploiement d'applications dans des
conteneurs logiciels (containers)
• Étend le format de conteneur Linux standard, LXC, avec une
API de haut niveau fournissant une solution de
virtualisation qui exécute les processus de façon isolée*
• Utilisation:
– empaqueter une application et ses dépendances dans un
conteneur isolé
• Le conteneur pourra être exécuté sur n'importe quelle machine Linux.
– Ceci permet d'étendre la flexibilité et la portabilité d’exécution
d'une application,
• Que ce soit sur la machine locale, un Cloud privé ou public…
* Abel Avram, “Docker: Automated and Consistent Software Deployments”, InfoQ, Mar 27, 2013.

VCC2020/2021 FIA3-GL 65 VCC2020/2021 FIA3-GL 66


Docker: une solution Isolateur Docker: un gestionnaire de LXC
• Docker permet de séparer les applications de l’infrastructure
– Livraison plus rapide des logiciels
– réduire le délai entre l’écriture du code et son execution en
production
• Packager et executer des applications dans un environnement isolé;
le conteneur
• Les conteneurs sont:
– Légers: pas d’hiperviseur: execution directe sur le kernel de la machine
hôte
– L’unite de développement, de distribution et de test de votre
application
– Quand l’application est prête, elle peut être déployée comme
conteneur pour garantir qu’elle fonctionnerais de la même façon
• Penser au déploement dans le Cloud

VCC2020/2021 FIA3-GL 67 VCC2020/2021 FIA3-GL 68

Docker à partir de la version 0.9


Mars 2014 VM vs Conteneur Docker
• Docker n’utilise plus LXC
comme son
environnement
d’exécution par défaut
• Il l’a remplacé par sa
propre librairie
« libcontainer » avec
ses drivers d’exécution

VCC2020/2021 FIA3-GL 69 VCC2020/2021 FIA3-GL 70

VM vs Docker container VM vs Conteneur Docker


• Docker container VM Conteneur
– Isolation des applications (processus et • Isolation totale avec l’os • L’isolation est juste au
ressources) hôte et les autres Oss niveau applications et
– Faible utilisation de ressources dépendances
– Déploiement rapide et facile • Exécute un OS complet • Exécute uniquement les
(Kernel inclus) donc plus de services nécessaires pour
• Qui a préféré LXC à une VM? ressources système (CPU, l’application qu’il contient
mémoire…)
• OS hôte et invité • Même version d’OS hôte
indépendants (pb de mises à jours)

VCC2020/2021 FIA3-GL 71 VCC2020/2021 FIA3-GL 72


Architecture Docker Images Docker
• un conteneur est un ensemble de fichiers sur
lequel s’exécutent un ou plusieurs processus
• L’un des apports essentiels de Docker est
d’avoir proposé une manière de conditionner
le contenu d’un conteneur en blocs
Public: docker Hub réutilisables et échangeables : les images
– Ces images sont donc des archives qui peuvent
être échangées entre plusieurs hôtes, mais aussi
être réutilisées.
VCC2020/2021 FIA3-GL 73 VCC2020/2021 FIA3-GL 74

Images Docker Docker: solutions existantes


Dockerfile
• Téléchargeables à partir d’un register • Docker pour les développeurs
– Docker automatise les tâches répétitives de création et de
• Peuvent être crées configuration des environnements de développement
– Quelque soit la machine utilisée par le développeur pour
– Créer un Dockerfile: syntaxe simple pour définir préparer sa partie du projet, la partie est intégrable facilement
et sans problèmes avec les autres parties
les étapes nécessaires à la création d’une image et • Docker pour les administrateurs système
son exécution – Facilité d’installation d’applications ( le système)
– Facilité de testes
– Facilité de déplacement (par conteneur) et de changement de
machine (portabilité)
• deux solutions téléchargeable sur le site officiel:
https://www.docker.com/

VCC2020/2021 FIA3-GL 75 VCC2020/2021 FIA3-GL 76

Docker: pour qu’elles plateformes?


• Linux:
• Any distribution running version 3.10+ of the Linux kernel
• Specific instructions are available for most Linux
distributions, including RHEL, Ubuntu, SuSE, and many
others.
• Microsoft Windows:
• Windows Server 2016, windows 10 pro
• Cloud:
• Amazon EC2
• Google Compute Engine
• Microsoft Azure
• Rackspace

VCC2020/2021 FIA3-GL 77 VCC2020/2021 FIA3-GL 78


Docker: pour qu’elles plateformes? Docker pour Windows

« An integrated, easy-to-deploy development


environment for building, debugging and testing
Docker apps on a Windows PC. Docker for
Windows is a native Windows app deeply
integrated with Hyper-V virtualization,
networking and file system, making it the fastest
and most reliable Docker environment for
Windows”

https://www.docker.com/
VCC2020/2021 FIA3-GL 79 VCC2020/2021 FIA3-GL 80

Docker pour Windows Vagrant


• Logiciel libre et open-source
• Création et configuration des environnements de
développement virtuel.
• Il peut être considéré comme un wrapper (adaptateur)
autour de logiciels de virtualisation comme VirtualBox.
• Depuis la version 1.1, Vagrant n'impose plus
VirtualBox, mais fonctionne également avec d'autres
logiciels de virtualisation tels que VMware, et prend en
charge les environnements de serveurs comme
Amazon EC2, à condition d'utiliser une "box" prévue
pour le système de virtualisation choisi.

https://www.vagrantup.com/
VCC2020/2021 FIA3-GL 81 VCC2020/2021 FIA3-GL 82

Vagrant Vagrant
• Gestion des VMs indépendamment des • Bien qu'écrit en Ruby, il est utilisable dans des
hyperviseurs projets écrits dans d'autres langages de
– Notion d’images (boxes de vagrant) programmation tels que PHP, Python, Java, C# et
– Configuration automatique de VM: support de JavaScript.
Puppet, Chef, Ansible • Depuis la version 1.63,4, Vagrant fournit un
– Un fichier qui contient toute la configuration support natif des conteneurs Docker à
l'exécution, au lieu d'un système d'exploitation
entièrement virtualisé. Cela permet de réduire les
frais généraux puisque Docker utilise des
conteneurs Linux légers

VCC2020/2021 FIA3-GL 83 VCC2020/2021 FIA3-GL 84


Pour aller plus loin Comment choisir?
Mooc Introduction aux conteneurs Technique Type Patch Sol° Choix
Isolateur Processus Pour l’hôte V-server Ultra-performant, un seul
https://openclassrooms.com/fr/courses/ (le seul à OpenVZ noyau est partagé par tous.
avoir un LXC Utilisé pour séparer des
3631731-introduction-aux-conteneurs/ noyau) avant Rkt(CoreOS) services au sein d'un serveur,
les noyaux RunC un service étant attribué à un
2.6.29 Docker contexte isolé
Virt. Totale Système, Aucun Virtualbox Tests pour des développeurs,
OS non VMWare dans un environnement
modifié graphique.
Très lourd
Para- Système, Pour l'hôte et Xen, Xvm, Très performant, mais
virtualisation OS modifié les Hyper-V nécessite des noyaux modifiés.
invités Parfait pour virtualiser des
systèmes Linux.

VCC2020/2021 FIA3-GL 85 VCC2020/2021 FIA3-GL 86

2020-2021 Virtualisation des serveurs

VIRTUALISATION DES SERVICES ET CLOUD COMPUTING Virtualisation des applications


Domaines
Virtualisation des postes de
Chapitre III:
de travail
Virtualisation des Applications virtualisation
Virtualisation du stockage

FIA3-GL Nihed BAHRIA Virtualisation du réseau


VCC2020/2021 FIA3-GL 87 VCC2020/2021 FIA3-GL 88

Virtualisation des applications Technique d’exécution distante

• Désigne le fait de séparer • Le moyen le plus simple de permettre l’utilisation d’une


l’utilisation d’une application des application sans l’installer
environnements matériels et
logiciels nécessaires à son
1. Exécuter l’application sur un serveur
exécution
2. Envoyer l’image et le son que l’application génère sur le
• Techniques
poste de travail.
1. L’exécution de l’application à
distance ;
2. Le streaming de l’application

VCC2020/2021 FIA3-GL 89 VCC2020/2021 FIA3-GL 90


Technique d’exécution distante
Avantages:
• Fournir des applications aux utilisateurs des postes de travail sans avoir à
les installer
– Diminuer le nombre de composants à gérer sur le poste de travail
• Mettre à disposition le service/application de manière instantanée
• Gestion centralisée sur les serveurs d’application
– Interventions rapides
– Maintenance simple, màj aisée
• Adaptée aux clients légers (où l’application ne peut pas être exécutée)
Inconvénients:
• Problème de réseau
• certaines applications ne sont pas faites pour fonctionner dans un système
d’exploitation pour serveur
• certaines applications ne peuvent pas être exécutées plusieurs fois
simultanément.
Remote Desktop Protocol (RDP) – impossible de desservir plusieurs utilisateurs en même temps.

VCC2020/2021 FIA3-GL
ICA (Independent Computing Architecture)
91 VCC2020/2021 FIA3-GL 92

Virtualisation des applications:


Technique 2 : Streaming d’applications (1/6)
• aussi appelé « installation à la demande ».
1. un utilisateur tente de lancer une application
2. le serveur envoie au poste de travail tous les fichiers
dont l’application a besoin pour s’exécuter
3. l’application est exécutée par le poste de travail, avec
ses propres ressources.
 Fonctionnement possible en mode déconnecté
 Ceci suppose des postes clients lourds

Note
Cela suppose que le serveur dispose d’un package contenant tous
les fichiers dont a besoin l’application, et qu’il l’envoie au client.

VCC2020/2021 FIA3-GL 93 VCC2020/2021 FIA3-GL 94

Virtualisation des applications Virtualisation des applications


Streaming d’applications (3/6) Streaming d’applications (4/6)
• Pb: Il faut créer ces fameux packages • Les outils de packaging d’application
• Principe:
1. surveiller l’installation de l’application
2. regrouper dans le package: 1. Le packaging d’application classique
• tous les fichiers ajoutés
• toutes les modifications faites au registre 2. Le packaging d’application sous Citrix (XenApp)
• Limites:
– Cette installation surveillée doit être effectuée sur un
ordinateur « propre »
– packager une application sur le même système
d’exploitation avec lequel elle va être utilisée

VCC2020/2021 FIA3-GL 95 VCC2020/2021 FIA3-GL 96


Virtualisation des applications Virtualisation des applications
Streaming d’applications (5/6) Streaming d’applications (6/6)
1. Le packaging d’application classique 2. Le packaging d’application sous Citrix (XenApp)

• L’outil lance un premier scan du système (disque dur et


registre) avant l’installation • XenApp surveille l’installation de l’application
• Il invite l’utilisateur à installer l’application à packager • Il intercepte les accès au registre et au disque dur
• Il lance un second scan du système
• Il les redirige tous vers le package (appelé « profil »)
• La différence des deux scans donne la liste des fichiers
et des clés de registre à inclure dans le package
• Placer le package dans un répertoire partagé pour que
les utilisateurs (clients) puissent y accéder

VCC2020/2021 FIA3-GL 97 VCC2020/2021 FIA3-GL 98

Exécution à distance

• L’application est installée et exécutée


sur un serveur distant
• L’image et le son sont envoyés à travers:
• Remote Desktop Protocol (RDP)
Virtualisation • ICA (Independent Computing
des Architecture)
• Exemples: gmail, google docs…. Virtualisation des applications
applications: • Mode connecté
Exemples
Techniques
Streaming d’application
en résumé • Microsoft App-V
• L’application est installée sur un serveur
distant mais exécuté sur le poste local • VMware ThinApp
• Un package est envoyé au client
• Mode hors connexion
• Citrix XenApp
• Exemples: calculatrice windows

VCC2020/2021 FIA3-GL 99 VCC2020/2021 FIA3-GL 100

VMWare ThinApp Microsoft App-V Citrix XenApp

Virtualisation du Desktop
•Un poste «master» pour •Un client App-V est à •Initialement exécution à
Virtualiser les applications déployer sur les postes de distance pour clients légers
•ThinApp installé sur travail •Ensuite streaming
chaque poste client •Méthode: streaming •Technologie de
•Déploiement des d’application virtualisation (pour créer Desktop
packages • package dans le cache du les packages)= citrix
•Clef USB client à sa demande streaming profiler
•Site Web •Notion de bulles pour •Le profil obtenu doit être
•Répertoire réseau isoler l’exécution des enregistré dans un
applications (pas de répertoire partagé
changement des syst. de Application
Virtualisation Serveurs
fichiers ni de registre l’OS s

Réseaux

VCC2020/2021 FIA3-GL 101 VCC2020/2021 FIA3-GL 102


Virtualisation du Desktop Virtualisation du Desktop
Définition (1/2) Définition (2/2)
• La capacité de travailler sur un ordinateur distant
• aussi appelé VDI (Virtual Desktop Infrastructure)
comme s'il s'agissait d'un poste local.
– Citrix préfère utiliser le terme de DDI (Dynamic
• Les « bureaux virtuels » sont hébergés sur des
Desktop Infrastructure)
serveurs distants (datacenters).
• fournir aux utilisateurs finaux des "bureaux • Ils sont indépendants les uns des autres.
virtuels" • On accède aux bureaux virtuels via une simple
– la possibilité de se connecter de n’importe où à leur connexion Internet
environnement de travail (OS, applications et
• Le poste local peut être un simple terminal.
données).

VCC2020/2021 FIA3-GL 103 VCC2020/2021 FIA3-GL 104

Virtualisation du Desktop Virtualisation du Desktop


Vs virtualisation des applications Vs virtualisation des applications
• La virtualisation de la présentation: c’est la
virtualisation des applications en mode
exécution distante
• La virtualisation des applications (mode Presentation Layer
streaming): une application peut être Presentation Virtualization
téléchargée (le package) et exécutée localement Corpora
te

sans configuration spéciale ni de l’application ni Applica


tin

du PC client ni de son OS Application Layer


Application Virtualization

Desktops, Applications, User Data • La virtualisation du desktop: utilise à la fois la


couche virtualisation de machines pour créer Desktop OS Layer
les VMs sur un serveur, et la couche de Machine Virtualization
• La virtualisation de poste de travail résout les problèmes connus de la virtualisation de présentation pour l’accès
virtualisation d’application `
distant à ces VMs à partir du poste client Physical Machine Layer
– Non fonctionnement de certaines applications
– Difficulté de gestions des périphériques externes
VCC2020/2021 FIA3-GL 105 VCC2020/2021 FIA3-GL 106

Virtualisation du Desktop
Défis
• Accès aux desktops de n’importe quel équipement
connecté (anywhere access)
• Simplifier la gestion des postes locaux (qui n'intègrent
par exemple plus d'OS)clients légers
• Protéger des données sensibles en les centralisant
plutôt qu'en les dispersant sur des postes locaux
• Partager une capacité de calcul centrale entre
utilisateurs locaux
• Centraliser la gestion du poste de travail.
Le client léger (zero client) Dell WyseTM P20 conçu
• Garantir la continuité du travail pour la solution VMware ViewTM

VCC2020/2021 FIA3-GL 107 VCC2020/2021 FIA3-GL 108


Virtualisation du Desktop Virtualisation du Desktop
Principe
Architecture globale

• Plusieurs machines virtuelles


(une par poste physique)
équipées d’un système
d’exploitation de bureau
s’exécutent sur un serveur
• Le serveur fonctionne avec un
système d’exploitation particulier appelé « hyperviseur ».
• Lorsqu’un utilisateur allume son poste physique, il se connecte à
l’une de ces machines et y ouvre une session.
• L’affichage et le son de cette machine virtuelle sont transférés
sur le poste physique par l’intermédiaire du réseau.
VCC2020/2021 FIA3-GL 109 VCC2020/2021 FIA3-GL 110

Virtualisation du Desktop Virtualisation du Desktop


Connexion à un desktop virtuel 1. Hyperviseur: création de MV
• Pour créer une machine virtuelle sur un
hyperviseur, quelques clics suffisent:
– On détermine sa configuration réseau, le nombre de
CPUs et la quantité de RAM qu’elle peut utiliser, et
où elle stocke son disque dur, et l’hyperviseur se
(1) Le client sollicite le système en accédant au broker
(2) Le broker demande à l’hyperviseur l’affichage du PC virtuel adéquat charge du reste
(3) L’hyperviseur instancie et démarre le PC virtuel – Créer des machines virtuelles avec les mêmes
(4) L’hyperviseur envoie l’affichage du PC virtuel au broker
(5) Le broker envoie l’affichage du PC virtuel vers le terminal client
paramètres n’est pas compliqué: il suffit de répéter
le processus; Mais…

VCC2020/2021 FIA3-GL 111 VCC2020/2021 FIA3-GL 112

Virtualisation du Desktop Virtualisation du Desktop


1. Hyperviseur: création de MV 2. (Connection) Broker
• Deux solutions permettent de créer les • Objet:
machines virtuelles en grand nombre et avec le – Fournir un point unique de connexion pour les accès clients
• Fonctionnalités:
même disque dur : – provisionner les bureaux pour les utilisateurs
1. Le streaming de système d’exploitation (Citrix) – gérer un pool de bureaux virtuels qu’il pourra fournir à la
demande.
2. La création de disques virtuels pour chacune des – gérer le démarrage, l’arrêt, la suspension, le clonage… des
machines (Vmware,…) machines virtuelles pour optimiser leur utilisation sur les
serveurs.
• consiste à créer, pour chaque nouvelle MV, un disque « – gérer les reconnexions en cas de coupures
différentiel », qui stocke la différence entre le disque de la – gérer la fourniture d’un nouveau bureau en cas de panne
MV et celui de la machine « mère ». logicielle ou matérielle
– équilibrer la charge entre les serveurs

VCC2020/2021 FIA3-GL 113 VCC2020/2021 FIA3-GL 114


Virtualisation du Desktop Virtualisation du Desktop
Connection Broker Déploiements
1. hosted virtual desktop
– 1 serveur contient plusieurs VM chacune hébergeant 1 utilisateur
• Un logiciel 2. shared desktop
• Exemples de logiciels de gestion de brokers et – 1 seul OS supportant plusieurs utilisateurs qui y ouvrent des sessions
• Toutes les sessions se basent sur une seule image « golden »
de desktops virtuels – Toutes les modifications apportées au desktop virtuel lors d'une session
– Vmware View de travail ne sont pas enregistrés
– ils disparaissent simplement après que l'utilisateur se déconnecte et la
– Citrix XenDesktop session utilisateur tourne vers la même image « golden »
3. dedicated desktop
– Chaque utilisateur dispose de son propre fichier image du desktop virtuel
– Les modifications provoqués par l’utilisateur sont conservés dans l’image
• Ils persistent après la déconnexion /reconnexion de l'utilisateur

VCC2020/2021 FIA3-GL 115 VCC2020/2021 FIA3-GL 116

Virtualisation du Desktop Virtualisation du Desktop


Exemples Problèmes soulevés
• Gestion du multimédia
– les protocoles de connexion à distance n’ont pas été
• Citrix XenDesktop créés pour permettre une gestion efficace de la vidéo
– Les techniques utilisées pour le déport d’écran
• VMware View conviennent lorsque l’affichage est relativement
statique mais pas lorsque l’affichage change beaucoup
• Quest Provision Networks d’une image à l’autre
• Oracle VDI: The Oracle Virtual Desktop – Sol°: Lorsqu’on lance une vidéo, elle est transférée sur le
réseau jusqu’à la machine physique dans son format
Infrastructure product has been discontinued. d’origine et lue localement.
• Citrix VDI in a Box... – intercepter la vidéo, puis l’extraire du reste du flux et de
l’envoyer
– Le « client léger » n’est plus question!!!!!

VCC2020/2021 FIA3-GL 117 VCC2020/2021 FIA3-GL 118

Qu’est ce que la virtualisation de


Virtualisation des réseaux
réseaux?

Desktop

Application
Virtualisation Serveurs
s

Réseaux

VCC2020/2021 FIA3-GL 119 VCC2020/2021 FIA3-GL 120


Virtualisation des réseaux Virtualisation des réseaux
Définition VLAN
• En informatique, la virtualisation de réseau est le • Réseau virtuel local (VLAN – Virtual Local Area
processus de combiner les ressources réseau matérielle Network)
et logicielles et les fonctionnalités du réseau dans une
seule entité administrative logicielle, le réseau virtuel. • Les VLAN sont utilisés sur les réseaux
importants pour segmenter ou isoler le trafic
• Partager la même infrastructure physique du réseau en différents domaines de diffusion.
(bande passante, ressources CPU des routeurs etc.) entre • N’est pas relié à la virtualisation dans le sens
plusieurs réseaux virtuels isolés de ce cours
• Concept important pour la virtualisation de
• Objectif: fournir aux systèmes et utilisateurs un partage réseaux
efficace, contrôlé et sécurisé des ressources réseau.
VCC2020/2021 FIA3-GL 121 VCC2020/2021 FIA3-GL 122

Virtualisation des réseaux Virtualisation des réseaux


VLAN: Définition VLAN: Création
• le VLAN est un réseau local de type logique
(regroupant un certain nombre de périphériques
de manière logique et non physique) • On crée généralement des VLAN à l’aide de
commutateurs intelligents
VLAN30
Enseignants • mais vous pouvez également les créer à partir
VLAN20 de machines physiques ou virtuelles.
Administration
• La segmentation VLAN est incluse dans les
versions du noyau Linux 2.4.14 et suivantes
VLAN10
Étudiant

VCC2020/2021 FIA3-GL 123 VCC2020/2021 FIA3-GL 124

Virtualisation des réseaux Virtualisation des réseaux


VPN VPN: Principe
• Réseau privé virtuel (VPN – Virtual Private Network)
• Technologie permettant à un ordinateur distant d’avoir,
via Internet, un accès direct et totalement sécurisé à un • VPN repose sur un protocole appelé « protocole
autre ordinateur ou à un réseau local de tunneling » (protocole d’encapsulation)
• Apparue pour répondre aux besoins d’accès sécurisé • Encapsuler les données à transmettre de façon
dans les systèmes et les applications distribués
cryptée et les faire circuler d’un bout à l’autre du
– Utiliser Internet est moins coûteux que les LS
tunnel
• Réseau Privé Virtuel:
– Privé: seuls les réseaux locaux de part et d’autre du VPN • Les utilisateurs ont l’impression de se connecter
peuvent « voir » les données directement sur le réseau de leur entreprise
– Virtuel: il relie 2 réseaux « physique » (LAN) par une liaison
non fiable (Internet)
VCC2020/2021 FIA3-GL 125 VCC2020/2021 FIA3-GL 126
Virtualisation des réseaux
Tunneling
Virtualisation de réseau
Définition:
Deux catégories:
• C’est l’ensemble des processus d’encapsulation, de
transmission et de désencapsulation
Principe: 1. Réseaux virtuels externes
• Identifier l’émetteur et le destinataire  Combiner plusieurs réseaux, ou parties de
• Construire un chemin virtuel (tunnel) réseaux, dans une unité virtuelle
• La source chiffre les données et les achemine en
empruntant ce chemin virtuel
2. Réseaux virtuels internes
 Offrir des fonctionnalités similaires du réseau aux
conteneurs logiciels sur un seul système

VCC2020/2021 FIA3-GL 127 VCC2020/2021 FIA3-GL 128

Virtualisation des réseaux Virtualisation des réseaux


Réseau virtuel externe Réseau virtuel externe
• En différentes couches :
• Les réseaux virtuels externes sont composés
– Couche 1
de plusieurs réseaux locaux administrés par le • La virtualisation est rarement implémentée dans cette couche
logiciel comme une entité unique physique
– Couche 2
• Dans les réseaux virtuels externes un ou • Utiliser des Tags dans la trame MAC pour fournir la virtualisation
plusieurs réseaux locaux sont combinés ou • Exemple, VLAN.
– Couche 3
subdivisés en réseaux virtuels dans l’objectif • Utiliser des techniques de tunneling pour former un réseau virtuel
d’améliorer les performances d’un grand • Exemple, VPN.
réseau d’entreprise/du datacenter – Couche 4 ou supérieure
• Construire des réseaux overlay pour certaines applications
• Exemple, P2P.
VCC2020/2021 FIA3-GL 129 VCC2020/2021 FIA3-GL 130

Virtualisation des réseaux Réseau virtuel externe


Réseau virtuel externe Virtualisation des périphériques
– Solution de couche 2 o Solution de couche 3
Que virtualiser? • Diviser le commutateur  Technique VRF
1.Virtualisation des physique en plusieurs ( Virtual Routing and Forwarding )
switchs virtuels
périphériques réseau  Emule des tables de routage isolées
dans un unique routeur physique
• Virtualiser les périphérique Data Path
physiques dans le réseau
Router
2.Virtualisation du chemin
de données
• Virtualiser le chemin de
communication entre les
points d’accès du réseau
Switch
VCC2020/2021 FIA3-GL 131 VCC2020/2021 FIA3-GL 132
Réseau virtuel externe
Virtualisation du chemin de données
Virtualisation de réseau
• Hop-to-hop
– Considère la virtualisation
Deux catégories:
appliquée à un chemin de
donnée d’un seul saut
– 802.1Q 1. Réseaux virtuels externes
 Combiner plusieurs réseaux, ou parties de
réseaux, dans une unité virtuelle
• Multi-hop
– Les tunnels de virtualisation
permettent un chemin 2. Réseaux virtuels internes
multi-sauts  Offrir des fonctionnalités similaires du réseau aux
– MPLS conteneurs logiciels sur un seul système

VCC2020/2021 FIA3-GL 133 VCC2020/2021 FIA3-GL 134

Exemple de virtualisation de réseau de VMware


Virtualisation de réseau
Réseau virtuel interne

• Un système unique configuré avec des conteneurs ou des


VMs
• Les conteneurs/VMs sont combinés avec des
programmes de contrôle d’hyperviseur ou des pseudo-
interfaces tels que les VNIC (cartes d'interface réseau
virtuelles ou NIC virtuelles )
• Objectif: créer un « network in a box »

VCC2020/2021 FIA3-GL 135 VCC2020/2021 FIA3-GL 136

Réseau virtuel interne Réseau virtuel interne


Propriétés Techniques
• Les VMs sont logiquement connectées les
unes au autres de façon à pouvoir envoyer et
recevoir entre elles
• Chaque réseau virtuel est servi par un unique
switch virtuel
• Un réseau virtuel peut être connecté à un
réseau physique en associant un ou plusieurs
adaptateurs réseau au commutateur virtuel

VCC2020/2021 FIA3-GL 137 VCC2020/2021 FIA3-GL 138


Réseau virtuel interne Réseau virtuel interne
Exemple Solaris Zones Exemple Solaris Zones
• Lorsque le réseau virtuel est configuré, une zone envoie le
trafic vers un hôte externe de la même manière qu'un
système sans réseau virtuel.
– Le trafic circule, par l'intermédiaire de la VNIC, de la zone vers le
commutateur virtuel, puis vers l'interface physique, qui envoie
les données au réseau.
• Les zones peuvent également échanger du trafic entre elles
au sein du système.
– Par exemple:
1. les paquets sont envoyés à partir de la zone 1 via leur VNIC 1
dédiée.
2. Le trafic passe ensuite à travers le commutateur virtuel vers
VNIC 3.
3. VNIC 3 transmet alors le trafic à la Zone 3.
Configuration VNIC pour une interface unique
VCC2020/2021 FIA3-GL 139 VCC2020/2021 FIA3-GL 140

Virtualisation de réseau Virtualisation de réseau


Résumé Bénéfices

• Réseaux virtuels externes


– Utilisez ce type de réseau pour permettre aux • Consolidation et économie de switchs
ordinateurs virtuels de communiquer avec les physiques
serveurs externes – Provisionnement de ports virtuels et
administration simplifiés
• Réseaux virtuels internes • Gestion de qualité de service avec priorisation
– Utilisez ce type de réseau pour autoriser les
communications entre les ordinateurs virtuels situés • Sécurité et contrôle améliorés pour les
sur le même serveur physique machines virtuelles

VCC2020/2021 FIA3-GL 141 VCC2020/2021 FIA3-GL 142

Virtualisation de réseau 2020-2021


Problèmes liés

VIRTUALISATION DES SERVICES ET CLOUD COMPUTING


• Bande passante

• Redondance
Chapitre V:
Cloud Computing
• Complexité

FIA3-GL Nihed BAHRIA

VCC2020/2021 FIA3-GL 143 VCC2020/2021 FIA3-GL 144


Introduction Définition du NIST
Le constat aujourd’hui : • Cloud computing is a model for enabling convenient, on-
Les coûts informatiques (humain et financier) représentent une part demand network access to a shared pool of configurable
importante du budget d’une entreprise. computing resources (e.g., networks, servers, storage,
applications, and services) that can be rapidly
En réponse à cette problématique est apparu le « Cloud Computing » : provisioned and released with minimal management
• Externalisation de l’informatique (logiciel et/ou matériel). effort or service provider interaction.
• Utilisation de la puissance de serveurs répartis dans le monde • This cloud model promotes availability and is composed
entier. of four essential characteristics, three service models,
and four deployment models.
Cette délocalisation est facilitée par Internet.

Aujourd’hui le « Cloud Computing » dispose de nombreux avantages et


semble être une solution séduisante mais qu’en est il réellement ?
VCC2020/2021 FIA3-GL 145 VCC2020/2021 FIA3-GL 146

Qu’est ce le Cloud Computing? Les principes du Cloud Computing

• Un paradigme réseau et pas une


technologie particulière

• Une nouvelle pensée des ITs

• Un ensemble de caractéristiques
et de technologies habilitantes C’est un cloud qui
vous est dédié...

VCC2020/2021 FIA3-GL 147 VCC2020/2021 FIA3-GL 148

Technologies habilitantes Technologies habilitantes


1. Les services web
1.Les services web
– Intégration des systèmes matériels/logiciels à
travers les réseaux de communication (y compris
2.Utility computing Internet)
• SOAP Based Web Services
• RESTful Web Services
3.La virtualisation Facilite le provisionnement rapide d’applications
et services
Facilite le self-service

VCC2020/2021 FIA3-GL 149 VCC2020/2021 FIA3-GL 150


Technologies habilitantes Technologies habilitantes
2. L’utility Computing 3. La virtualisation
– Fourniture de ressources à la demande et
facturation en fonction de l'utilisation au lieu d'un Ressources partagées
taux forfaitaire
Élasticité
Payement à l’utilisation (pay as you use)
Self service

VCC2020/2021 FIA3-GL 151 VCC2020/2021 FIA3-GL 152

Les fournisseurs du Cloud Avantages du Cloud Computing


• Deux types: • Utilisation plus efficace des ressources informatiques:
– Centres de données partagés, mutualisés et décentrés
1. Fournisseurs d’infrastructure: Gérer les plates- – Une solution écologique (Green IT)
formes de Cloud Computing et louent (à bail) les • Rationalisation des coûts :
ressources. – Coûts de mise en œuvre réduits et Capex --> Opex

2. Fournisseurs de service: louer des ressources d’un • Adaptation à l'utilisation


ou plusieurs fournisseurs d'infrastructures pour – Souplesse en cas de montée en charge de l’infrastructure
(scalability)
servir les utilisateurs finaux – Flexibilité en cas de réduction de la puissance utilisée.
– Facilité d’évolution en cas de migrations ou d’upgrades

VCC2020/2021 FIA3-GL 153 VCC2020/2021 FIA3-GL 154

Avantages du Cloud Computing Cloud Computing :Les limites (1/2)

• Moins Cher 1. Aspects sécurité:


– Confidentialité et intégrité,
– Pay-as-you-go model.
– sécurité des services
• Fiable – Disponibilité des services
– Batterie, virus, température…
2. Aspects qualité:
• Accès facile
– Qualité de service,
– Web-based services
– Engagements SLA
• Réduction des risques de l'entreprise
– Les fournisseurs de services déplacent les risques 3. Questions juridiques et réglementaires
d'exploitation vers les fournisseurs d'infrastructure – Absence de standards et réglementation adaptés pour le
Cloud computing

VCC2020/2021 FIA3-GL 155 VCC2020/2021 FIA3-GL 156


Cloud Computing : Les limites (2/2) Architecture du Cloud computing
modèle en couches
4. D’autres coûts • Couche matérielle: Applications

D’autres coûts supplémentaires ne sont pas toujours responsable de gérer les Logiciels
Data
correctement comptabilisés ressources physiques du
Cloud. Elle inclut la Runtime
ex : le déplacement d’un seul coup de gros volumes de données vers ou couche de virtualisation
depuis le Cloud peut s’avérer très couteux. Tout comme le stockage de
données sur le Cloud pour des très longues périodes • Couche système ou Middleware Système
plateforme : consiste en O/S
des OSs et des
5. Loosers applications Virtualization

Comme il crée des gagnants, le Cloud créera des perdants: les • Couche application: les Servers
petits fournisseurs d’équipement informatique, réduction des applications Cloud Matériel
ressources humaines IT, etc. actuelles Storage

Networking

VCC2020/2021 FIA3-GL 157 VCC2020/2021 FIA3-GL 158

Architecture du Cloud Computing


Modèles de service Software as a Service
• SaaS: Se réfère à fournir des applications à la
demande via Internet.

• PaaS: Se réfère à fournir des ressources de la


SaaS (Software as a Service) renvoie à un modèle de logiciel
couche plate-forme, y compris le support d'OS et le commercialisé non pas sous la forme d'un produit (licence), que
framework de développement de logiciels. le client installerait, mais en tant qu'application accessible à
distance comme un service, par le biais d'Internet et du Web.
• L’utilisateur final n’a besoin d’avoir aucune connaissance
• IaaS: Provision à la demande des ressources technique préalable.
d'infrastructure, généralement en termes de • Il ouvre un compte, paie éventuellement un abonnement et
machines virtuelles. utilise le logiciel (souvent des applications web) sans se soucier
d’espace de stockage, de puissance machine ou même de mise à
jour de logiciel.
VCC2020/2021 FIA3-GL 159 VCC2020/2021 FIA3-GL 160

Software as a Service
Software as a Service
Exemples
Modèle
 Tout est chez le fournisseur de classique • Salesforce CRM, Microsoft Dynamics CRM on line
service SaaS Applications (Gestion Relation Client).
 Les utilisateurs doivent adapter – Réduction des risques et des coûts liés à l’implémentation d’un
Data système CRM (60 à 90 jours au lieu de 6 mois).
leur processus aux applications
proposées. On ne peut pas, Runtime • Google Apps (Outils bureautiques) : Google
pour l'instant, tout faire en Middleware documents, Agenda, Talk…
SaaS.
O/S • BaseCamp (Gestion de projets)
 Les services SaaS se basent
massivement sur les Virtualization • FaceBook, Viadeo (Réseaux sociaux) : nouveau
technologies Web. En effet, mode de communication.
Servers
côté client, seul un navigateur
est disponible Storage

Networking

VCC2020/2021 FIA3-GL 161 VCC2020/2021 FIA3-GL 162


Software as a Service
Craintes
Plateform as a Service
• Sur le même principe que SaaS, PaaS propose à
• Sécurité des données l'utilisateur (en plus d'un service d'utilisation de logiciel
à distance), d'avoir accès à une véritable plate-forme
• Connexion doit être optimale de développement (langage de programmation, outils
• Localisation des données de développements, modules).
• Et problématiques juridique • L'utilisateur bénéficie donc d'un environnement de
développement géré, hébergé, maintenu par un
fournisseur, basé sur une infrastructure externe à son
entreprise.

VCC2020/2021 FIA3-GL 163 VCC2020/2021 FIA3-GL 164

Platform as a Service (PaaS) PaaS


Définition Architecture
Modèle
• Il s’agit d’offrir des ressources machines et de l’espace classique
de stockage, mais aussi une plateforme d’exécution
Applications
pour un logiciel. Ces plateformes sont spécifiques à un Le Cloud de niveau PaaS concerne
langage et à une base de données. les développeurs et les producteurs
Data

• L’exemple le plus connu et le plus répandu est celui des d’applications, soit deux niveaux de Runtime

plateformes LAMP : Linux (GNU encore oublié), service: Middleware

Apache, MySQL, PHP. •les plateformes de développement O/S

• Les offres plus récentes de PaaS incluent la notion de •les applications qui fournissent le
Virtualization
temps CPU, d’espace de stockage, de bande passante service du niveau supérieur (SaaS)
Servers
consommée. On paie donc en fonction de ce que l’on
consomme. Storage

Networking

VCC2020/2021 FIA3-GL 165 VCC2020/2021 FIA3-GL 166

PaaS PaaS
Exemples Avantages/Inconvénients

• Force.Com (SalesForce), Titan (Microsoft • Avantages :


Dynamics CRM) (Gestion Relation Client). – Maintenance à la charge du prestataire (pas de mise à jour à
penser).
– Accès à la plateforme par le biais d’un navigateur Web.
• Google App Engine (Développer un site
– Temps de développement fortement réduit (utilisation de
web dynamique) modules…).
• Inconvénients :
• Intuit (Comptabilité) – L’application n’appartient pas à l’entreprise cliente.
– Relative disponibilité (Difficile de prévoir les soudaines montées
• IBM BlueMix en charge).

VCC2020/2021 FIA3-GL 167 VCC2020/2021 FIA3-GL 168


Infrastucture as a Service Exemples
• Alors que la plupart des entreprises possèdent leur propre • L’offre IaaS existe auprès de quelques grandes sociétés, seules à
infrastructure informatique (serveurs, routeurs…), une tendance posséder des centres de traitements informatiques (DataCenter)
émerge peu à peu : IaaS (Infrastructure as a Service). dans le monde entier : Microsoft, IBM, Amazon.
• Objectif de IaaS: désengager l’entreprise de toute infrastructure Microsoft
• Azure: Virtualisation du système, des outils de développement
informatique : il s’agit de dématérialiser la salle informatique « on the et des applications.
Cloud » afin de réduire les coûts de fonctionnement (électricité, IBM
climatisation, achat de serveurs,…). • Blue Cloud – Système Open source (Red Hat Entreprise Linux) +
• Alors que PaaS proposait des plateformes de développement applications (Websphere, DB2…).
Amazon
mutualisées, IaaS propose des plateformes de production
• S3 : Offre un stockage illimité
mutualisées.
• Elastic Compute Cloud (EC2) : Images serveur

VCC2020/2021 FIA3-GL 169 VCC2020/2021 FIA3-GL 170

Avantages/ Inconvénients Modèle


classique
Infrastructure
(as a Service)

Applications Applications
• Avantages
Data Data
 Moins de contraintes liées aux architectures (choix, achat, maintenance, Runtime Runtime
évolutivité…).
 Tout est de la responsabilité du prestataire.
 Dématérialisation : en cas de dégradation des temps de réponse, il est Middleware Middleware

possible de passer dynamiquement sur un serveur plus puissant.


 Possibilité de changer de prestataire. O/S O/S

 Solution moins coûteuse (plus rentable de louer des serveurs virtuels ) Virtualization Virtualization
 Autres gains engendrés : climatisation, électricité…
 Possibilité de gérer de gros volumes de données. Servers Servers

• Inconvénients Storage Storage

 La confidentialité des données. Networking Networking


 Pas d’accès aux données en cas de défaillance de la liaison.
 La résistance aux changements : adaptation, mutation et disparition de
certains métiers dans l’entreprise.

VCC2020/2021 FIA3-GL 171 VCC2020/2021 FIA3-GL 172

Les services Cloud en résumé


• IaaS (Infrastructure-as-a-Service) fourniture en ressources Flexibilité Simplicité
informatiques : processeur, stockage, Firewall, routeur,
etc.
• PaaS (Platform-as-a-Service) Iaas + système d'expl. et IaaS
serveur d'applications : Outils de développement pour
des applications à construire
• SaaS (Software-as-a-Service) – PaaS + applications : les PaaS
applications et les données sont hébergées. Rien à
installer, pas de matériel à posséder en interne SaaS

VCC2020/2021 FIA3-GL 173 VCC2020/2021 FIA3-GL 174


Modèles de déploiement Cloud public
• Les fournisseurs de service offrent leurs
ressources comme un service au grand public
• Public Cloud
• Ils permettent d'accéder rapidement à des
• Private Cloud ressources.
• Plusieurs clients peuvent utiliser le même
• Hybrid Cloud serveur physique en même temps, mais les
tâches ou données n'interfèrent pas entre
elles.

VCC2020/2021 FIA3-GL 175 VCC2020/2021 FIA3-GL 176

Cloud privé Cloud hybride


• Conçu pour un usage exclusif d’une seule • Une combinaison de nuages privés et publics.
organisation • Facilite l’expansion et la contraction à la demande
(Clouds publics), mais avec une sécurité et un contrôle
• Un bon choix pour des entreprises qui exigent renforcés (Clouds privés)
une protection de données sensibles, ou • La gestion des données, par contre, peut se révéler
désirent limiter l'utilisation des ressources. délicate.
• L'entreprise gère elle même les logiciels – Ce type de nuage est seulement recommandé dans les cas
utilisables, quels utilisateurs ont accès au où il n'est pas nécessaire de faire des synchronisations
complexes de données entre les nuages.
nuage et quand.

VCC2020/2021 FIA3-GL 177 VCC2020/2021 FIA3-GL 178

Les acteurs du marché

CRM: Customer Relationship Management


ERP: Enterprise Ressource Planning
SCM: supply Chain Management
CCC: content Communication and Collaboration
DCC: Digital Content Creation
Int. aaS: Integraion-as-a-Service
VCC2020/2021 FIA3-GL 179 VCC2020/2021 FIA3-GL 180
Le Cloud en Pratique

VCC2020/2021 FIA3-GL 181 VCC2020/2021 FIA3-GL 182

Le Cloud en Tunisie Le Cloud en Tunisie


• lancement en 2010 (IBM) • Le Data Center de Mininx
• Premier datacenter répondant aux normes – Privé
internatonales en Tunisie et en Afrique – Situé à 100 Km de Tunis dans le site d’Enfidha
– Convention en 2013
• Le Data Center de Tunisie Télécom
• Poulina Group Holding
• Schneider Electric – Public
• SBF Group – à La Kasbah à Tunis
– Ce Data Center est situé dans la localité de l’Ogba, – 10 millions de DT
à 40 Km de Tunis et a été inauguré en 2016.
– superficie totale de 300 mètres carrés
– Surface: 1.200 m2
VCC2020/2021 FIA3-GL 183 VCC2020/2021 FIA3-GL 184

Conclusion
• Malgré la complexité du modèle Cloud vu du coté Cloud
Services Provider, l’intérêt et la simplicité de cette
technologie, vu du coté de l’utilisateur, font qu’elle est en
train de conquérir notre monde informatique.

Source: Research and Innovation Estimates

VCC2020/2021 FIA3-GL 185 VCC2020/2021 FIA3-GL 186

Vous aimerez peut-être aussi