Jolt Awards 2014: The Best Utilities, August 05, 2014 The best programming utilities of the year
Jolt Award: Vagrant 1.6.3
Virtualization utilities such as VirtualBox and VMWare allow you to create isolated virtual development environments. However, as the number of virtual machines and the software required in each of them increase, you have to dedicate increasingly more time to managing all the virtual environments. The main problem is that virtualization utilities aren't generally designed with developers in mind. So, before you you're driven crazy with all the necessary configurations for your existing and new development environments, have a look at Vagrant, this year's Jolt Award winner for the Utilities category.
Vagrant is an easy-to-learn multiplatform utility that simplifies a common problem for developer teams: creating and configuring lightweight, reproducible, and portable development environments. Somebody in the development team has to spend a few minutes to create the portable "Vagrantfile" that describes the type of machine required for a project and how to configure and provision the machine. As you might guess, a Vagrantfile is a simple text file, and therefore, you can include it in your favorite version control system and track its changes. The file uses a Ruby syntax that is easy to understand and simplifies the configuration of the values for all the variables that define how things should work for an environment. The Vagrantfile includes several networking options to simplify typical network configurations required to work in virtual environments, such as forwarding ports, creating a private network, or connecting to a public network.
Once you have a Vagrantfile, a single
vagrant up command in the Vagrant command-line interface starts the virtual development environment with the specified provider, such as VirtualBox or VMWare. You can easily SSH into a running virtual environment to have access to a shell.
If you need to start up right away, you can explore the existing public catalog of Vagrant instances to find a ready-made package that provides the software configuration you need. Vagrant includes support for multi-machine environments, which are particularly useful when you need to test different scenarios that run on different clients or servers. Vagrant simplifies these configurations and makes it easy to create a private network between them and the host.
The versatile command-line interface and the simplicity brought to the most common tasks make Vagrant an extremely useful utility that will reduce the overall work required to work with development and test environments. And in doing so, removes one of the most problematic and least enjoyable aspects of modern software development and test. For this reason, Vagrant 1.6.3 receives the 2014 Jolt Award for the best utility.