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
VMware Fusion
Score 7.8 out of 10
N/A
Vmware Fusion is a virtual user session software built to run Windows applications on Macintosh to run any Windows applications.
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.
VMWare Fusion is perfectly suited for an application developer because it allows the dev to create cross-platform applications across the entire spectrum of operating systems without changing devices. An example of where it is less appropriate would be an environment where users are not required or have no need, to use multiple operating systems.
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.
Running isolated software development environments. Setting up environment variables and installing the right software versions for a given project can be time consuming and fragile. By doing all of this within a virtual disk image, we can easily switch between software environments without risk of breaking anything.
Running Windows-only programs on a Mac is invaluable. We use MacBook Pro laptops for our primary development environment. There are simply some programs we cannot run on OS X. Having VMWare Fusion is an invaluable asset for running Windows apps on Mac laptops on the go.
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.
It is very rare for this to happen, but sometimes the Windows environment loses the internet connection while the Mac environment still has it. Rebooting the Windows environment in VMware Fusion fixes it.
It does not always recognize printers that are set up through the Mac, particularly if they are connected via WiFi instead of hardwired.
For Apple workstations VMware Fusion is the virtualization software to use. No other application (free or paid) can do what Fusion can. The features and constant updates make Fusion an application that cant be beat.
I made an 8 because it's good in almost every aspect. As I said if you are on macos and you need both windows and linux I think is the best options out there. Otherwise if you need only windows there is a competitor that could be better for performance and integration.
It does what it says, and it does it well. AND...the technical support is second to none. Within an hour, I'm getting a phone call back from a COMPETENT ENGINEER that knows what he/she is talking about. For the less than 6 times I've had to call, I NEVER had to be escalated to another tech support person. BRAVO!!!
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.
As mentioned previously, perpetual licensing was the #1 reason. The interface is also cleaner, simpler, and less bloat. Parallels also seem to run a bit slower. Fusion was also more stable and significantly faster in both raw performance and graphics compared to Virtualbox. Virtualbox also had a tendency to random freezings on some of our Linux instances on occasion.
Users using a VM often don't need something as "fancy" as VMware Fusion, and instead can use a free option like Virtual Box, so we waste money on using an extra amount of VMware Fusion licenses.
Developers using and IT admins using VMware Fusion for testing saves us time and money. Simply, we know mistakes would take time and money to fix, but VMware is powerful, allows for proper and fast testing.