Mission 02
Usine de migration de VM
Automatiser la livraison de VM de la demande au service supervisé en production : provisioning, configuration, inventaire, supervision et enregistrement dans le load-balancer.
Cette mission transforme la gestion des VM en workflow répétable : demander, provisionner, configurer, enregistrer, superviser et router le trafic.
Elle convient aux migrations, aux changements de provider ou aux équipes qui exécutent encore des charges importantes hors Kubernetes et veulent la même rigueur : changements relisibles, inventaire fiable et aucune étape manuelle cachée.
Quand cette mission n’est PAS adaptée
- Vous ne créez que quelques VM éphémères par an et le provisioning manuel est déjà documenté, relu et peu risqué.
- La plateforme cible, le plan IP, la convention de nommage ou le modèle d’ownership ne sont pas encore décidés.
- Les workloads existants ne tolèrent ni bascule planifiée, ni changement DNS, ni fenêtre d’enregistrement dans le load-balancer.
- L’organisation cherche un lift-and-shift ponctuel sans exploiter ensuite l’automatisation comme un produit à maintenir.
Modes de défaillance courants que nous avons rencontrés
- Terraform crée la VM, mais l’inventaire, le DNS, la supervision, la politique de sauvegarde et l’enregistrement dans le load-balancer nécessitent encore des tickets et des modifications manuelles.
- Les golden images divergent des rôles Ansible : le premier démarrage réussit, mais le patching, les utilisateurs, les agents et le durcissement varient selon le provider.
- NetBox ou Consul est traité comme un registre secondaire plutôt que comme la source de vérité, ce qui casse l’automatisation pendant les migrations.
- Les plans de bascule oublient le drainage des connexions, les health checks ou les déclencheurs de rollback, provoquant des incidents évitables lors de déplacements pourtant simples.
Ce qui est inclus
- Conception du pipeline : Terraform plan/apply déclenché depuis Git sur plusieurs providers, avec fichiers de variables partagés (environ 80 % communs, environ 20 % spécifiques au provider)
- Inventaire dynamique : Consul et NetBox comme source de vérité, avec auto-enregistrement des nouvelles VM dès leur création
- Configuration automatisée : méta-playbook Ansible qui détecte les VM non configurées via les champs personnalisés NetBox, exécute le bon playbook et marque la VM comme configurée
- Bascule de trafic : backends HAProxy auto-enregistrés via la découverte de services Consul, pour envoyer du trafic aux nouvelles VM sans intervention manuelle
- Intégration supervision : inscription automatique dans votre stack de supervision (Centreon, Prometheus ou équivalent)
- Exécution de migration : migrations planifiées de VM depuis vSphere, montées de version Proxmox ou déplacements cross-DC avec interruption minimale
Livrables
- Pipeline de livraison de VM fonctionnel de bout en bout, de Git au trafic de production
- Modèles de modules Terraform multi-provider (vSphere, Proxmox, OpenStack)
- Intégration d’inventaire dynamique Ansible avec les champs personnalisés NetBox
- Auto-enregistrement HAProxy ou load balancer via Consul
- Runbook opérationnel pour ajouter de nouveaux types de VM et de nouveaux providers
- Modèle de playbook de migration pour une flotte existante
Stack technique
TerraformAnsibleConsulNetBoxJenkinsHAProxyCentreon
Besoin de cadrer cette mission ?
Cette mission correspond à votre besoin ? Définissons le périmètre ensemble.