Aller au contenu principal
Cycle ingénieur · M1-M2 · trois semestres

Ingénierie du Déploiement et de la Mise en Production

Lecture
5 min
Compétences
C1, C2, C3, C4, C5, C6

Public : élèves ingénieurs en informatique (cycle ingénieur, niveau M1-M2) Durée : 3 semestres, environ 60 h encadrées par semestre (CM 40 % / TD 10 % / TP 50 %)

Le fil conducteur : reconstruire l'histoire du déploiement​

Ce parcours ne présente pas une liste d'outils à la mode. Il fait revivre, dans l'ordre où l'industrie les a rencontrés, les problèmes qui ont fait naître ces outils. Vous allez d'abord déployer une application à la main, sur un serveur nu, comme on le faisait en 2005. Vous allez souffrir : oublier une étape, casser une configuration, être incapable de reproduire votre propre travail. C'est voulu.

Chaque outil du parcours (Ansible, Podman, Kubernetes, Airflow, MLflow...) sera introduit comme la réponse à un problème que vous aurez vécu en TP, jamais comme une recette à recopier. Quand vous découvrirez Ansible, vous saurez exactement quelle douleur il soulage, parce que vous l'aurez ressentie la semaine précédente.

Trois colonnes, une par semestre : fondations, conteneurs et CI/CD, MLOps et big data ; chaque colonne enchaîne trois blocs.

Le parcours comme une suite de problèmes résolus. Chaque bloc introduit un outil comme la réponse à une douleur vécue au TP précédent ; la dernière étape d'un semestre motive la première du suivant.

PDF vectoriel

Philosophie générale​

1. La théorie d'abord, l'outil ensuite​

Chaque outil est une implémentation de concepts durables : idempotence, isolation, réconciliation d'état, orchestration de graphes de tâches. Les outils meurent (souvenez-vous de Chef, de Mesos, de Docker Swarm), les concepts restent. C'est sur les concepts que porte l'évaluation théorique. Un ingénieur qui a compris la boucle de réconciliation apprendra le successeur de Kubernetes en une semaine ; un ingénieur qui a appris Kubernetes par cœur devra tout recommencer.

2. Apprendre par la friction​

On déploie volontairement « à la main » avant d'automatiser. Cette friction n'est pas une perte de temps : elle construit le modèle mental de ce que l'outil abstrait réellement. Quand kubectl apply créera vos ressources en trois secondes, vous saurez précisément quelles dizaines d'opérations manuelles ces trois secondes remplacent, et donc où chercher quand cela casse.

3. Tout en local​

Tous les TP tournent sur le poste de l'étudiant :

  • VirtualBox + Vagrant pour les machines virtuelles ;
  • Podman comme moteur de conteneurs ;
  • minikube (pilote Podman) ou kind pour Kubernetes ;
  • exécuteurs locaux pour Airflow et MLflow.

Aucun compte cloud payant n'est requis. Le cloud est traité en théorie et via des émulateurs (LocalStack en démonstration).

4. Projet fil rouge​

Une même application 3-tiers (frontend + API + base de données) est redéployée à chaque étape du parcours avec la technologie du moment. Vous mesurez concrètement, chronomètre en main, le gain de chaque abstraction. L'application est décrite en détail dans la page Application fil rouge.

Compétences visées (référentiel)​

CodeCompétence
C1Concevoir et justifier une architecture de déploiement adaptée à un besoin (coût, disponibilité, sécurité, charge)
C2Provisionner et configurer une infrastructure de manière reproductible (IaC)
C3Conteneuriser, orchestrer et exposer des services applicatifs
C4Concevoir des chaînes d'intégration et de livraison continues fiables
C5Industrialiser le cycle de vie d'un produit d'IA (données, entraînement, serving, monitoring)
C6Diagnostiquer, observer et opérer un système en production

Progression des concepts transversaux​

Le même petit nombre de concepts revient à chaque semestre, incarné dans des outils différents. Ce tableau est votre carte : à chaque nouveau chapitre, demandez-vous quelle ligne il illustre.

ConceptSemestre 1Semestre 2Semestre 3
IdempotenceModules AnsibleManifests Kubernetes, pipelinesTâches Airflow
État désiré / réconciliationTerraform (plan/state)Boucles de contrôle K8s, GitOpsPromotion automatique des modèles
ReproductibilitéVagrant + AnsibleImages immuablesDVC + MLflow + seeds
IsolationVM, segmentation réseauNamespaces, cgroups, rootlessEnvironnements d'entraînement
ObservabilitéLogs systemdPrometheus / GrafanaDrift, métriques différées

Organisation des semestres​

  • Semestre 1 : Fondations, du serveur unique à l'Infrastructure as Code. Comprendre ce qu'est réellement un déploiement (couches système, réseau, applicatives), puis découvrir pourquoi et comment l'automatiser.
  • Semestre 2 : Conteneurs, orchestration et livraison continue. Passer de « je déploie des machines » à « je déploie des applications » ; automatiser le chemin du commit à la production.
  • Semestre 3 : Mise en production des produits d'IA et de la donnée. Appliquer toute la stack au cas particulier, et plus difficile, des produits pilotés par les données et les modèles.

Règles du jeu (valables les 3 semestres)​

  1. Tout livrable est un dépôt Git dont le README permet une reconstruction complète par l'enseignant, en une commande si l'outillage du semestre le permet. C'est le critère d'évaluation le plus discriminant et le plus professionnalisant.
  2. Tenez un journal de bord (runbook) pendant chaque TP : chaque commande exécutée, chaque erreur rencontrée, chaque solution trouvée. Ce journal est noté en contrôle continu et vous sauvera la vie au moment des défis chronométrés.
  3. Les pannes font partie du cours. L'enseignant injectera des pannes volontaires en TP et en soutenance. Savoir diagnostiquer méthodiquement (symptôme, hypothèse, vérification, correction) est une compétence évaluée à part entière.

Bibliographie de référence du parcours​

La bibliographie détaillée, chapitre par chapitre, se trouve en fin de chaque leçon. Les ouvrages socles du parcours sont recensés dans la bibliographie générale.