Like most of us, his path to virtualization followed a use-it-in-lab-and-Q/A to gosh-this-makes-sense-for-production path. He started P2V'ing production WinNT servers when ESX 2.5 hit the streets, and now runs 200-odd Win2K and Win2K3 VMs on 20 physical hosts. No local data in the VMs, everything pulled from a big multi-LUN SAN to ease VMotioning. All of his management tools are VMware products.
Most of his users run old-school thin clients; they spend their work day on a bundle of in-house apps within XP terminal sessions, hosted off non-virt Citrix servers. Most of those apps are running on VMs. This setup lets Tanenbaum's company build and tear down branch offices without a local IT support presence. Maintenance and help desk functions are straightforward; server VMotion rules keep the data center spinning 24-by-7, while end-user service involves plugging in a new terminal. Next up for Tanenbaum? He's looking to Vmotion across data centers as a frugal approach for business continuity planning.
His company could be a poster-child for EMC.
And no, he has no interest in Vista desktops for his users.
So what's bugging him? Licensing.
In Mitch's own words: ... if the particular product is licensed by processor and you have a 4-processor host and the vm is limited to one processor, how many processors do you have to license that product for? The answer is that it depends on the vendor -- maybe one, maybe four. The challenge is that you have to understand each vendor's licensing rules -- Microsoft's are different than Oracle's... We have chosen not to virtualize certain applications due to the huge increase in cost... if you are running MS SQL Server 2005 Enterprise, licensed on a per-processor basis, Microsoft says that you have to license all 10 machines if those machines could at some time run the software. Even though only one machine at a time will run the software. Since the Microsoft license agreement only allows you to move software one time in 90 days, that would not deal with VMotion.
While Microsoft's licensing has been a bit more liberal since 2006, ...if you run the software in virtual OS environments, you need a license for each virtual processor used by those virtual OS environments on a particular server -- whether the total number of virtual processors is lesser or greater than the number of physical processors in that server, it is, as Mitch notes, a major hassle once VMotioning gets in the mix.
Are the software police going to bust down your door? Probably not. Are you in compliance to the letter of your contracts? I know many production shops that aren't as diligent as Tanenbaum's.
Companies like Configuresoft are stepping in to assist larger shops with this problem. Configuresoft ECM tackles compliance issues for virtualized environments, from licensing to SOX. Other products addressing licensing include startups like Black Duck's Protex and established enterprise-level players addressing license management for physical and virt servers. How well these products actually function in dynamic host-hopping environments is still shaking out.
The big question remains: should everyone need to implement a third-party license counter, or should our industry take a look at licensing as it applies to virtualized platforms? Any other alternatives? I don't think we should hand the responsibility back to virt platform vendors.
Since no global answer is on the horizon, Tanenbaum has chosen to meet with all his SW vendors (from Microsoft down to small, one-off app shops) on a case-by-case basis to address his concerns and vet his compliance setup. He's proactive, well organized, and has a healthy respect of the audit.I interviewed a VM-friendly CTO last week. His biggest issue? Not management, virt sprawl, or security concerns. His challenge is staying in compliance with OS and application licenses in a complex VMotion shop. Anyone else?