Q&A: why virtualize OS X?

The question of why one would virtualize OS X came up on the Mac Enterprise mailing list this week.  I got asked that question elsewhere this week too, so it seems like it’s time for a blog post on the topic.

Given that the OS X EULA requires that you virtualize OS X on Apple hardware, and given that the only Apple hardware that is fully supported by VMware isn’t the most current Mac Pro1, what are the benefits of virtualizing OS X?

  • More efficient use of resources. Even if you’re just running two VMs on a Mini, that’s half the capex of needing two Minis for the same purpose.
  • The ability to add new servers quickly, without needing to buy new hardware.
    • You can add services that you would never be able to justify the hardware spend.
    • If you get an idea for something that might work in your environment, it’s pretty quick and easy to try it out.  You can create a new VM or clone an existing one and try it out.  It lets you tinker.
  • Easy creation of test environments. For those of us who are developing Apple apps (either Mac or iOS), virtualization makes running different test environments a whole lot easier. I’ve heard from a lot of iOS dev shops that have thousands of OS X VMs that run Xcode for dev and test purposes.
  • If you’ve got That One App that only runs on Snow Leopard, you don’t have to have dedicated hardware for it.
  • If you upgrade something in a VM and it doesn’t go well, you can roll back to an earlier snapshot quickly and easily.
  • In a disaster recovery scenario, you can replicate VMs off-site so that you don’t lose anything.
  • High availability increases your uptime.
  • Storing a VM on external storage allows you to bring up that VM on another host (that’s running Apple hardware, of course).

 

 

  1. You can successfully run vSphere on a Mac Mini, it’s just not a supported configuration.  Here’s a recent blog post from New Relic about doing so.