Why it matters whether your software works when virtualized

March 12, 2012

It's not really a secret that I love doing test installs of machines and software in virtualized machines instead of on physical ones. It's generally a lot faster, it's certainly a lot more convenient to do this work from my quiet desk instead of in a noisy lab area or machine room, and I can often snapshot images and roll back to snapshots in order to skip doing tedious rote stages over and over again. However, every so often I run into something that doesn't work in my virtualization environment; the most recent example are a couple of Solaris 10 Java patches. When this happens I get unhappy.

Generally, if something works on a virtualized machine I can assume that it works on real hardware (modulo issues with hardware drivers). When something doesn't work virtualized, maybe it will work on real hardware and maybe it won't (one would like to think that Oracle wouldn't release patches that hang on real hardware, but I'm not quite that trusting). So why not just test it on real hardware? The problem is what happens if whatever it is actually doesn't work even on real hardware. On a virtual machine, recovery is simple; it's a snapshot rollback (if I took one). On a real machine there's often no such thing, so a failure may mean a from scratch reinstall (losing all of my work to date, or at least forcing me to recreate it). Reinstalls on real hardware are annoying in all sorts of ways and more than that, they're a waste of my limited time.

So, let me put it compactly: things working when virtualized gives sysadmins confidence that your software will work on real hardware; not working virtualized takes away some of that confidence. The more that people use virtualization, the more important this is. Yes, even if you only officially recommend or support running on real hardware.

(Even if you don't officially support it, the benefits of doing testing in virtualized environments are so great that many sysadmins will try it anyways. If you break this, they will get grumpy. If you actively sabotage working virtualized, well.)

Written on 12 March 2012.
« Why ZFS log devices aren't likely to help us
Configuration management is not documentation, at least not of intentions »

Page tools: View Source, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Mon Mar 12 20:30:54 2012
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.