Syllabus
Syllabus¶
Site en construction
Toutes les pages existent ; celles marquées « Under construction » sont en cours de rédaction et seront complétées au fil de l'avancement du cours.
Fiche d'identification¶
| Rubrique | Description |
|---|---|
| Intitulé | Cloud et virtualisation : concevoir et exploiter une infrastructure virtualisée |
| Public | Master DevOps et Cloud Computing, semestre 1 |
| Volume horaire | 84 h (28 séances de 3 h : environ 22 h de cours, 62 h de TP et de projets) |
| Crédits | 6 ECTS |
| Prérequis | Administration Linux, réseau (TCP/IP, DNS, routage), notions de scripting shell. Aucune connaissance préalable de la virtualisation ni du cloud. |
| Outils de TP | VirtualBox, VMware Workstation, Hyper-V, Vagrant, KVM et libvirt, Proxmox VE, VMware ESXi et vCenter (quota gratuit et essai de 60 jours), DevStack (OpenStack), OpenTofu, Ansible, LocalStack ; invités Ubuntu Server 24.04 LTS ; trois profils de machine (A : 16 Go, B : 16 Go avec VM de 8 Go, C : 32 Go) ; voir l'environnement de TP |
Objectif général¶
Concevoir, déployer, automatiser et exploiter une infrastructure virtualisée (réseau, stockage, hyperviseurs, cloud privé) et situer ses choix par rapport aux offres du cloud public, avec des outils open source ou à quota gratuit.
Acquis d'apprentissage¶
À la fin du cours, l'étudiant est capable de :
- AA1 : décrire l'architecture d'un datacenter et expliquer les principes de la virtualisation (comprendre)
- AA2 : installer, configurer et comparer les hyperviseurs de poste : VirtualBox, VMware Workstation et Hyper-V (appliquer)
- AA3 : concevoir et configurer la connectivité réseau entre machines virtuelles (appliquer)
- AA4 : automatiser la création d'environnements virtuels avec Vagrant et cloud-init (créer)
- AA5 : expliquer les technologies, les interfaces et les architectures de stockage (comprendre)
- AA6 : configurer un stockage virtualisé (RAID, LVM, NFS, iSCSI) et diagnostiquer une panne de disque (analyser)
- AA7 : déployer et administrer des hyperviseurs serveur et leurs fonctions de cluster : KVM, Proxmox VE, ESXi et vCenter (appliquer)
- AA8 : expliquer les modèles du cloud et déployer un cloud privé OpenStack (analyser)
- AA9 : automatiser une infrastructure par le code et évaluer des services de cloud public selon coût, sécurité et responsabilité partagée (créer, évaluer)
Compétences visées¶
Architecture et composants d'un datacenter, principes de la virtualisation (CPU, mémoire, E/S), hyperviseurs de types 1 et 2, réseaux virtuels, interfaces et technologies de stockage, RAID, LVM, stockage en réseau (NAS, SAN, NFS, iSCSI), stockage défini par logiciel, concepts de vSphere, Proxmox VE et OpenStack, modèles de service et de déploiement du cloud.
Administrer VirtualBox, VMware Workstation et Hyper-V, connecter des machines virtuelles, décrire un environnement avec Vagrant, configurer RAID, LVM, NFS et iSCSI, administrer KVM, Proxmox VE et ESXi, mettre en place cluster, migration et haute disponibilité, déployer des instances OpenStack, automatiser avec OpenTofu et Ansible, superviser et sauvegarder.
Rigueur et reproductibilité (infrastructure as code), esprit critique dans le choix d'une plateforme, souci des coûts et de la sécurité, travail en binôme, veille technologique.
Organisation du cours¶
Partie 1 : Datacenter et virtualisation sur poste de travail (21 h)¶
| Chapitre | Contenu | Ressources |
|---|---|---|
| 1. Architecture et composants d'un datacenter (AA1) | Salles et baies, serveurs rack et lames, alimentation, refroidissement, PUE, niveaux Tier, réseau spine-leaf, stockage, sécurité physique, edge | Cours · Lab 1.1 : Dimensionner une salle serveur · Lab 1.2 : Inventorier une machine · Quiz |
| 2. Principes de la virtualisation (AA1) | Machine virtuelle et conteneur, hyperviseurs de types 1 et 2, VT-x et AMD-V, virtualisation du CPU, de la mémoire (ballooning, surallocation) et des E/S (virtio, passthrough), virtualisation imbriquée | Cours · Lab 2.1 : Préparer le poste pour la virtualisation · Quiz |
| 3. VirtualBox et VMware Workstation (AA2) | Création de VM, additions invitées, snapshots, clones, formats VDI et VMDK, import et export OVF, virtualisation imbriquée | Cours · Lab 3.1 : VirtualBox : une VM Ubuntu Server · Lab 3.2 : VMware Workstation : même VM, import et export · Quiz |
| 4. Hyper-V (AA2) | Éditions de Windows compatibles, génération 1 et 2, disques VHDX, checkpoints, coexistence avec les autres hyperviseurs | Cours · Lab 4.1 : Activer Hyper-V et créer une VM · Lab 4.2 : Checkpoints, disques et export · Quiz |
| 5. Connexion entre VM et réseaux virtuels (AA3) | Modes NAT, pont, hôte seul et réseau interne, commutateur virtuel, VLAN, tableau de correspondance entre outils, routage entre VM | Cours · Lab 5.1 : Réseaux virtuels sous VirtualBox et VMware · Lab 5.2 : Commutateurs virtuels sous Hyper-V · Lab 5.3 : Routage, NAT et VLAN sous Linux · Quiz |
| 6. Vagrant : décrire ses environnements (AA4) | Vagrantfile, boxes, providers (VirtualBox, VMware, Hyper-V, libvirt), réseau, dossiers synchronisés, provisioning shell et Ansible, multi-machines | Cours · Lab 6.1 : Premier Vagrantfile · Lab 6.2 : Environnement multi-machines avec provisioning · Lab 6.3 : Même environnement sur un autre provider · Quiz |
| Mini-projet 1 | Laboratoire réseau reproductible | Énoncé |
Partie 2 : Virtualisation du stockage (18 h)¶
| Chapitre | Contenu | Ressources |
|---|---|---|
| 7. Technologies et interfaces de stockage (AA5) | HDD, SSD et NVMe ; interfaces SATA, SAS, SCSI, NVMe et Fibre Channel ; IOPS, débit, latence ; HBA ; contrôleurs virtuels ; formats raw, qcow2, VMDK, VDI et VHDX ; provisionnement léger et épais | Cours · Lab 7.1 : Disques virtuels : ajouter, convertir, comparer · Lab 7.2 : Mesurer les performances avec fio · Quiz |
| 8. RAID (AA5, AA6) | Niveaux 0, 1, 5, 6 et 10, parité, disque de secours, RAID matériel, logiciel et pseudo-matériel, reconstruction, calcul de capacité | Cours · Lab 8.1 : RAID 1 et RAID 5 avec mdadm · Lab 8.2 : Panne, remplacement et reconstruction · Lab 8.3 : Choisir un niveau RAID selon un cahier des charges · Quiz |
| 9. Disques, LVM et systèmes de fichiers (AA6) | MBR et GPT, ext4 et XFS, LVM (PV, VG, LV), extension à chaud, snapshots, ZFS (aperçu) | Cours · Lab 9.1 : Partitions et systèmes de fichiers · Lab 9.2 : LVM : extension à chaud et snapshot · Lab 9.3 : ZFS : pools et snapshots · Quiz |
| 10. Stockage en réseau (AA5, AA6) | DAS, NAS et SAN ; NFS et SMB ; iSCSI (cible, initiateur, IQN, LUN, CHAP) ; Fibre Channel et FCoE (concepts) ; multipath | Cours · Lab 10.1 : NFS et Samba · Lab 10.2 : Cible et initiateur iSCSI · Lab 10.3 : Multipath sur deux réseaux · Quiz |
| 11. Stockage défini par logiciel (AA5, AA7) | Ceph (RADOS, OSD, RBD, CephFS), vSAN (concept), stockage objet S3, déduplication et compression | Cours · Lab 11.1 : Stockage objet avec MinIO · Lab 11.2 : Grappe Ceph à trois nœuds · Quiz |
| Mini-projet 2 | Serveur de stockage d'entreprise | Énoncé |
Partie 3 : Hyperviseurs serveur et plateformes d'entreprise (18 h)¶
| Chapitre | Contenu | Ressources |
|---|---|---|
| 12. KVM, QEMU et libvirt (AA4, AA7) | Architecture KVM et QEMU, virsh, virt-install, réseaux et pools de stockage libvirt, images cloud et cloud-init | Cours · Lab 12.1 : Premier invité KVM · Lab 12.2 : Réseaux et stockage libvirt · Lab 12.3 : Images cloud et cloud-init · Quiz |
| 13. Proxmox VE : installation et exploitation (AA7) | Architecture, installation, VM et conteneurs LXC, stockage, réseau (ponts vmbr), modèles, sauvegardes avec vzdump | Cours · Lab 13.1 : Installer Proxmox VE en VM imbriquée · Lab 13.2 : VM, conteneurs LXC et modèles · Lab 13.3 : Stockage et sauvegardes · Quiz |
| 14. Proxmox VE : cluster et haute disponibilité (AA7) | Cluster, quorum et QDevice, stockage partagé, migration à chaud, haute disponibilité, aperçu de Ceph intégré | Cours · Lab 14.1 : Constituer un cluster Proxmox VE · Lab 14.2 : Migration à chaud sur stockage partagé · Lab 14.3 : Panne de nœud et haute disponibilité · Quiz |
| 15. VMware vSphere (1) : concepts et ESXi gratuit (AA7) | ESXi, vCenter, VMFS, datastores, commutateurs standard et distribués, vMotion, Storage vMotion, HA, DRS, FT, vSAN, NSX (survol), modèle de licences | Cours · Lab 15.1 : Installer ESXi gratuit en VM imbriquée · Lab 15.2 : VM, datastore, commutateur et groupes de ports · Lab 15.3 : Datastore NFS ou iSCSI · Quiz |
| 16. VMware vSphere (2) : vCenter et fonctions avancées (AA7) | VCSA, inventaire, clusters, vMotion, HA, DRS, essai de 60 jours | Cours · Lab 16.1 : Déployer vCenter · Lab 16.2 : Cluster et vMotion · Lab 16.3 : HA et DRS · Quiz |
| Mini-projet 3 | Plateformes de virtualisation comparées | Énoncé |
Partie 4 : Cloud privé, Infrastructure as Code et cloud public (21 h)¶
| Chapitre | Contenu | Ressources |
|---|---|---|
| 17. Modèles et architectures du cloud (AA8) | Définition du NIST, IaaS, PaaS et SaaS, modèles de déploiement, responsabilité partagée, du virtualisé au cloud (API, libre-service, élasticité) | Cours · Lab 17.1 : Étude de cas : choisir un modèle de cloud · Lab 17.2 : Piloter Proxmox VE par son API REST · Quiz |
| 18. OpenStack : architecture et services (AA8) | Keystone, Glance, Nova, Neutron, Cinder, Swift, Horizon, Heat | Cours · Lab 18.1 : Installer DevStack · Lab 18.2 : Explorer Horizon et la ligne de commande · Quiz |
| 19. OpenStack en pratique (AA8) | Images, flavors, réseaux Neutron, adresses flottantes, groupes de sécurité, volumes Cinder | Cours · Lab 19.1 : Lancer une instance · Lab 19.2 : Réseaux et adresses flottantes · Lab 19.3 : Volumes et snapshots · Quiz |
| 20. Infrastructure as Code : OpenTofu et Ansible (AA4, AA9) | OpenTofu (HCL, état, providers), Ansible (inventaire, playbooks, rôles), articulation entre provisionnement et configuration | Cours · Lab 20.1 : OpenTofu avec libvirt · Lab 20.2 : OpenTofu avec Proxmox VE ou OpenStack · Lab 20.3 : Configurer avec Ansible · Quiz |
| 21. Cloud public : AWS, Azure et GCP (AA9) | Équivalence des services (calcul, stockage, réseau, identité), régions et zones, offres gratuites et crédits d'essai, FinOps, sécurité | Cours · Lab 21.1 : Stockage objet et IAM avec LocalStack · Lab 21.2 : Estimer et comparer les coûts · Quiz |
| 22. Exploitation et continuité de service (AA6, AA9) | Supervision, sauvegarde, PRA et PCA, durcissement des hyperviseurs | Cours · Lab 22.1 : Supervision avec Prometheus et Grafana · Lab 22.2 : Sauvegarde et restauration avec restic · Quiz |
| Mini-projet 4 | Cloud privé automatisé | Énoncé |
Projet final¶
Mini-datacenter virtuel (6 h, Binôme, 6 h en séance et travail personnel, dossier et soutenance)
Méthodes pédagogiques¶
Cours interactifs courts, TP guidés puis autonomes sur machines virtuelles, études de cas, mini-projets en binôme à la fin de chaque partie, projet final de synthèse. Autonomie croissante : guidé, semi-guidé, autonome.
Évaluation¶
| Modalité | Pondération |
|---|---|
| Contrôle continu : TP notés et quiz | 30 % |
| Mini-projets et projet final : réalisation, dossier et soutenance | 40 % |
| Examen pratique chronométré | 30 % |
Références¶
- NIST, The NIST Definition of Cloud Computing (SP 800-145)
- A. Tanenbaum et H. Bos, Modern Operating Systems (chapitre sur la virtualisation et le cloud)
- Documentation officielle : VirtualBox (virtualbox.org/manual), Hyper-V (learn.microsoft.com), Vagrant (developer.hashicorp.com/vagrant), libvirt (libvirt.org)
- Documentation officielle : Proxmox VE (pve.proxmox.com), OpenStack (docs.openstack.org), Ceph (docs.ceph.com)
- Documentation officielle : VMware vSphere (techdocs.broadcom.com), OpenTofu (opentofu.org), Ansible (docs.ansible.com), LocalStack (docs.localstack.cloud)