Vagrant

27 mai 2017

Vagrant est un logiciel libre et open-source pour la création et la configuration d’environnements virtualisés. En effet, il permet de créer des machines virtuelles qui seront utilisées pendant la phase de développement d’une application. Elles permettent d’obtenir l’environnement souhaité sans pour autant changer la configuration de la machine du développeur. De plus, la configuration de la machine virtuelle sera simple à exporter ou à importer. En effet, le logiciel va stocker la description complète de l’environnement de développement dans un fichier écrit en Ruby. Développé par Mitchell Hashimoto et John Bender depuis début 2010, le groupe HashiCorp a été créé afin d’assurer le développement du logiciel à temps plein.

Ce logiciel s’avère être un outil qui simplifie la création ainsi que la gestion d’environnements virtualisés. Vagrant permet de travailler dans un environnement reproductible avec les mêmes versions quelles que soient les dépendances. Il s’avère d’ailleurs compatible avec la majorité des systèmes d’exploitation actuels, puisqu’il utilise le principe de virtualisation. Ainsi, un développeur travaillant sous Mac aura accès au même environnement qu’un développeur travaillant sous Windows ou , et ceci en conservant son IDE favori.

Comment Vagrant fonctionne-t-il ?

Vagrant est une surcouche développée sur des solutions de virtualisation telles que Virtualbox ou VMware. Le logiciel exécute une série d’instructions spécifiées dans un fichier de configuration (le Vagrantfile). Ces instructions vont permettre de créer et de configurer une ou plusieurs machines virtuelles. Notons par ailleurs que Vagrant n’est pas un outil de provisioning. Ainsi, il ne chargera pas directement les dépendances logicielles dans la machine virtuelle. La solution consiste simplement à lui fournir un script shell qui contient les instructions nécessaires au provisionnement. Par la suite, il sera intéressant de l’associer à une solution comme Ansible, Puppet ou Chef qui se chargera d’automatiser ce processus.

Les concepts sur lesquels repose Vagrant

Le Vagrantfile

Il s’agit du fichier de configuration principal. Écrit en ruby, il permet de définir le dossier racine du projet qui sera ensuite utilisé par les options de configuration de Vagrant. C’est aussi dans ce fichier que l’on définira le type de machine (la box) souhaité, la configuration réseau, le provider, la méthode de provisionnement et les éventuels plugins.

Les boxes

Vagrant utilise des boites (ou box)  déjà paramétrées pour accélérer la construction de son environnement virtuel. Le principe de fonctionnement est similaire aux images sous Docker. Une box sous Vagrant peut contenir une installation aussi simple qu’Ubuntu, mais elle peut aussi embarquer d’autres applications pré-installées. Si un développeur utilise régulièrement les mêmes briques applicatives pour ses projets, il peut tout aussi bien les compiler dans une box qu’il pourra réutiliser ensuite. Il est possible de trouver une liste des boxs sur Atlas, le catalogue de box officiel fourni par Vagrant.

Le Provider

Vagrant ne virtualise pas directement les environnements. Le logiciel fait appel à un Provider pour accomplir cette tâche. C’est Virtualbox qui est utilisé par défaut, mais rien n’empêche d’en sélectionner un autre comme VMWare, AWS ou Hyper V.

Caractéristiques du rapport

  • 5.5/10
    Note obtenue
  • 10/10
    Densité du rapport
  • 7.5/10
    Utilisabilité
Les plus :
  • + Contenu clair et lisible
  • + Nombreuses illustrations
  • + Bonne densité : 42 pages
Les moins :
  • - Approche trop pédagogique
  • - Analyse à approfondir
  • - Note moyenne : 12/20

Commentaires

  • PACNAM 27 mai 2017 at 18 h 19 min

    Bonjour,
    Pour vos questions, c’est par ici.

    Bonne journée

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *