Fashions and fads seem to dog the world of technology and computing in particular. One of the key trends that has continued to gain popularity is virtualisation. To date, virtualisation has been the domain of the big corporate IT organisations or the geeks and tech-heads amongst us; more and more it's becoming available and meaningful to the home desktop user.
"So what is virtualisation and why should I care?" I here you cry. Virtualisation (at least in the context of this discussion) refers to the technology that allows us to divide a single hardware platform (a PC or a server called the host) into a number of separate virtual machines (or guests) running their own operating systems or multiple instances of the same operating system. Each virtual machine looks, feels and smells like a complete system equipped with it's own devices, disk space , RAM etc. Each machine is isolated from the others and operates as independently as any stand alone box.
OK, so this is all very cool, if slightly geeky, what's the point? Let's start at the high end and work down to the desktop. If you look at most large datacentres they contain vast stocks of servers performing an array of compute tasks ranging from large database management, massive parallel number crunching, desktop hosting, anything and everything. If you consider the finance industry, retail banks, investment banks, insurance companies and the like, their entire operation is essentially contained in and defined by their datacentres. Now these data centres are vast, and I mean really vast. They normally draw so much power they need to be built near national grid substations. It's the size, power and cooling requirements of these facilities that has driven interest in virtualisation. Consider an average corporate data centre (there are thousands of these globally) each datacentre contains hundreds, often thousands of individual servers. Each server has to be purchased, it occupies space, draws power, requires cooling, cabling software installation and the list goes on. Each individual box attracts a long laundy list of costs. When you consider just how many servers a data centre might contain, you are talking about a great deal of cost.
In any datacentre containing so much equipment and drawing so much power, you have to hope it is efficiently utilised and doing something useful all the time. Unfortunatley this is not the case. Take CPU utilisation as a good inidicator of the extent to which a machine is gainfully employed, it's not uncommon to find average CPU utilisation levels at 10% or less! This means all that expensive kit drawing all that valuable power and requiring all that power intensive cooling is bone idle 90% of the time!!! What if some of that idle time could be usefully employed? This is where virtualisation comes in. It allows us to make a single server look like many servers all complete, all able to perform completely independent tasks yet only consume the power, space and cooling of a single machine. Virtualisation ratios (the number of virtual machines contained within a single host) are growing all the time. Right now 25:1 is not uncommon (25 VMs on a single host) In this case the average CPU utilisation is now approaching 60%, a much better figure. With these kinds of VM ratios, a data centre can deal with capacity growth without increasing it's real estate, hardware, power or cooling requirements, this is a God send!
Virtualisation provides a hosts of benefits beyond the obvious cost efficiencies. Physical servers take time and effort to install. They have to be purchased, delivery from the server supplier takes time. Someone has to physically transport the box to its position in the datacentre, power it, cable it to networking gear, install it's operating system, configure it's applications and the manage it during the remainder of it's life. In a Virtualised data centre, life is much simpler. Virtual machines can be created very easily, in fact just a few mouse clicks are all that's required to create a brand new virtual PC or server. VMs can be created from pre configured templates, in large data centres this makes the process of responding to demands for more processing capacity very simple indeed. Forget all that horseing around with boxes and cables, forget the hours of installation. With just a few mouse clicks and in just a few seconds a request for capacity is turned into a fully functioning, fully equipped virtual machine ready for work. So this sounds like a major bonus for industrial scale datacentres, how can it help at home? Well the list of applications is long and growing.
Trying out new operating systems
New operating system releases abound. Each week there seems to be a new version of this or that. If you are a Windows user and considering a move to something else, perhaps Linux or even Windows 7, wouldn't it be great if you could try it first without having to totally disrupt your existing system? Well you can, nearly all OSs can run perfectly happily in Virtual machines. The one exception is OS X from Apple. The issue is not technical, it's perfectly possible to get OS X running in a VM, the issue is commercial and legal. OS X is only licensed to run on designated Apple Hardware or, within a VM running on an OS X host and on Apple hardware. One day Apple will wake up and realise their value is in their software and not their hardware. In most cases, their hardware is overpriced and made from commonly available components secreted in a shiny box, but that's the subject of a future post.
Testing new software
Virtual machines are completely isolated from other virtual machines and the host system they reside upon. You can do the most gruesome things to a virtual machine and it will have no impact upon anything else. You can take a snapshot of a virtual machine at any point in time, a bit like freezing the machine's current state so you can return to it later if the need arises. It's a great way to test the new software you may have downloaded or acquired from a friend before you commit to deploying it on your valuable system. If the new software causes your system to crash and burn for any reason, no problem, just return to the snapshot and start again. If that software introduces something nasty under the hood, no problem. only the VM will be affected, the host system is completely protected. Just delete the VM and return the USB key to your friend with a knowing shake of the head!
Secure purchases and on line banking
We all know about the perils of malware, trojans, trackers, worms etc. These are the thing of nightmares, surreptitiously moving into your home system without an invite. Once there they silently and quietly lie in wait for the poor unsuspecting user to visit e-bay or pay pal or any other site where a username and password would be a valuable steal. Now we all know keeping virus protection software up to date, running regular adware and spyware scans represents the path to health and computing fitness. We also know that the means of infection are evolving faster than the means of detection so, what to do? Why not establish a virtual machine dedicated to banking and administering important financial sites. Only ever use this machine for accessing your bank account or pay pal. If you want to surf, download music, movies or software, use your test virtual machine. You can keep these two computing activities totally separate and secure.
Supporting inexperienced PC users
Maybe you have a single desktop PC and a number of family users. They may not be quite as careful with your precious system as you would wish them to be. The kids will download all sorts of nefarious stuff whilst your partner may have that magical quality that causes systems to roll over as soon as they come into contact with the keyboard. Why not give everyone their own virtual machine? It doesn't matter what they do or how hard they try, if they screw it up, you can get them back up and running in no time with no threat to anyone else. alternatively, Like me, you may support friends and family's PC systems, you will have been called upon at all times of the day and night to correct a system that, for all the world, has had its file system savaged by a rabid dog. For those users for whom this is a regular occurrence, why not give them a virtual machine to use instead of the host system. What ever they conspire to do, you will always be able to gain access to the host and return them to a working state in no time flat.
Migrating to Linux but maintaining access to a one or two windows applications
Whilst more and more people are moving to alternate operating systems, there are certain applications that remain stubbornly bound to the Windows or OS X operating system. In this case, why not migrate to to that new shiny OS but maintain your access to those key applications by creating a dedicated Windows VM for them. This doesn't just apply to products like Photoshop, Premier Pro and the like, more and more virtualisation solutions enable playing of graphically intensive games requiring sophisticated graphics and 3D acceleration. The latest versions of KVM under Linux support the allocation of entire PCI devices to a VM so it is possible to dedicate a graphics card or any other hardware for that matter.
More and more virtualisation is becoming a mainstream tool for use by the home user, it has a host of uses and benefits and I would encourage anyone to take a look and give it a try. there are many different solutions out there, VMWare has been the most prominent but the freely available open source variants are just as useful and easy to use for the home user. My personal favourite at the moment is Virtualbox. Virtualbox is available for all the major host operating systems, it allows Windows, Linux and even OS X users to create and manage those incredibly useful virtual machines in a very simple, reliable package. Give it a try, you'll be pleased you did.
In a future post I'll cover off creating and using VMs so stay tuned...
In any datacentre containing so much equipment and drawing so much power, you have to hope it is efficiently utilised and doing something useful all the time. Unfortunatley this is not the case. Take CPU utilisation as a good inidicator of the extent to which a machine is gainfully employed, it's not uncommon to find average CPU utilisation levels at 10% or less! This means all that expensive kit drawing all that valuable power and requiring all that power intensive cooling is bone idle 90% of the time!!! What if some of that idle time could be usefully employed? This is where virtualisation comes in. It allows us to make a single server look like many servers all complete, all able to perform completely independent tasks yet only consume the power, space and cooling of a single machine. Virtualisation ratios (the number of virtual machines contained within a single host) are growing all the time. Right now 25:1 is not uncommon (25 VMs on a single host) In this case the average CPU utilisation is now approaching 60%, a much better figure. With these kinds of VM ratios, a data centre can deal with capacity growth without increasing it's real estate, hardware, power or cooling requirements, this is a God send!
Virtualisation provides a hosts of benefits beyond the obvious cost efficiencies. Physical servers take time and effort to install. They have to be purchased, delivery from the server supplier takes time. Someone has to physically transport the box to its position in the datacentre, power it, cable it to networking gear, install it's operating system, configure it's applications and the manage it during the remainder of it's life. In a Virtualised data centre, life is much simpler. Virtual machines can be created very easily, in fact just a few mouse clicks are all that's required to create a brand new virtual PC or server. VMs can be created from pre configured templates, in large data centres this makes the process of responding to demands for more processing capacity very simple indeed. Forget all that horseing around with boxes and cables, forget the hours of installation. With just a few mouse clicks and in just a few seconds a request for capacity is turned into a fully functioning, fully equipped virtual machine ready for work. So this sounds like a major bonus for industrial scale datacentres, how can it help at home? Well the list of applications is long and growing.
Trying out new operating systems
New operating system releases abound. Each week there seems to be a new version of this or that. If you are a Windows user and considering a move to something else, perhaps Linux or even Windows 7, wouldn't it be great if you could try it first without having to totally disrupt your existing system? Well you can, nearly all OSs can run perfectly happily in Virtual machines. The one exception is OS X from Apple. The issue is not technical, it's perfectly possible to get OS X running in a VM, the issue is commercial and legal. OS X is only licensed to run on designated Apple Hardware or, within a VM running on an OS X host and on Apple hardware. One day Apple will wake up and realise their value is in their software and not their hardware. In most cases, their hardware is overpriced and made from commonly available components secreted in a shiny box, but that's the subject of a future post.
Testing new software
Virtual machines are completely isolated from other virtual machines and the host system they reside upon. You can do the most gruesome things to a virtual machine and it will have no impact upon anything else. You can take a snapshot of a virtual machine at any point in time, a bit like freezing the machine's current state so you can return to it later if the need arises. It's a great way to test the new software you may have downloaded or acquired from a friend before you commit to deploying it on your valuable system. If the new software causes your system to crash and burn for any reason, no problem, just return to the snapshot and start again. If that software introduces something nasty under the hood, no problem. only the VM will be affected, the host system is completely protected. Just delete the VM and return the USB key to your friend with a knowing shake of the head!
Secure purchases and on line banking
We all know about the perils of malware, trojans, trackers, worms etc. These are the thing of nightmares, surreptitiously moving into your home system without an invite. Once there they silently and quietly lie in wait for the poor unsuspecting user to visit e-bay or pay pal or any other site where a username and password would be a valuable steal. Now we all know keeping virus protection software up to date, running regular adware and spyware scans represents the path to health and computing fitness. We also know that the means of infection are evolving faster than the means of detection so, what to do? Why not establish a virtual machine dedicated to banking and administering important financial sites. Only ever use this machine for accessing your bank account or pay pal. If you want to surf, download music, movies or software, use your test virtual machine. You can keep these two computing activities totally separate and secure.
Supporting inexperienced PC users
Maybe you have a single desktop PC and a number of family users. They may not be quite as careful with your precious system as you would wish them to be. The kids will download all sorts of nefarious stuff whilst your partner may have that magical quality that causes systems to roll over as soon as they come into contact with the keyboard. Why not give everyone their own virtual machine? It doesn't matter what they do or how hard they try, if they screw it up, you can get them back up and running in no time with no threat to anyone else. alternatively, Like me, you may support friends and family's PC systems, you will have been called upon at all times of the day and night to correct a system that, for all the world, has had its file system savaged by a rabid dog. For those users for whom this is a regular occurrence, why not give them a virtual machine to use instead of the host system. What ever they conspire to do, you will always be able to gain access to the host and return them to a working state in no time flat.
Migrating to Linux but maintaining access to a one or two windows applications
Whilst more and more people are moving to alternate operating systems, there are certain applications that remain stubbornly bound to the Windows or OS X operating system. In this case, why not migrate to to that new shiny OS but maintain your access to those key applications by creating a dedicated Windows VM for them. This doesn't just apply to products like Photoshop, Premier Pro and the like, more and more virtualisation solutions enable playing of graphically intensive games requiring sophisticated graphics and 3D acceleration. The latest versions of KVM under Linux support the allocation of entire PCI devices to a VM so it is possible to dedicate a graphics card or any other hardware for that matter.
More and more virtualisation is becoming a mainstream tool for use by the home user, it has a host of uses and benefits and I would encourage anyone to take a look and give it a try. there are many different solutions out there, VMWare has been the most prominent but the freely available open source variants are just as useful and easy to use for the home user. My personal favourite at the moment is Virtualbox. Virtualbox is available for all the major host operating systems, it allows Windows, Linux and even OS X users to create and manage those incredibly useful virtual machines in a very simple, reliable package. Give it a try, you'll be pleased you did.
In a future post I'll cover off creating and using VMs so stay tuned...
I use VMware Fusion regularly on my Mac for certain Windows softare (to run Office 2007 under XP, since I had it already, rather than buy Office 2008 for Mac, and also to run a piece of writing software called Liquid Story Binder XE), and also for testing other OS's, to stay sharp.
ReplyDeleteLast year, I also ran a little test "for fun" with my work computer. I made an image of the XP install with VMware Converter, and then ran it on Ubuntu both with VMware Player and Virtualbox - I wanted to see how well it would work, as we're stuck with Exchange at work (of course) and yet I prefer Ubuntu to XP.
Outlook worked perfectly, as expected, though now it wouldn't matter as Evolution supports Exchange :)
Hello Ian,
ReplyDeleteI caught the ubuntu bug in Jan and ended up using a wubi on vista a rEFit on the wife mac to try end end our lack of sync in work.
Eventually we had to abandon ship due to hardware issues, had to abandon ship.
I really like VirtualBox and would like to set up LAMP for Joomla but the sourcefore ubuntu server will not accept some kind of security update.
Yesterday I tried installing LAMP on a Centos but could not get that going either.
Do you have any ideas about running Joomla in a VirtualBox image?