Niveau d'étude
BAC +4
ECTS
3 crédits
Composante
Sciences économiques, gestion, mathématiques et informatique
Volume horaire
24h
Période de l'année
Enseignement huitième semestre
Description
La puissance actuelle des machines multicœurs permet la création de machines virtuelles dédiées à des applications et de les héberger en concurrence sur une seule et même machine ou sur un cluster de machines ou des clouds tels que AWS d’amazon ou Azure de Microsoft. L’objectif, pour les étudiants, est de maîtriser ces outils pour leur permettre le déploiement d’environnements de tests, de pré-productions, et de productions de manière automatisée, sécuritaire, reproductible, et standardisée pour leurs futures applications
Objectifs
Ce module aborde les outils de virtualisation et d’isolation utilisés dans les déploiements sécurisés et automatisés d’environnements et d’applications. Cette technique consiste donc à héberger des machines “invitées” sur une seule machine “hôte”. Il existe essentiellement deux types de déploiements automatisés.
Le premier consiste en la création d’un système complet embarquant l’application qui sera considérée comme une machine invitée indépendante du système hôte qui la contient. Il s’agit là d’une machine virtuelle. Ces machines sont gérées par des outils nommés hyperviseurs, les plus connus étant VmWare, VirtualBox et Xen/KVM.
Les seconds outils sont les conteneurs aussi appelés “bacs à sable”. Ils sont plus légers que les machines virtuelles et permettent de définir un environnement particulier isolé du reste de la machine hôte. Ces conteneurs permettent de contraindre et limiter l’accès à certaines ressources de la machine hôte par les machines invitées. Les outils de gestion de conteneurs les plus connus sont Docker et podman.
Ces deux techniques sont très utilisées en DevOps par l’intermédiaire d’outils de gestion de machines virtuelles et de conteneurs ainsi que de scripts de déploiement et de configuration de l’environnement d’accueil. Cela permet ainsi des déploiements automatisés, sécurisés et pré-configurés. Les outils de gestion les plus connus étant Puppet, Ansible, Vagrant. Les services en ligne tels que Azure, AWS, GCP utilisent ce type de service.
Évaluation
Modalités : Mixte : CC + CT
SESSION 1 :
Contrôle Continu
• Type : Écrit, QCM, Oral
• Durée : 2h00
• Précisions : Une durée indicative de 2h00, susceptible d’être ajustée en fonction des contraintes pédagogiques, matérielles ou logistiques, dans le respect des M3C applicables.
Contrôle Terminal
• Type : Écrit
• Durée : 2h00
• Précisions : Une durée indicative de 2h00, susceptible d’être ajustée en fonction des contraintes pédagogiques, matérielles ou logistiques, dans le respect des M3C applicables.
Régime Dérogatoire
• Type : Écrit
• Durée : 2h00
• Précisions : Une durée indicative de 2h00, susceptible d’être ajustée en fonction des contraintes pédagogiques, matérielles ou logistiques, dans le respect des M3C applicables.
SESSION 2 :
• Type : Écrit, QCM, Oral
• Durée : 2h00
• Précisions : Une durée indicative de 2h00, susceptible d’être ajustée en fonction des contraintes pédagogiques, matérielles ou logistiques, dans le respect des M3C applicables.
Utilisation de l'intelligence artificielle :
L’utilisation de l’Intelligence Artificielle est interdite lors des évaluations.
Heures d'enseignement
- CMCM12h
- TDTD12h
Pré-requis obligatoires
• MI-DevOps S5.
• MI-Programmation concurrente en Java S5.
• MI-Techniques informatiques avancées S4.
Compétences visées
- Connaissance des outils de virtualisation.
- Connaissance des outils de gestion de déploiement et de configuration de serveurs y compris dans le cloud.
- Savoir créer des configurations de virtualisation et de déploiement d’applications distribuées.
- Notion d'isolation, de protection, de surveillance, et de sécurisation des outils virtualisés.
- Surveillance des instances (sûreté de fonctionnement et sécurité).
- Déploiement et gestion coordonné de multiples instances.
