Académique Documents
Professionnel Documents
Culture Documents
Bibliographie 2020-2021
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)
• Virtual Appliance
•…
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
• 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?
*
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
• 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.
https://www.docker.com/
VCC2020/2021 FIA3-GL 79 VCC2020/2021 FIA3-GL 80
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
ICA (Independent Computing Architecture)
91 VCC2020/2021 FIA3-GL 92
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.
Exécution à distance
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
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
Desktop
Application
Virtualisation Serveurs
s
Réseaux
• Redondance
Chapitre V:
Cloud Computing
• Complexité
• Un ensemble de caractéristiques
et de technologies habilitantes C’est un cloud qui
vous est dédié...
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
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
• L’exemple le plus connu et le plus répandu est celui des d’applications, soit deux niveaux de Runtime
• 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
PaaS PaaS
Exemples Avantages/Inconvénients
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
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
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.