HashiCorp Vagrant

HashiCorp Vagrant

Score 9.3 out of 10
HashiCorp Vagrant

Overview

What is HashiCorp Vagrant?

Vagrant is a tool designed to create and configure lightweight, reproducible, and portable development environments. It leverages a declarative configuration file which describes all software requirements, packages, operating system configuration, and users.
Read more

Recent Reviews

Great for us!

8 out of 10
August 17, 2018
We use Vagrant across our Product Dev teams (QA, Front end/Back end Dev, IT Operations, etc) to test our code changes, debug and preview …
Continue reading
Read all reviews

Video Reviews

Leaving a video review helps other professionals like you evaluate products. Be the first one in your network to record a review of HashiCorp Vagrant, and make your voice heard!

Return to navigation

Pricing

View all pricing
N/A
Unavailable

What is HashiCorp Vagrant?

Vagrant is a tool designed to create and configure lightweight, reproducible, and portable development environments. It leverages a declarative configuration file which describes all software requirements, packages, operating system configuration, and users.

Entry-level set up fee?

  • No setup fee

Offerings

  • Free Trial
  • Free/Freemium Version
  • Premium Consulting / Integration Services

Would you like us to let the vendor know that you want pricing?

5 people want pricing too

Alternatives Pricing

What is HashiCorp Terraform?

Terraform from HashiCorp is a cloud infrastructure automation tool that enables users to create, change, and improve production infrastructure, and it allows infrastructure to be expressed as code. It codifies APIs into declarative configuration files that can be shared amongst team members, treated…

What is Ansible?

The Red Hat Ansible Automation Platform (acquired by Red Hat in 2015) is a foundation for building and operating automation across an organization. The platform includes tools needed to implement enterprise-wide automation, and can automate resource provisioning, and IT environments and…

Return to navigation

Product Details

What is HashiCorp Vagrant?

HashiCorp Vagrant is a tool for building complete development environments and is the command line utility for managing the lifecycle of virtual machines. Vagrant isolates dependencies and their configuration within a single disposable and consistent environment.

Boasting an easy-to-use workflow and focus on automation, Vagrant aims to lower the development environment setup time, increase development/production parity, and make the "it works on my machine" excuse a relic of the past.

HashiCorp Vagrant Technical Details

Operating SystemsUnspecified
Mobile ApplicationNo

Frequently Asked Questions

Vagrant is a tool designed to create and configure lightweight, reproducible, and portable development environments. It leverages a declarative configuration file which describes all software requirements, packages, operating system configuration, and users.

Oracle VM VirtualBox, VMware Fusion, and VMware Horizon are common alternatives for HashiCorp Vagrant.

The most common users of HashiCorp Vagrant are from Small Businesses (1-50 employees).
Return to navigation

Comparisons

View all alternatives
Return to navigation

Reviews and Ratings

 (40)

Attribute Ratings

Reviews

(1-14 of 14)
Companies can't remove reviews or game the system. Here's why
Brendon Brown | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User
We use Vagrant exclusively to test web development projects internally. Our development team uses our proprietary Vagrant configs and boxes which mimic our staging and production environments to quickly scaffold a web project for speedy local development and testing. Our usage targets mostly php projects which require MAMP-type environments, such as Wordpress, though we've also used Vagrant for bespoke, bundled or framework websites.
  • Extremely efficient project scaffolding of a dev/test environment
  • Repeatable results (for the most part).
  • Great variety of community boxes and plugins
  • Free
  • Major updates have introduced bugs with consequences in our dev projects
  • Syntax updates have major repercussions for plugin compatibility
  • Community support is a lengthy process
I would recommend this tool to a colleague looking to create a repeatably deployable local dev environment based on their staging and production environments. I would recommend this mostly for individuals or teams requiring environments with server-side software such as php, et al. There are likely less processor-heavy and smaller tools for simpler projects.
Score 9 out of 10
Vetted Review
Verified User
In my organization, Vagrant is used to managing VMs using VirtualBox and Chef Client as the provisioner. This allows users to automatically install software, change configurations and all of the lifecycle used to deploy later on production, without any additional concerns during the process of development, since is a VM-controlled environment.
  • Contained development environments on VMs, but with same structure as production environments
  • Open-source
  • Huge community
  • Easy to set up
  • It was great if Vagrant consumes less resources than what consumes today
