When I think of significant technological advancements, I think of things like wireless networking, VPNs (Virtual Private Networks), laptops, tablets and smart phones. These are all things that I can’t imagine being without at this point. Another technology that I would include in that short list would be virtualization. Not just in an enterprise datacenter, but on your personal computer... specifically a Mac.
Virtualization is a technology that allows you to run an Operating System within an Operating System. The secondary Operating System runs on virtual hardware, which is being provided it by the primary Operating System and the virtualization software. There are two main players when it comes to virtualization on a Mac: VMWare Fusion (my preference) and Parallels (also a great option).
Why is virtualization so great? Wow! Let me count the ways. Here are just a few key benefits, specific to running virtual machines on a Mac:
- You can run Microsoft Windows (and Windows apps) on your Mac. As more and more people migrate away from Windows and to Mac, there is still (in some cases) a need to run some Windows apps that either aren’t available yet for Mac, or the user doesn’t want to purchase the software a second time (in order to comply with licensing requirements). Oddly, the best hardware I’ve used for running Windows is a Mac. Go figure.
- You can take snapshots of your VMs (virtual machines). A snapshot is a “picture” of a VM at a single point in time. The benefit is that if you make changes to your system that result in unwanted issues, you can always roll back to a previous snapshot, and all will be good again. I ALWAYS take a snapshot of a freshly-installed VM, that way I can quickly roll back to a clean machine, if I need to. I will also take snapshots of VMs before and after certain significant events (installing software, etc). Taking a snapshot takes 5 - 10 seconds on an SSD, or a little longer on a traditional hard drive.
- You can use it as a sandbox/test system. When you consider how quick it is to install or build a new VM, and the fact that you can quickly take snapshots at any time, this is the perfect scenario for using VMs for testing. Think about it... you can do anything you want with your VM, knowing that in less than a minute, you can roll back to any snapshot previously taken. There’s incredible power in that.
I could probably go on and on about the many great things about running VMs on your Mac, but these are my top 3 benefits. For more information on virtualization, check out this Wikipedia article.
Prior to OS X Mountain Lion, Apple didn’t allow you to run another OS X VM (licensing limitations). However, when they released OS X Mountain Lion, they also changed their licensing agreement to allow for additional Mountain Lion VMs to be used. Once it was official, VMWare and Parallels were quick to release new versions of their virtualization software that allowed for OS X VMs.
Want to know what virtual computers I'm running? It changes on a fairly regular basis (every month or so, depending on my needs). As of right now, I have 3 virtual machines active (Windows 7 Pro, Windows 10 Pro and OS X El Capitan). Here’s a photo of my OS X VM running on top of my primary OS (OS X El Capitan).