John Cowan submitted a comment to my post about switching my laptop from Linux to Windows XP. He asks, quite reasonably, why I need to install OpenOffice directly on my laptop if I do my work in VMware virtual machines. Don't I only need OpenOffice in the virtual machines? Shouldn't I keep the laptop itself free of almost everything except VMware Server?
The answer is something of an 80/20 rule. There are compromises that you have to make in running VMware on a laptop (and even on a lot of desktops). The two most obvious ones are
- available memory;
- available disk space.
My laptop has 2G RAM, and that is the maximum it supports (it's 2 years old, what can I say? This Christmas, at a large UK chain called PC World, they had £499 laptops with 4G RAM and 250G disk, both figures about double what I have now. But I don't have one of those). When I'm running both Linux and Windows in VMware virtual machines on my laptop, I'm running 3 operating systems at the same time, 2 x Windows + 1 x Linux. That's quite a squeeze. I can only assign 768M to each virtual machine, which is less that most people are used to having these days when using Windows or Linux. It's just barely enough, really, although it is enough for the most part.
Now, there are certain common services I sometimes want to run that are used by both my virtual machines. The most important is my Subversion repository, but I also sometimes run XML or relational databases. As I'm already so squeezed for memory, there is no way I can run extra virtual machines for these. I also don't want to run them within one of my existing virtual machines, because them I'm forced to run both at once. It's better to be able to run them independently, not the least because I sometimes need to bump the memory up to double (1.5G) in order to run something big, and that means one virtual machine only. The upshot is that I have to run certain common services on the host directly, there isn't really a practical alternative.
There are also some applications that run sufficiently better on the host, enough to make it worth using the host directly. Skype is a key one for me, but also Bibble Pro which I use for processing RAW photographs from my digital SLR. And why OpenOffice? The main reason is because, when I'm giving a presentation at a conference or meeting, there is always that natural tendency for technical things to fail at the worst possible moment. Adding a virtual machine into the equation is just an extra distraction that I don't need. Additionally, sometimes I might want to quickly look at an office file that someone has put on a USB memory stick. I don't want to have to fire up both a host operating system and a virtual machine operating system just to view a word processing document or a spreadsheet quickly.
I am nonetheless fairly strict about what things I do on the host operating system, and what data or files I keep on it. Any data or files on the host have to be backed up separately to my virtual machines, which is important. I don't do e-mail on my host operating system (maybe the occasional bit of webmail, nothing more than that), nor anything much else that is part of my daily work tasks. So, it's 80 for the virtual machines and 20 for the host operating system. I think that's a reasonable compromise.