Vagrant is well suited to be integrated with Chef, in order to execute configured code on one or more platforms in isolation. Associating Vagrant as a tool for building and managing virtual machine environments in a single workflow, we get an entire group of tools that are a must-have when an organization has lots of platforms that can share some configuration.
Josh Stapp | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
Vagrant is used to create virtual machines for our Drupal servers locally so we can develop on Macs and not have issues when our servers are running Linux. It helps make sure there are no errors building a slightly different package of code, which could easily happen on a Mac.
  • Speed vs other VMs
  • Documentation
  • Robust, older than many VMs
  • Not as fast as natively running Linux
  • Occasionally I've had to kill instances to start new ones
  • Can be more confusing to set up (especially auth) compared to native Linux
Vagrant is well suited for a team that needs a VM so that only a couple engineers can worry about the environment setup and others can focus on the code. I would give it an eight, but I had a slightly easier experience with lando. Vagrant, however, is older and more widespread, so it could have more features I didn't need.
Hernán Silva | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User
We use Vagrant to provision development environments for web developers.
  • Consistent, reliable virtual environments for web development
  • Easy to use commands
  • Lacks a GUI, would be useful for entry level users
  • Uses lots of resources on old machines
  • Compatibility issues with some operating systems (Windows 8.1 home, Windows 10 home)
You can easily create, share and provision development environments across platforms, excepto if you are on Windows...
August 17, 2018

Great for us!

Score 8 out of 10
Vetted Review
Verified User
We use Vagrant across our Product Dev teams (QA, Front end/Back end Dev, IT Operations, etc) to test our code changes, debug and preview changes made. Vagrant has been a good local way for individuals to work on their code base before making any changes to our stage or production code.
  • Local ability to see and test code changes
  • Can be customized on per user basis
  • Can be a complicated setup process depending on your code
  • Long setup, especially on Windows machines
Vagrant is well suited for anyone technical department that does Development and needs to thoroughly test your code, see changes and preview features. Vagrant can give the ability for users to build their own test box to be able to accomplish all of this. In our experiencing the setup and tweaking to get to a workable state has been a bit of a task but now that we have it all done its a super useful tool.
Score 8 out of 10
Vetted Review
Verified User
We use Vagrant to run virtual machines for local development of our web applications. Each team across our department uses it, but with various configurations. Vagrant allows us to test our applications locally using the same operating system and software configurations as our production servers, so we are able to get a better idea of how things will work once deployed.
  • Free
  • Local testing
  • Allows use of the same OS and software as the server
  • Pretty fast and reliable
  • Can be difficult to set up
  • Requires command line usage, which can be difficult for less tech savvy designers/developers
  • Can take up a lot of disk space if running several VMs with various configurations
Vagrant works well for the local development of any website or web application. It shouldn't be very difficult to set up for someone comfortable with Unix and command line usage. It's great for those wanting to get local development as close as possible to the production environment.

It's less appropriate for more design focused developers who are not super comfortable with the command line. Though once set up and configured, it's pretty easy to teach anyone how to use it.
Collin Berg | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
I switched to vagrant from DesktopServer for my local development stack when updating to High Sierra. Vagrant is a much more versatile and robust product that gives me flexibility and automation. I use it to spin up Wordpress websites locally and give them a local domain. DesktopServer only allowed 3 instances, but with Vagrant I can use as many as I need.
  • Vagrant is decentralized so anyone can make a container package to get a project started. you aren't limited to wordpress, or even one style of wordpress install (you can make a sage.io wordpress environment).
  • Vagrant easily lets you set ports and URLs for local development.
  • I have yet to have a problem with Vagrant, as opposed to MAMP and DesktopServer, which both gave me SQL or other issues.
  • The learning curve is steep for deploying a vagrant package if you've never dealt the command line.
  • Initially, it was a little difficult to get the networking right because I didn't have a lot of experience with using to the virtual machine.
