environment.md 3.17 KB

Gestion des environnements de travail

Plusieurs enjeux :

  • fournir des environnements reproductibles pour les expériences de recherche
  • fournir des environnements adaptés aux besoins pédagogiques
  • fournir des environnements facilitant le prototypage de solutions pour les besoins administratifs

Plusieurs solutions populaires :

  • veewee : production automatisée d'images virtuelles
    • développement actif par un développeur principal (25%) depuis 2011
    • prend en entrée une iso d'install et un fichier de conf
    • produit des images VirtualBox, KVM et VMWare
    • fournit de nombreux exemples de configuration
  • vagrant : automatise et facilite la configuration et l'exécution d'une VM
    • développement actif par un développeur principal (75%) depuis 2010
    • nécessite une image (boîte)
    • prend un fichier de configuration pour finaliser la configuration de l'image
    • nécessite une machine virtuelle (VirtualBox, VMWare, AWS pour Amazon, KVM avec vagrant-kvm)
    • s'interface entre l'image et la machine virtuelle pour automatiser l'étape de configuration (commune à toutes les VM)
    • facilite la configuration réseau et la synchronisation des données (peut-être VirtualBox le fait-il déjà)
  • chef, puppet : configuration et administration automatisée
    • développement actif par plusieurs développeurs depuis 2008
    • au coude à coude, tous les deux en ruby
    • il y a aussi salt et ansible en ruby et plus récents (2011-2012)

Veewee

+-------------+  +--------+
|Configuration|->| Veewee |
+-------------+  |        |
                 |        |
+---+            |        |  +-----------+
|Iso|----------->|        |->|Box (image)|
+---+            |        |  +-----------+
                 |        |
+-------------+  |        |
|Provider (VM)|->|        |
+-------------+  +--------+

Intérêts :

  • ABD
    • environnement root plus proche d'une situation classique (outils plus faciles à déployer et plus formateur pour les étudiants)
    • diffuser des images contenant déjà les serveurs configurés avec les données nécessaires
    • possibilité d'avoir plusieurs serveurs

Vagrant

+-------------+  +-----------------------------------+
|Configuration|->| Vagrant : exécution/provisioning  |
+-------------+  |                                   |
                 | +----------+ +------+ +---+ +---+ |
+-----------+    | |VirtualBox| |VMWare| |AWS| |...| |
|Box (image)|--->| +----------+ +------+ +---+ +---+ |
+-----------+    +-----------------------------------+

Intérêts :

  • ABD
    • facilite la configuration de VirtualBox (à vérifier) : copie de Vagrantfile dans le dossier local et deux commandes (init et up)
    • permet de rajouter italc, mais le résultat peut être trop lent si les outils clients (graphiques) sont exécutés dans la VM
    • démarrage d'un SGBD rapide pour des tests
  • prototypage pour les besoins administratifs
    • mise en place d'une solution fonctionnelle facile
    • gitlab provides an installation guide for vagrant