Programmation : Vagrant s’étend de la virtualisation desktop au monde du cloud

Vagrant permet de simplifier la mise au point d’environnements de test dédiés aux développeurs. Le tout est déployable via de la virtualisation desktop, mais aussi serveur ou cloud.

Les machines virtuelles restent un des outils préférés des développeurs. Elles permettent en effet de tester une application dans un environnement de production simulé, voir sur un pool de serveurs virtuels.

Toutefois, créer et configurer ces machines virtuelles peut rapidement devenir fastidieux. C’est ici qu’entre en jeu le projet Open Source Vagrant, lancé en 2010 par Mitchell Hashimoto. Initialement, cet outil permettait de créer des machines virtuelles dédiées à VirtualBox, en conjonction avec des solutions de gestion de la configuration comme Chef, Puppet et Salt (dont nous avons parlé précédemment, voir « Open Source : Chef donne ses recettes pour administrer le Cloud », « Orchestration : Puppet  mène à  la baguette les infrastructures Cloud » et « Salt : une pincée de dynamisme pour gérer les infrastructures Cloud »).

Toutefois, cette offre s’est rapidement ouverte à d’autres solutions. Elle propose en effet le support des technologies de virtualisation de VMware et Microsoft, et permet également de déployer les machines virtuelles sur le cloud EC2 d’Amazon.

Depuis la version 1.6, Vagrant peut même générer des conteneurs Docker, qui se veulent plus légers que les VM classiques et ouvrent de nouvelles possibilités, comme le déploiement d’environnements de test – via les conteneurs – dans une machine virtuelle.

Plus de flexibilité

Le support de nouvelles offres de virtualisation passe par des ‘Providers’. Une offre hautement extensible. Cette souplesse, nous la retrouvons également dans les ‘Provisioners’, qui se chargent d’automatiser l’installation et la configuration de logiciels sur les machines virtuelles.

En plus de Chef, Puppet et Salt (déjà évoqués), des ‘Provisioners’ sont proposés pour les scripts en ligne de commande et la solution CFEngine. La liste des ‘Providers’ comme des ‘Provisioners’ pourra être étendue par l’entremise de plug-ins.

Vagrant a su en très peu de temps devenir une solution de choix pour les développeurs. Une évolution rendue possible par l’investissement de l’auteur dans sa solution. Mitchell Hashimoto a en effet créé HashiCorp fin 2012, et travaille maintenant à temps complet sur l’évolution de Vagrant.

Un business naissant

Cette société vise le secteur des outils de gestion des configurations hétérogènes : physiques, virtuelles et cloud. Une activité qui est centrée sur Vagrant, mais également sur des outils Open Source de gestion de la configuration et d’orchestration des serveurs. En plus de ces diverses solutions, la société propose Vagrant Cloud, une offre permettant de partager des environnements Vagrant en un tournemain.

Une offre de support à 79 dollars par siège permet de disposer d’une assistance par mail à J+2. Elle reste toutefois limitée aux utilisateurs de solutions VMware desktop (Workstation ou Fusion). D’autres offres de support, plus étoffées, devraient voir le jour prochainement précise la société.

De nombreux grands comptes utilisent aujourd’hui Vagrant : O’Reilly, Mozilla ou encore Yammer. Plus près de nous se trouvent des acteurs comme la BBC ou Nokia. Certaines sociétés contribuent également de façon importante à l’évolution de ce projet. Nous trouvons quelques grands noms du monde de l’infrastructure IT, comme Fastly (CDN) ou SoftLayer (cloud).

Sur le même thème

OSv, un système d’exploitation cloud dédié aux machines virtuelles
Rundeck orchestre les worfkflows sur le cloud
Ansible : JSON et SSH au service du cloud