Vagrant is great if you are working on websites or applications locally and need to set up a container that manages the environment. I'm no longer struck with having to work only in one version of a language as well. I can debug locally with an old project in PHP 5.3 or work on a new project that uses PHP 7
Score 7 out of 10
Vetted Review
Verified User
Used by software developers to create virtual machines where the software that is being developed can be deployed, executed and tested. Also used by consultants to create test or development environments where other products that are delivered to customers can be configured and proven to work as they are needed before putting them in production environments.
  • Easy to create machines with different OS's, list of them can be found from Vagrant's website with configuration details.
  • Flexible configuration, user can determine what software will be pre-installed to machine. Saves time because it doesn't need to be done manually every time.
  • Easily manage full environments, not just single machines, with single command.
  • There's no GUI. Everything has to be configured by text editor and all operations are done through command line.
  • If there's a problem when bringing up the machine, Vagrant may take lot of time by just waiting and not giving good error output.
  • I don't like its configuration syntax (Ruby).
It saves lot of time by making new machine deployments quick and easy. Only one person has to write and upkeep the configuration files and everyone else can then use them without knowing how to modify them. All they need to do is to install Vagrant and type one command to create the machines so whole team doesn't need to be trained on how to configure Vagrant. However Vagrant creates full virtual machines so it needs a powerful host computer and it always takes a while to bring them up.
Chris Putnam | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Vagrant provides a framework and automation tools to deploy virtual machines for local development of many sites and applications. This allows safer development and testing, and can be more efficient with the use of local resources and 0 network latency. In tandem with other tools, such as version control and deployment tools, Vagrant is a popular part of many development tool-sets.
  • Automation of virtual machine management tasks
  • Configuration of local development environment
  • Documentation
  • Support minimal - technical expertise required
If you have a technical expert or if a pre-built box or configuration wizard can meet your needs, Vagrant is a great fit. Even an expert could find it time-consuming to start with Vagrant and related technologies from scratch, so starting from a pre-built environment is highly recommended. Finding an appropriate box will be more or less common depending on your technology stack. LAMP is common as are many Node stacks.
Joey Yax | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User
Vagrant is used for local development of websites, APIs and web applications. By being able to mimic the production server environment we're able to eliminate the potential for any compatibility issues that can occur when running the code on a different architecture than it was originally built on. It's also helpful in the reverse-- Vagrant ensures that every developer is using the exact same environment.
  • Server Virtualization - it's easy to recreate a server environment and automate builds for other developers.
  • Seamless integration between the server environment and local machine. This allows you to use your preferred editor, automation tools and other applications, but have the website run in a self-contained environment
  • Community
  • Learning curve is steep - It can be challenging for someone to set up initially. After some coaching, the basics come pretty quickly though.
  • Relies on external Virtual Machine applications - It would be great if Vagrant itself could run the virtual machine instead of leaning on other virtualization software. This is a small detail, but would make setup simple.
  • Better support for running
Extremely useful, but can get a little complicated to maintain several environments. If you only work on one or a handful of sites Vagrant is awesome. If you have dozens to maintain it gets a little more cumbersome. If ensuring compatibility is a must have it's a no-brainer and excellent for sandboxing projects.
Js Lim | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User
Most of our programmers use Vagrant for Laravel web app development. It's easier for all of us to have the same development environment. Also, most of the necessary packages are already included in the image. Just run a single command and that's it. So far it is only used by our IT department.
  • Fast & easy setup for development environment.
  • Consistent to all programmers within a same project.
  • One is the memory usage, because it is a virtual OS running on top of the host. Thus if a PC does not have enough memory, it is quite suffer[able] to use it.
For new colleagues, Vagrant is very good and suitable, because usually newcomers need to take some time to setup their PC environment. Thus Vagrant does most of the job here.
Charles Anderson | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
We mostly use Vagrant for operations to develop changes that will be applied to our production infrastructure via Puppet. I've also used it for some one-off development tasks I've done where I needed a "disposable" machine to try something out on. I've also used it to provision specific versions of Windows and IE for testing.
  • It builds VM quickly and easily, which allows them to be treated like livestock rather than pets. They can easily be thrown away and rebuilt.
  • Having access to a large library of VMs (via Vagrantfiles) enables rapid testing in multiple environments.
  • It's free and open-source.
  • As Vagrant's installed base has expanded, the combinations of Vagrant versions, guest OS versions, and VM providers has exploded. As a result, sometimes a particular combination doesn't work. It can be difficult to pin down the culprit, but the community is very helpful. This isn't really a knock on Vagrant - it's inevitable given its success.
