January 13, 2010, 11:30 AM — What does virtualization do for developers? On a sour day, I'm likely to growl that it's "less than nothing" because virtualization only provides benefits -- security, isolation, known states, and so on -- that operating systems advertise, but don't deliver.
We actually manage dozens of virtual machines (VM) on a daily basis in our development work, though, because, for much of what we do, a VM is the right place to define a boundary, rather than at the level of the physical host. Jon Collins analyzes from a high level the VM features and practices that are likely to pay off biggest and most immediately for working programmers: test refinements, virtual desktops, replication of old generation or deployment environments, and so on.
This is a "high level" analysis in that there's no working code in sight: there's not a single specific task a practitioner can execute to yield a particular result. On the other hand, I think Collins' description is accurate, and it'll be meaningful to those with enough experience to figure out how to apply his categories to their own work. Read "Delivering and deploying software for virtualisation" (a deceptive title; it's really more about virtualization for development, rather than the other way) to help you think about how virtualization can do more for you.