Introduction à Vagrant
Sommaire
Vagrant est un outil pour travailler avec des environnements virtuels. Vagrant fournit un client de ligne de commande simple et facile à utiliser pour gérer ces environnements ainsi qu' un interpréteur pour les définitions des configurations de ce à quoi ressemble chaque environnement dans un fichier spécial appelé Vagrantfile.
Une machine virtuelle (VM) est un environnement virtuel qui fonctionne comme un système informatique virtuel avec son propre processeur, mémoire, interface réseau et stockage, créé sur un système matériel physique (situé hors site ou sur site). Les machines virtuelles permettent à plusieurs systèmes d'exploitation, comme une distribution Linux sur un ordinateur portable avec Windows, de s'exécuter simultanément sur un seul appareil. Chaque système d'exploitation fonctionne de la même manière que le matériel hôte (votre PC) exécutant généralement un système d'exploitation ou un programme, car l'expérience de l'utilisateur final émulée dans la machine virtuelle est pratiquement similaire à l'expérience en temps réel du système d'exploitation s'exécutant sur un ordinateur physique.
La virtualisation semble être la technologie la plus appropriée pour créer un environnement de développement / ou de test pour les développeurs et les opérateurs. C'est essentiellement parce que, sans jouer avec le système d'exploitation réel que vous utilisez, vous pouvez avoir un tout nouveau monde sur votre système et explorer de nouveau système.
Il existe différents logiciels de visualisation disponibles sur le marché, certains d'entre eux sont mentionnés ci-dessous.
VirtualBox (Le logiciel de virtualisation développé par Oracle) VMWare Microsoft Hyper V Amazon EC2, Google Cloud Compute Engine (des environnements de cloud public virtualisé)
Même si la virtualisation est une très bonne approche,la mise en place d'un environnement pour le travail de développement n'est pas si simple. Vous devez encore passer par les tracas de l'installation des logiciels requis, de leur configuration, etc., en plus de la création de la nouvelle machine virtuelle.
Vagrant permet aux développeurs de créer plus facilement un écosystème local qui imite l'environnement dans lequel votre code sera réellement déployé. Sans sacrifier la façon dont votre machine locale est configurée, et sans le retard ou le coût de création et de connexion à un environnement de développement externe, vous pouvez vous assurer que vous avez les mêmes bibliothèques et dépendances installées, les mêmes processus installés, le même système d'exploitation et version, et bien d'autres détails. Tout cela en écrivant un seul fichier de configuration.
Il est aussi important de noter qu'avec cette approche, il est facile de mettre en place la même configuration entre une équipe utilisant des machines et des systèmes différents.
En utilisant Vagrant, vous pouvez réaliser ce qui suit:
Nous allons couvrir tout ces aspect dans les futurs articles
Certaines infrastructures de cloud public populaires comme Amazon EC2, Google Cloud et Digital Ocean supportent en charge Vagrant. Ce qui permet au développeur de lancer des machines virtuelles dans le cloud rapidement et simplement.