It's my go-to tool for provisioning VMs.
Claudio Fernando Maciel | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User
With literally dozens of development environments, spread both throughout the company's development computers and our servers, it was becoming more and more daunting a task to keep them all integrated, concise and consolidated. There were just too many bugs whenever a new scenario showed up as we configured the new one, rendering one too many previous ones inoperable.
Vagrant became the main staple for the company's developers, as we all were part of both the research and the development tasks at the company. So, switching projects - as well as keeping various scenarios at the same time on our servers - really became a breeze for everyone. Now, every new task of research that involves a new set of technology, comes with a vagrant up command, which is nice and simple to deal with the incompatibilities, so common in this industry.

  • Maintaining many virtualized machines at the same time
  • Multiple platform support
  • A lot lighter if compared with VMBox
  • The end of "it's working at my computer" kind of excuse when things break at production
  • If possible, it could be lighter than its alternatives.
  • Improve the way boxes work, to make it easier to update and/or find
  • For simple out-of-the-box tasks Vagrant is pretty simple to use, but for much more real-life and complex tasks, it can become quite daunting to configure a box and make it available/distributable to all the company's computers.
If what you need is a machine to run your tests, research, and to tinker with and not be afraid of ruining your machine or the company's servers, vagrant is a great option. Also it's a great choice if you are working on a team based project, as everybody gets to share exactly the same environment, without the risk of having variations of path variables, dependencies versions and so on. If what you are looking for is isolation, then probably it's not the most well suited tool for you, as it's still a machine dependent on VirtualBox (or others), while, causing somewhat of an overhead.
Andrew Shell | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User
Originally our company would do development on remote machines. I'd SSH into a development box and do my work. I found that this was less than ideal because it was a lot of work to set up different boxes for any additional developers.
When we started work on our second application Taskle, I decided to try using Vagrant for our development environment. I had seen a presentation about it at a local user group and thought it would make development easier.
Initially we used Vagrant with Chef, but eventually, I found Ansible and have really liked using it.
Since Vagrant is a tool for development environments, it's only used by our developers. We currently have several freelance developers working on our applications in addition to myself and we all use Vagrant boxes for development.
  • Vagrant allows me to do development locally. That means that as long as I have my computer I can work on our product. This has been helpful when our internet has gone down, or even just if the internet has been slow. I've also been able to work in the car or when I'm camping and don't have wi-fi.
  • Vagrant has allowed me to set up a consistent development environment for all of our developers. I know they are using the correct version of the servers and of the code.
  • Vagrant allows me to easily.
  • Vagrant also allows me to experiment with alternate configurations. I can test our for instance if upgrading the OS or version of PHP is going to break anything.
  • Because Vagrant is a low-level tool with many ways to configure it, there is a steep learning curve. You don't just have to learn (or install) Vagrant, but also Virtualbox, Ansible and possibly some Vagrant plugins to keep boxes up to date.
  • Support on Windows doesn't seem great. I'm a Mac guy, so it's been very difficult getting things to work as expected when a developer wants to work on Windows.
  • Perhaps I didn't configure it correctly, but the default shared folders are not the best for performance. There are also frequently weird issues regarding file permissions.

If you're writing software, particularly software that depends on other services (web servers or databases for example) then Vagrant is great. I know some people skip Vagrant and just set up virtual machines on their own, but I've found that Vagrant streamlines the process nicely and makes it easy to update or swap out versions.

If you're a web developer (which I am) it's amazing. I can have several boxes configured for my different projects and I just spin them up or down based on what I'm working on.

One scenario where this might not be ideal is if you're running Vagrant on a computer that has limited resources. Since you're running a virtual machine with its own operating system and such you'll want a host computer with enough RAM, hard drive space and CPU to run the virtual machine properly without killing the performance of the host.

The virtual disks can also take up a lot of space if you're not careful so if you have many virtual machines provisioned and don't clean up the old ones that you're not using, you may find that your hard drive is full. Each of my Linux servers take up about 10GB of disk space.

Return to navigation