The first note I wrote on this topic was back in May of 2006. A recent forum inquiry asked about the merits of VMware to host MV DBMS software. I thought I’d take the opportunity to post a follow-up to the original posting with an update of how I’m using virtualization today.
In a single free VMWare server with 400MB RAM and 10GB disk allocated, I regularly run Windows XP as a guest with Universe, Unidata, D3, jBASE, and QM. Various services including UO/UO.NET, and other unmentioned third-party products are also always running in this same VM. To me it’s just another server on the network. I will soon be adding Caché, Reality, and perhaps OpenInsight. I have no issues with incompatibility or performance, and no doubt that the environment will hold up for common development. My server is a dual core Athlon 4200+ with a total of 1GB RAM, very soon adding RAM just because it’s cheap.
I’ve started 2 guests in this environment, the above server and another simple VM guest as a test client, allocating 300MB RAM to both, leaving 400MB to the server/host. I wouldn’t run that config very often because the overall performance really takes a dive, but it is nevertheless a functional environment, and beats having to buy two more PCs to contribute to global warming.
The absolute only issue I have with this environment is that the guest OS doesn’t like being moved to a different piece of hardware. My intent was to use this on my development server and then to copy the VM to my laptop when I go out for demos or remote work – no intent to use the software simultaneously in two environments. In the second system the guest detects a radically different host environment and complains. I understand the potential issues and have no complaints. The concept of virtualization is to allow us to work on whatever we want wherever we want. One of these days I expect contemporary product licensing will be discarded in favor of licensing which protects the rights of software licensors while maximizing the versatility of software for licensees.
Given that limitation, one of the freedoms I enjoy is the ability to clone a guest environment on the same server. Since both guests have the same hostname only one can be up at a time, thus respecting EULAs. I usually make the disk non-persistent in the guest/copy, bring it up, do brutal and destructive testing, then simply power down the guest to restore it to the original state. I can do this over and over to reproduce issues and test code changes. I wish upline developers in our industry employed similar techniques.
I can’t say how this all of this would work in a multi-user environment but I routinely use telnet, web services, and browser-based client interfaces to access this system, and I don’t get any indication that it wouldn’t be acceptable for production multi-user use. Just be careful to install a properly licensed OS and other software. For production use I would increase RAM on the server to 2GB and allocate a full 1GB to the guest OS.