Aller au contenu

Master DevOps et Cloud Computing · ISET Tozeur

Cloud et virtualisation : concevoir et exploiter une infrastructure virtualisée

Du datacenter au cloud : virtualiser, stocker, connecter, automatiser et exploiter une infrastructure avec des outils libres et gratuits.

  • 84 hde formation
  • 6crédits ECTS
  • 4parties
  • 22chapitres
  • 9acquis d'apprentissage

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)

Présentation de la Partie 1

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)

Présentation de la Partie 2

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)

Présentation de la Partie 3

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)

Présentation de la Partie 4

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)