If you are developer chances are you work on numerous systems which might require different configuration and environments. One of the most important things is to make sure that the development and production environments are identical to ensure that no unexpected bugs can happen in production due to differences between development and production environments. “The cost of fixing a bug exponentially increases the closer it gets to production. Vagrant aims to mirror production environments by providing the same operating system, packages, users, and configurations, all while giving users the flexibility to use their favorite editor, IDE, and browser. Vagrant also integrates with your existing configuration management tooling like Chef, Puppet, Ansible, or Salt, so you can use the same scripts to configure Vagrant as production.”-Vagrant
So what is Vagrant and why is it a big deal?. Vagrant is a tool for setting up a complete virtual development environment, also commonly referred to as a VDE. Vagrant dramatically reduces the amount of time that you need to spend rebuilding your operating system and acts as a central configuration hub for your activities, allowing you to easily manage and deploy VDEs using the same basic configuration.
One of the best parts of Vagrant are the community preconfigured boxes which provide a complete server environment, for example if you are Laravel Developer you can use Laravel Homestead, the official, pre-packaged Vagrant box that provides a wonderful development environment without requiring you to install PHP, a web server, and any other server software on your local machine.
No more worrying about messing up your operating system! Vagrant boxes are completely disposable. If something goes wrong, you can destroy and re-create the box in minutes!
How to Install Vagrant
To install vagrant follow this link https://www.vagrantup.com/downloads.html