Online virtual worlds are generating a lot of interest at the moment but there is also another form of virtualisation that has been creeping up the radar for the past couple of years, and it's been a pet topic of discussion amongst a group of friends. Recently, one speaker of wise words (no blog sadly, and he'll not be persuaded to start one any time soon) was talking about how a company called Softricity had some very clever technology in this space and wondered how long it would take for them to be bought by one of the large vendors… and a few days later, Microsoft announced their intention to acquire… why the interest?
What is virtualisation?
In it's simplest form, virtualisation enables you to run a second operating system (guest OS) on top of a traditional operating system (host OS). Each guest OS is created inside a 'virtual image' and can run its own set of applications and even be connected to networks independently of the host OS. The picture below is a screenshot of my Vaio TX running VirtualPC. The host OS is Windows XP, the guest OS is Windows Server 2003.
Why would you want to do that?
For starters, it enables applications that don't really like each other to be run concurrently and independently on the same hardware (assuming the hardware has sufficient processor power, memory and storage). Within the I.T. department, this can enable server consolidation, reducing overheads and increasing capacity utilisation of hardware. It can also be useful on the desktop when hardware is refreshed and the new host OS doesn't support older legacy applications. I use virtualisation software to build models and demos in an isolated environment that doesn't upset stuff I've got installed on my host OS (the image in the screenshot above is being used to design and test dashboards using SQL Server 2005, SharePoint and Excel 2007).
Virtualisation is quite a complex piece of software. For lots more techie details, Wikipedia is a good place to start and includes links to more information and the various vendors in this space. The two vendors products that I have used are VMWare and Microsoft VirtualPC and Virtual Server
Does virtualisation matter?
I think it's going to. A lot of focus in the tech world has been placed on the server-side and IT benefits from using virtualisation software. But there are also benefits from introducing virtualisation to the desktop, beyond just supporting old legacy applications. One possible scenario that has been doing the rounds is the idea of adopting the company car policy for issuing computers (desktops and/or laptops) to users.
A standard company car policy usually means that employees who require a car as part of their role are given a monthly allowance that can be spent in one of three ways: company-leased car, privately-leased car or privately-owned car. You can either keep within the allowance range or top it up with your own money if you want a car that is more expensive than your allowance. Leases typically run for 3 years (or up to a certain mileage) after which the car is replaced with a new one. You are responsible for keeping the car in a road-worthy state for travelling on company business. Most policies include a requirement that privately-owned cars must be no older than five years or below a certain mileage.
Virtualisation could enable computers to be distributed in a similar way. Users could be given an allowance for purchasing a computer or laptop. They could either choose to lease company-standard hardware or use the allowance to purchase a computer of their own choice. They could even opt to add to the allowance if they want a more expensive laptop. The allowance would be for a laptop to run for 3 years (for example)and would cover the hardware + host OS. The only requirement would be to meet a minimum hardware and OS specification required to run the virtualisation software + have a maintenance contract in place (just like car insurance). Provided the user keeps the computer legally compliant and in a road-worthy state for running the company's virtual image, they are free to do what they want on the host OS, including installing their own applications and data.
This idea has also sorts of potential. From the IT departments perspective, all business applications and data are contained within the virtual image. Their responsibility is to maintain that image (the image would be connected to the network and have the usual stuff installed, such as group policy, security, backup/restore and anti-virus software) and they don't really care about the host OS and hardware. Application testing and maintenance becomes much simpler – virtual images are far more manageable and controllable – and security settings become easier to enforce (such as encrypting data). When the hardware is due for replacement (or requires repair), the image is just copied across to new hardware. The user is required to take out at least a basic maintenance contract to cover the hardware and has the choice to extend cover to include supporting their own applications and data. They could decide to go for a more expensive machine that will also cover their home requirements, instead of having a separate home computer. They can connect all their extra devices – cameras, media devices, memory sticks, whatever – to the host OS without incurring the wrath of the IT department for installing unofficial and unsupported software. They can store their own personal data on the host OS – it is their own space, and they can do what they like with it (within reason – just like a company car). For the business as a whole, the cost of running and maintaining desktops would be significantly lower – a large portion of the IT budget is spent on keeping desktop applications running in the face of security threats, software updates and application compatibility issues. Virtualisation provides a walled-garden approach that can create a locked-down managed environment for running the business applications whilst still providing the user with the freedom of their own space on the host OS.
There are implications and issues to resolve with this approach. Starting with licensing – every computer would be running at least two operating systems. Microsoft might get all giddy and excited at the thought of doubling their licensing revenue, but I suspect companies would look to cheaper (free) alternatives if there wasn't a more attractive licensing model to support virtualisation. (A quick Google on the subject and this issue has already been documented over on ZDNet. Seems that certain versions of Windows Vista will entitle you to run an extra instance inside VirtualPC.) Running virtual software requires more hardware than just running a single host OS – so older machines will probably need to be replaced from the outset (but hecks, companies have no issue 'retiring' cars over the age of 3, why such a big deal about hardware that costs a fraction of the price of a car… OK, so there might be more computers than cars…) The guest OS is not identical in capabilities to the host OS – graphics are usually more limited, for starters. The virtual image would benefit from additional security controls, given it will still be vulnerable to brute force attacks if the hardware is stolen – some sort of mission impossible style 'this image will self destruct in 5 seconds if you don't renew your certificate…' approach could come in handy.
It's still a bit rough around the edges and warrants further analysis and discussion, but virtualisation on the desktop has all sorts of benefits for everyone – business, IT. and the end-user – a rare accomplishment for technology.