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.
N/A
Salt
Score 6.2 out of 10
N/A
Built on Python, Salt is an event-driven automation tool and framework to deploy, configure, and manage complex IT systems. Salt is used to automate common infrastructure administration tasks and ensure that all the components of infrastructure are operating in a consistent desired state.
Docker has a few advantages, especially with the disk size bloat brought on by Vagrant's hosting an entire OS and project in a VM. It relies on native tools, however, and may not support every software. Vagrant provides uniformity, efficiency and repeatability within team work …
I liked lando better because lando seemed extremely easy to setup compared to other VM's and it seemed faster though that project was simpler. Virtualbox I ran on windows and it has a gui and has often been slow. The vagrant boxes I used did well but had slightly more …
Docker feels lighter, faster, but Vagrant offers better support across platforms, which is a must in my company where there are users on Linux, Mac OS and Windows.
Virtualbox and VMware were easier products to set up but did not stack up against Vagrant with the customization and the ability to specifically test and work with our code base. Virtualbox and VMware were more generic solutions that may be easier but they did not fulfill the …
MAMP is a much simpler solution than Vagrant. Pretty much anyone should be able to get MAMP up and running quickly, and it's much easier to maintain. However, MAMP is fairly limited to specific versions of software and runs within macOS, so it won't always completely be an …
Previously I had used MAMP and DesktopServer. MAMP was constantly giving me MySQL problems and is frustrating in that it limits how many installs you can have. DesktopServers was a little better, but broke when i switched to High Sierra OSX. Their website and support were very …
I like Vagrant much more than Docker. In my opinion it's easier and more flexible to configure a Vagrant machine how i like it compared to Docker. Of course Docker executes faster, but with Vagrant only the machine creation or booting process is slower, normally you don't …
There's not much that I'm aware of that really does exactly what Vagrant does. Many of its tasks could be accomplished manually or via custom scripts. However, with Vagrant, automation is within easy grasp as well as a large community of experts who have pre-built solutions …
Vagrant is a little different than other options out there. It blurs the lines between the server environment and the local environment. Options like MAMP and XAMPP allow a developer to run a local version of Apache, MySQL and PHP locally, but it's all based on the local …
Vagrant is more of a meta-tool compared to traditional VM software. It provides a layer on top of VMware or VirtualBox. Configurations in a Vagrantfile are so much easier to manage than complete VMs.
In comparison to Docker, Vagrant is a lot easier to create its [containers] boxes, than it is with Docker. Our company already dealt with and its devops team knew somewhat well the way of Vagrant, so it was quite natural to go Vagrant when trying to choose which would be our …
By default Vagrant uses VirtualBox but compared to using VirtualBox directly, I've found using Vagrant makes things easier. For one, you can commit your Vagrant configuration to GitHub and manage changes that way. I'm not sure how you'd handle updated virtual machines to all …
SaltStack is a newer product, so it learned some of the mistakes that Puppet made. It truly is a system that can respond to events as well as configure systems.
SaltStack beats all of the tools above since it is a "6-in-one" solution: Config Management, Orchestration, Automation, parallel sys administration, remote execution and cloud management.
The other solutions only solve one or two problems.
Systems Administrator, Deployment Specialist Consultant
Chose Salt
I've used shell scripts over ssh, custom in-house deployment tools, Chef, and SaltStack. I've evaluated Ansible, but I was never happy with performance over SSH. Chef's loose configuration data model and lack of philosophy and conventions around use makes it difficult for a …
Chef and Puppet both require writing code, which I view as excessively involved for the task at hand. I have only needed to write pure python for a handful of Saltstack use cases - everything else has been configuration files.
Ansible, while elegant and simple, simply does not …
We moved to SaltStack from Puppet about 3 years ago. Puppet just has too much of a learning curve and we inherited it from an old IT regime. We wanted something we could start fresh with. Our team has never looked back. SaltStack is so much easier for us to use and maintain.
I looked at Chef and Ansible but it was a long time ago and I don't remember the pros and cons compared to SaltStack. When I arrived at my company, Saltstack was already used in production so there has been no discussion about other deployment and automation solutions
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.
Managing heterogeneous environments of large numbers of nodes, especially nodes which may need sudden changes (security updates, for instance), or frequent replacement, is a strength for Saltstack. Simplicity is not a strength for Saltstack. In a homogenous environment (all CentOS 7, for example, with no Debian or Windows) I might recommend using Ansible instead - it is less flexible and granular, but simpler to configure.
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.
A superb remote execution framework! SaltStack allows us to easily program numerous functions on top of it. For example, we developed a fast parallel asynchronous deployment tool that handles all software deployment, including interdependent service management.
Configuration management is now easy. We take advantage of this to automate (in tandem with AWS tools) the stand-up of all servers and services. It is also relatively easy to create new configuration management states for software not yet supported by the community (e.g. Grafana).
Flexibility. Numerous small utilities have been built which simply wrap around SaltStack to allow tedious tasks to become easy.
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.
We haven't had to spend a lot of time talking to support, and we've only had one issue, which, when dealing with other vendors is actually not that bad of an experience.
Docker has a few advantages, especially with the disk size bloat brought on by Vagrant's hosting an entire OS and project in a VM. It relies on native tools, however, and may not support every software. Vagrant provides uniformity, efficiency and repeatability within team work and for deployment and testing.
I've used shell scripts over ssh, custom in-house deployment tools, Chef, and SaltStack. I've evaluated Ansible, but I was never happy with performance over SSH. Chef's loose configuration data model and lack of philosophy and conventions around use makes it difficult for a team to share responsibility for configuration code. Needing to use additional tools to do orchestration for cross-host/agent dependency relationships made me look for more. SaltStack, while not as mature when I first tried it, impressed me with its speed and elegant design