This story is a couple of years old, but sadly it’s still valid. A very specialized application that we run, requires a SQL Server Express instance, a proxy/licensing server and client installation with license files to work. This application isn’t very advanced, nor very resource intensive so by nature it’s prime for running in a virtualized environment. None of the application developers customers had ever attempted setting it up in a virtualized environment, and so we offered to be a pilot customer and test it live in our environment. The testing confirmed what we thought, it worked perfectly when virtualized! We were happy, and so were the developers. At least, that’s what we thought.
In fact, what happened next is one of the more bizarre fall outs I’ve personally seen when it comes to implementing a “virtualize first” strategy.
When we got the final version of the software, out of the testing phase, I got about my business of installing and configuring it. All was fine, until I got to the part where I was supposed to install the proxy/licensing service. It turns out that the application developers had put checks in place to prevent installation on virtual machines!
After we tested and verified the solution in our environment, the developer turned around and blocked us from implementing it as we wished. In fact, we still run this service on one of the few physical servers we still have in place in our data center. If it were up to me, I would have kicked the application right out of our environment, but sadly core parts of our business relies on this application and we are stuck with it.
The developers reasoning for doing this was that it was way to easy to duplicate the proxy/licensing service in a virtual environment, and by doing that we could potentially bypass the concurrent user license model they had put in place. Their checks are based on a hardware id generated by the physical hardware thus it could potentially be the same if we duplicated the VMs. They could of course work around that, by using the server DNS name as one of the hardware id checks or even the NIC MAC address, but sadly they opted to completely block the installation and operation of that particular part of their infrastructure if you run virtualized.
Bad call? Very much so, and I have made this very clear to them to no avail.
So, perhaps Dilbert is right? Was virtualization indeed created by pirates? I would rather be a Ninja than a Pirate any day.