The other day I heard that AutoDesk is throwing support for their product behind Parallels. This makes me mad. Why, you may ask...
Because it is lazy.
Pure and simple.
I've been on the phone with far too many companies' support techs who had the gall to utter the phrase 'We don't support our software when running in a Virtual Machine'. To this the most polite thing that I can say is "bollocks", and I'm not even British. In fact, being a red-meat-loving American, I usually spew forth a heartfelt "Bullshit!".
You see (for those who live outside of the fluorescent caves of IT, especially Server Rooms), in most cases is almost exactly the same as a physical machine. The host platform which supports the Virtual Machines (VM or VMs in plural) pretends to be all of the hardware that a computer needs to run. The host platform sits in between the VMs and the hardware on which it runs, and sends requests from the VMs to hardware as needed to get things done. This allows several such virtual machines to co-exist on the same piece of hardware with the host software playing traffic cop. But as far as the VM is concerned, the host is just a set of hardware, needing a set of drivers.
So, with VERY few exceptions, software vendors don't get to say that they support only specific hardware. They don't say that their apps running on Intel chips but not AMD, or that MSI motherboards are supported but not ASUS, or Kingston memory but not Crucial.
If a specific platform is required for an app, usually those vendors sell it as an appliance. I can certainly understand if an application requires very low-level access to the hardware (rare), or if they've had problems with a specific driver and so produced their own (even more rare).
If it were a performance issue (being as well-versed in virtualization as I am, I'm the first to say that there are scenarios where a VM just isn't appropriate) I could live with 'we've seen performance problems...' or 'we don't recommend that configuration'. Those would be acceptable, but trying to brush me off because of my choice of motherboard is inexcusable.
Now, in the cases in which I've called one of these unfortunate support reps, it has never once been a performance issue, nor a requirement to interface directly with hardware, such as a USB dongle. Their app or documentation was just broken.
(Quick unpaid plug: Digi makes a fantastic USB-to-Ethernet concentrator (think a USB hub, but instead of plugging into the computer's USB port, it connects to ethernet) that works well with VMware ESX VMs. My only complaint is configuring the initial IP. Yes, most places are running off of NAT'd 192.168.x.x networks, but I give out a few thousand IPs via DHCP, and don't exactly have Linksys home routers floating about the place. A manual config option would be appreciated.)
[note to Digi: I wouldn't mind making this a paid plug... Call me.]
So, in AutoDesk's case, I can see how they might want to discourage running their apps in a VM because they are huge 3D rendering and modeling apps, and performance would be sub-par compared to a dedicated box with a nice graphics card. I get it; I really do. But 'not supporting' virtualization is inexcusable. In fact, the smart money says that they do a significant amount of developmental testing on VMs.
As a final warning to software vendors, I can tell you that the large companies have noticed these answers. Geek SysAd's like I bitched and griped. And the management has remembered the word 'virtualization' from their glossy mags and recognize that it is something which they are being 'encouraged' to promote from above. And those same managers have put those two things together. And policies are being written.
If not already, then soon your Sales staff will be out on a standard wine-n-dine, and our sourcing staff will ask if you support your apps running in a virtual machine. I hope that they have a more flattering answer than choking on their highball.
I love developers. I'm rooting for you guys; I really am. I just hope that the appropriate cranial-rectal procedures occur at the appropriate levels lest ye be deprecated.