Support de cours
Transcription
Support de cours
SMB137 - Cinquième partie Virtualisation de Systèmes Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/ Conservatoire National des Arts et Métiers - Centre de Strasbourg https://github.com/remileblond67/CNAM_SMB137 16 janvier 2016 Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Plan 1 Qu’est-ce que la virtualisation ? 2 Les composants de la virtualisation 3 Les différentes approches de virtualisation 4 Application de la virtualisation 2/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Système virtuel Usages de la virtualisation Les intérêts de la virtualisation Critères d’évaluation Qu’est-ce que la virtualisation ? Qu’est-ce qu’un composant virtuel ? apparence fonctionnelle 6= structure physique mémoire, systèmes de fichiers... machine complète Virtualisation de systèmes : fait fonctionner X systèmes sur Y machines physiques généralement, X 6= Y Finalités maintenabilité consolidation souplesse 5/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Système virtuel Usages de la virtualisation Les intérêts de la virtualisation Critères d’évaluation Historique En grande partie développé au centre scientifique de Cambridge d’IBM En collaboration avec le MIT Mise au point du système expérimental CP/CMS Devenu ensuite VM/CMS Commercialisé sur IBM OS/360 1965 : introduction du temps partagé rétro-compatibilité par émulation des séries 1400 ou 7094 (logiciel et micro-code) repris ensuite sur l’ensemble de la gamme mainframe Vers 1985-90 : virtualisation pour les ordinateurs personnels émulation de différents systèmes (ordinateur, consoles...) support purement logiciel ou adossé à du matériel additionnel (processeur... ) 7/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Système virtuel Usages de la virtualisation Les intérêts de la virtualisation Critères d’évaluation Historique Exemples d’émulateurs sur ordinateurs personnels Commodore Amiga à la pointe Processeurs hétérogènes : 80386 et 80486, 68xxx, et PPC Possibilité de lancer d’autres systèmes d’exploitation Dos / Windows, Macintosh, Unix, Atari... SideCar et PC Task sur PC Emplant et ShapeShifter sur Macintosh Figure: Amiga 500, 1987 8/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Système virtuel Usages de la virtualisation Les intérêts de la virtualisation Critères d’évaluation Historique Après 1990 : solutions Unix Architectures NUMA des Superdome d’HP (PA-RISC et IA-64) E10000/E15000 de Sun (UltraSparc). Après 1995 : émulation de machines anciennes Atari, Amiga, Amstrad et les consoles NES, SNES, Neo-Geo AES Début 2000 : explosion des solutions de virtualisation professionnelles sur x86 commerciales : VmWare en tête, VirtualPC, Virtual Server libres : Xen, KVM, QEMU, Bochs, Linux-VServer, Virtual Box 9/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Système virtuel Usages de la virtualisation Les intérêts de la virtualisation Critères d’évaluation Usages de la virtualisation Émulateur : VirtualPC, Parallels Desktop, Apple Rosetta Outil d’infrastructure : VmWare ESX, Microsoft Hyper-V Server, Citrix XenServer Support d’applications : JVM Java, CLR .Net 10/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Système virtuel Usages de la virtualisation Les intérêts de la virtualisation Critères d’évaluation Comparaison avec une architecture physique ● 11/71 Machine physique ● Machines virtuelles Traitement Traitement Traitement Noyau Noyau Noyau MV1 MV2 MV3 Traitement Interface de programmation Noyau Implémentation de la machine virtuelle Matériel Matériel Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Système virtuel Usages de la virtualisation Les intérêts de la virtualisation Critères d’évaluation Exemple de combinaison de machines virtuelles 12/71 Machines virtuelles Applet JVM Windows NT VMWARE Linux AIX IBM VM/OS Matériel Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Système virtuel Usages de la virtualisation Les intérêts de la virtualisation Critères d’évaluation Pourquoi un tel essor ? Systèmes centraux concentration des centres de traitement Micro-informatique multiplication du nombre de serveurs difficulté de maintenance dépense énergétique Nécessité de re-centraliser Trois problèmes Sous-utilisation des ressources, adaptation aux besoins, équilibrage de charge Difficultés de maintenance et de sécurisation Moindre efficacité énergétique 14/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Système virtuel Usages de la virtualisation Les intérêts de la virtualisation Critères d’évaluation Intérêts de la virtualisation Utilisation optimale des ressources mutualisation du matériel facilité d’adaptation à la charge allocation dynamique des ressources Facilité d’installation, de gestion et de paramétrage réplication points de reprise plan de reprise/continuité facilités (PRA/PCA) Optimisation de la consommation énergétique 15/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Système virtuel Usages de la virtualisation Les intérêts de la virtualisation Critères d’évaluation Domaines d’application Permet de mettre en place des serveurs virtuels dédiés (VDS) partage de ressource autonomie et le contrôle total du serveur hébergement mutualisé Améliore la disponibilité des serveurs ou des services répartition de charge reprise automatique sur incident Facilite les tests Simulation d’architectures complexes et hétérogènes Facilité de mise en œuvre Clonage et points de reprise 16/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Système virtuel Usages de la virtualisation Les intérêts de la virtualisation Critères d’évaluation Les critères d’évaluation de la virtualisation 18/71 La transparence Le fonctionnement du système non modifié par la virtualisation Le cloisonnement fonctionnement indépendant pas d’interférence entre machines virtuelles Les performances minimisation des pertes liées à la virtualisation (overhead) Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation L’hyperviseur L’émulateur Support matériel Implémentation de l’hyperviseur 21/71 Placé entre le matériel et le système d’exploitation Utilisé pour les émulations de bas niveau Implémentation : soit gère directement toutes les ressources (type 1) soit hébergé par un système hôte (type 2) Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation L’hyperviseur L’émulateur Support matériel L’hyperviseur natif - type 1 22/71 Différents noms hyperviseur de type 1 hyperviseur natif émulation ”bare metal” Noyau simplifié allégé optimisé pour accueillir des OS invités Support matériel de bas niveau : pas de support spécifique paravirtualisation instructions de virtualisation matérielle (AMD-V et Intel-VT) Virtualisation complète Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation L’hyperviseur L’émulateur Support matériel Hyperviseur natif - type 1 Cas de la gestion directe des ressources 23/71 Applications OS invité Applications OS invité Applications Applications OS invité OS invité Hyperviseur Matériel Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation L’hyperviseur L’émulateur Support matériel Exemples de solutions - type 1 Solutions logicielles CP/CMS d’IBM, ancêtre de z/VM Xen (OpenSource), racheté par Citrix Oracle VM ESX Server de VMware Hyper-V de Microsoft Kernel-based Virtual Machine : QEmu / KVM (OpenSource) Proxmox, OpenSource - Proxmox Server Solutions GmbH Solutions matérielles Intégration de l’hyperviseur dans le micrologiciel (firmware) Hyperviseur Virtage d’Hitachi 24/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation L’hyperviseur L’émulateur Support matériel Hyperviseur de type 2 Logiciel qui s’exécute à l’intérieur d’un autre OS OS hôte OS invité troisième niveau d’exécution au-dessus du matériel perte de performance (overhead) Exemples VMware Server (ex GSX), Workstation, Fusion Open source QEMU Microsoft Virtual PC et VirtualServer VirtualBox d’Oracle Parallels Workstation de SWsoft et Parallels Desktop 25/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation L’hyperviseur L’émulateur Support matériel Hyperviseur de type 2 26/71 Applications Applications Applications OS invité OS invité OS invité Applications Hyperviseur OS hôte Matériel Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation L’hyperviseur L’émulateur Support matériel Hyperviseurs de type 1 ou 2 27/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation L’hyperviseur L’émulateur Support matériel L’émulation du processeur 29/71 Simulation du processeur traduction de chaque instruction destinée à la CPU Couteux en performances émulation de très bas niveau overhead important Viable uniquement si le système hôte et beaucoup plus puissant que le système invité : Atari, Playstation 1, Apple ][, GameBoy, Palm... Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation L’hyperviseur L’émulateur Support matériel L’émulation du processeur Exemples de solutions QEMU, émulateur OpenSource fonctionne ou émule x86, PPC ou Sparc VirtualPC, racheté par Microsoft en 2003 émulation d’un PC sur Mac PPC Roseta, d’Apple 30/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation L’hyperviseur L’émulateur Support matériel Émulation d’un système hôte Prise en charge d’une autre API, d’un autre format de fichier exécutable que le système cible Impact beaucoup plus léger sur les performances Niveau d’abstraction nettement plus élevé Exemples Prise en charge de programmes Windows sur MacOsX ou Linux sur PC x86 31/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation L’hyperviseur L’émulateur Support matériel Émulation d’un système hôte Wine Implémentation de l’API Win32 Linux, MacOsX et autres Unix Deux possibilités : Utilisation des DLL Windows Ré-écriture à partir des spécifications externes (logiciel libre) Excellentes performances parfois meilleures que sous Windows émulation de haut niveau API système et non instructions processeur 32/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation L’hyperviseur L’émulateur Support matériel Support matériel Solutions matérielles : Intégration au processeur : instructions spécifiques, niveaux de privilèges Virtualisation des accès mémoire : MMU cloisonnables Aide au développement de systèmes virtualisés : Simplification de la virtualisation logicielle Optimisation des performances Doit nécessairement être exploité par du logiciel 34/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation L’hyperviseur L’émulateur Support matériel Support matériel Exemples de support matériel Hyperviseur IBM Power6 et Micro-partitionnement AIX Mainframes : VM/CMS Sun LDOM (hyperviseur pour la gestion de ”logical domains”) Sun E10k/E15k HP Superdome AMD-V (anciennement Pacifica) Intel VT (anciennement Vanderpool) 35/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation L’hyperviseur L’émulateur Support matériel Instructions dédiées à la virtualisation Habituellement noyau en Ring 0 programmes utilisateur en Ring 3 seul l’OS hôte à accès au Ring 0 Technologie de partition processeur technologie de décalage géré par le BIOS OS invité exploite le Ring 2 lorsqu’il croit accéder au Ring 0 Implémentations 36/71 VT-x (Virtual Technology) - 2003 - EPT (Extended Page Table) sur Nehalem AMD-V Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Isolation (cloisonnement) La paravirtualisation La virtualisation complète Le cloisonnement 39/71 Partitionnement d’un système d’exploitation tous les OS invités sont du même type isolés les uns des autres Séparation en plusieurs environnements tous sont régis par l’OS hôte chaque processus ne peut interagir qu’avec les ressources et processus de son contexte Partionnement de serveurs Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Isolation (cloisonnement) La paravirtualisation La virtualisation complète Le cloisonnement Exemple d’Unix : chroot Isolement d’applications dans des contextes cloisonnés mini-système accès limités ne contient que les programmes et les ressources nécessaires Utilisation d’un noyau unique Solution légère à mettre en oeuvre (faible overhead) protection du système (serveur FTP, par exemple) cohabitation d’applications incompatibles (bibliothèques) Exemple d’utilisation de bash chroot /home/debian bash -i 40/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Isolation (cloisonnement) La paravirtualisation La virtualisation complète Le cloisement Exemple de Linux VServer Patch Linux + outils Basé sur les Security Context serveurs virtuels Privés (VPS) base utilisateurs propre isolé de tous les autres VPS, mais partage les mêmes ressources matérielles Permet d’exploiter de multiples systèmes sur un système hôte 41/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Isolation (cloisonnement) La paravirtualisation La virtualisation complète La paravirtualisation Plus bas niveau que l’isolation S’appuie sur une couche hyperviseur bas niveau : interface avec les ressources matérielles présente une machine générique spécifique accueille des OS variés (invités) Nécessite une adaptation des systèmes invités OS modifié pour la paravirtualisation interfaces spéciales → drivers adaptation du système hôte et des systèmes invités 43/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Isolation (cloisonnement) La paravirtualisation La virtualisation complète La paravirtualisation Exemple de KVM / Virtio 44/71 Virtual Input-Output branche officielle du noyau Linux OS invité : module du noyau Linux OS hôte : outils spécifiques (Linux et Windows) Pilote spécifique Traduit les demandes d’E/S en appel de haut niveau ajout dans une liste FIFO exploitée par le système hôte Support cartes réseau et contrôleurs de disques Nécessite une adaptation du système invité uniquement pour des OS ouverts Linux Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Isolation (cloisonnement) La paravirtualisation La virtualisation complète La virtualisation complète 46/71 Hyperviseur de bas niveau émulation du niveau matériel aucune modification de l’OS invité transparence les OS invités n’ont pas conscience d’être virtualisés Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing Virtualisation de serveurs Utilisation traditionnelle de la virtualisation Exemples de solutions Microsoft Hyper-V Server VMWare vSphere Hypervisor (anciennement ESXi) Citrix XenServer Oracle VM Server Proxmox VE 49/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing Exemple Proxmox Virtual Environment 50/71 Solution libre de virtualisation Virtualisation ”bare metal” containers Linux (OpenVZ) paravirtalisation (KVM / Virtio) virtualisation complète (KVM sur Intel-VT ou AMD-V) Inclut : système d’exploitation complet (Debian Lenny 64 bits) partitionnement de disque dur avec LVM2 outil de sauvegarde support du clustering avec migration à chaud des VM outil Web d’administration et de surveillance Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing Virtualisation du poste client VDI : Virtual Desktop Infrastructure : H-VDI : Hosted VDI : 52/71 Hyperviseur centralisé Client léger Déport d’affichage (RCP, ICA) Local-VDI : Hyperviseur local Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing Virtualisation d’application 54/71 Emulation de plateforme : Wine : émulation d’application Windows sur Linux JVM, CLR : machine virtuelle Java/.Net Encapsulation : VMware ThinApp Microsoft APP-V Citrix XenApp Conteneur d’application : Docker Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing Conteneur d’application : Docker 55/71 Figure: Logo de Docker Conteneurs applicatifs [2] Abstraction de l’OS → gestion des ressources nécessaires → Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing Conteneur d’application : Docker 56/71 Figure: L’écosystème Docker Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing AuFS : union de systèmes de fichiers[1] 57/71 AuFS : Another Union File System implémenté sur la base d’UnionFS (Union File System) rendre accessible au travers d’un montage la superposition, l’union, de plusieurs répertoires Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing Le Hub Docker 58/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing Conteneur d’application : Docker 59/71 Lancer un système Debian avec une commande interactive (shell) : docker run -ti debian Lancer un système Debian avec redirection du répertoire /root : docker run -ti -v /Users/remi/debian/:/root debian Lancer un système Debian en service, avec redirection du port 80 sur 8080 : docker run -ti -p 8080:80 -v /Users/remi/debian/:/root debian Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing Infrastructure as code : le Dockerfile FROM debian MAINTAINER Rémi LEBLOND <[email protected]> RUN apt-get update RUN apt-get -y install nginx RUN apt-get -y install vim ADD index.html /var/www/html/ ADD script.sh /root/ RUN chmod +x /root/script.sh EXPOSE 80 CMD ["/root/script.sh"] 60/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing Docker compose web: build: . ports: - 8080:80 links: - db db: image: tutum/mongodb ports: - 27017:27017 - 28017:28017 61/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing Les cinq caractéristiques du Cloud Computing [3] 1 Accès réseau universel Accessible via le réseau, quel que soit le terminal 2 Mise en commun de ressources pooling des ressources logiques (puissance de calcul, capacité de stockage, bande passante disponible) ne tient pas compte des ressources physiques (nombre de serveurs, taille de disques ou nombre de processeurs) 3 Elasticité Possibilité d’adapter rapidement les ressources à ses besoins, dans un sens comme dans l’autre 4 Libre-Service Traitement automatique des demandes de ressources 5 Service mesurable et facturable facturation à l’usage, en fonction de la consommation de ressources 63/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing Les différents niveaux de prise en charge SaaS : Software as a Service Mise à disposition d’applications PaaS : Platform as a Service Mise à disposition de plateformes de haut niveau IaaS : Infrastructure as a Service Mise à disposition d’une infrastructure virtuelle complète 64/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing Les différents niveaux de prise en charge [3] 65/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing SaaS : Software as a Service [4] Logiciel consommé sous la forme d’un service Aucune visibilité sur la plateforme et l’infrastructure mises en oeuvre Niveau d’abstraction : l’application Exemples de fournisseurs Google Docs, Office 365, Sales Force, Adobe Creative Cloud, Apple iCloud, DropBox, ... 66/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing PaaS : Platform as a Service Mise à disposition d’une plateforme sur laquelle des développeurs peuvent déployer des applications Exemples : Serveur d’application (J2EE...), serveur Web, API... Serveur de base de données (SQL, NoSQL... ) Niveau d’abstraction : la plateforme Exemples de fournisseurs Google App Engine (serveurs Google ou AppScale), Microsoft Azure... 67/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing IaaS : Infrastructure as a Service L’entreprise gère : les systèmes d’exploitation des serveurs les logiciels applicatifs (exécutables, paramétrages, l’intégration SOA, les bases de données) Le fournisseur Cloud gère : le matériel serveur les couches de virtualisation le stockage les réseaux Niveau d’abstraction : l’infrastructure logique Exemples de fournisseurs Cloud Power, Desktone, Infoserv, Provectio, DotRiver... 68/71 Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing Exemple d’IaaS : OpenStack 69/71 Plateforme OpenSource double licence GPL, LGPL Compatible avec de nombreux hyperviseurs KVM, Xen, VmWare... Soutenu par de nombreux acteurs importants NASA, IBM, Dell, HP, Cisco, NTT, Redhat, Canonical... Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing OpenStack : les composants de base 70/71 OpenStack Compute : gestion de l’exécution communications réseau OpenStack Object Storage : gestion du stockage des données OpenStack Image Service : gestion des images de référence des machines virtuelles image de base et snapshot Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie Qu’est-ce que la virtualisation ? Les composants de la virtualisation Les différentes approches de virtualisation Application de la virtualisation Virtualisation Virtualisation Virtualisation Virtualisation de serveurs du poste client (VDI) d’application et Cloud Computing Bibliographie I 71/71 Fhh. Aufs : Unir les contenus de répertoires. Docker inc. What is docker ? SysDis. Cloud computing : Définitions et notions de base. http://communication.sysdis.fr/2012/05/09/ cloud-computing-dfinitions-et-notions-de-base/, 11 2013. Wikipédia. Software as a service. http://en.wikipedia.org/wiki/Software_as_a_service, 11 2013. Rémi LEBLOND http://remileblond.fr/category/cnam/smb137/SMB137 - Cinquième partie