I'm late to using Vagrant, hands-on. I used it years ago, but didn't build my own Vagrantfiles. It seems to be a very nice programmatic wrapper around using, primarily, VirtualBox's Unattended Guest Installation[1], though it can use other providers, too.<p>But I've noticed that it seems like you can skip straight to using docker containers for development environments as well. I'm wondering what other people's experience here is with both or either software.<p>In my opinion, both still seem like relevant software. When I need an Ubuntu development environment on my Mac, I don't turn to Docker. I think of Vagrant right now, because that's what it was built for. Vagrant is a tool for managing virtual machines and development environments.[2]<p>[1]: <a href="https://www.virtualbox.org/manual/UserManual.html#basic-unattended" rel="nofollow">https://www.virtualbox.org/manual/UserManual.html#basic-unat...</a><p>[2]: <a href="https://www.vagrantup.com/intro/vs/docker" rel="nofollow">https://www.vagrantup.com/intro/vs/docker</a><p>Edit: Thank you for the excellent insights!
Hello HN! I'm one of the founders of HashiCorp and original creators of Vagrant.<p>Vagrant isn't "HN hip" these days ;) and I feel like folks tend to think if they don't see it here it must be dead. Vagrant has been the opposite: downloads have still only gone up, and we're seeing it used in more and more places on the regular. Most people are quiet about it because it does what it was built to do well and quite honestly, its moved more into the stereotypically "boring" organizations. For example, I recently ran into an engineer that works at a local city utility who was raving about how they just adopted Vagrant last year and it has been completely life-changing for their team. This is 2021, Vagrant came out 2012. Products have super long lifecycles and the market is massive.<p>Regardless, we've remained committed to Vagrant. We've always had a team dedicated to Vagrant, and the Vagrant team is awesome and has continued to push out new features and new releases for the past decade.<p>We're super excited for Vagrant 3.0! There's a lot we have planned for it and the transition to Go is going to bring a lot of those improvements.<p>I think one topic that is interesting for the HN crowd: why are we rewriting Vagrant in Go? Is that too expensive or time consuming? Does that cause too much user pain?<p>HashiCorp has built dozens of products now in Go and we've built a large foundation of libraries and utilities for Go-based projects. All our products share the same CLI library (that we wrote), the same plugin framework (that we wrote), the same distributed systems libraries (that we wrote), etc. Besides code, we've built a security team and release engineering team that has pipelines ready to go for Go-based projects. And more.<p>This means that we move fast with Go, and we can do it confidently, and we can do it without a lot of overhead. From the moment we decided to port Vagrant to Go, the Vagrant team had a working demo in just a few weeks, and an "alpha" release they're ready to ship to users in a few months. We got this speed cause we just wrapped Vagrant around the same architecture and libraries that our other products are built on.<p>For our users, there are a bunch of improvements (mentioned in the blog post). We're being very careful about backwards compatibility and have a multi-year plan to ensure that existing Vagrantfiles and plugins continue to work. We're starting with continuing to embed a Ruby with our installers while the core is running Go. Over time, we'll ask users to bring their own Ruby (and we'll validate it) to use "older" Ruby-based plugins and Vagrantfiles.<p>Feel free to ask any questions, I'll try to be present in this thread.<p>-----------------------------------------------------<p>Also, if you're a Vagrant user, we also recently made our VMware plugin free and open source. Check it out: <a href="https://twitter.com/mitchellh/status/1402729560823664641" rel="nofollow">https://twitter.com/mitchellh/status/1402729560823664641</a>
We use vagrant with ansible to build a local dev environment and almost the same production environment from the same ansible project.<p>We experimented with docker, but it is still extremly slow on windows and our production machine is provisioned with ansible, so vagrant is a natural fit...<p>Very happy most of the time, only some strange ssh errors happen from time to time...
Has anyone had any success with a vagrant provider on Apple Silicon now that virtual box is now out of action?<p>We’re using UTM, which does the job as a frontend to qemu, but it’s be nice to switch back to a vagrant based declarative file.
I was surprised to see growing ecosystem and community. I though that docker would take mainstream in virtualization, so main usecase for vagrant would be when you really need a virtual machine.