Virtualisation PrimerPart 1: At MAN Consulting our consultants have been working with Virtualisation Technologies since 1987 Virtualisation however is now becoming hot news as the technologies are becoming more accepted. As with all new “Hot Technologies” lots of speculation and benefits are touted as many companies push to adopt the technology. Virtualisation is a concept which although relatively simple in theory is often misunderstood. This paper aims to cut through the speculation and give a primer on the benefits of virtualisation.
What is Virtualisation? Virtualisation is, at the simple level the separation of a service from its delivery. Unfortunately this description though accurate is not very descriptive or understandable. It is in many ways simpler to illustrate by example. Perhaps the most widely known virtualiation is virtual memory where a computer will use disk space as an extension to memory. The important concept is that the hardware services (memory and disk) are separated from the delivery.  | Machine Virtualisation is the technology where a whole computer is separated from the underlying hardware. In the example to the right we have shown the principle resources (processor, networking, disk storage and memory) but a Virtual Machine also contains the 'linking' parts. In a traditional machine (Illustration 1), the architecture 'layer' contains the physical hardware upon which is run an Operating System such as Windows XP, Vista, Linux or OS-X. The application layer runs on top of the operating system and by implication are tied to that operating system. This is where your programs (applications) run. | | 
Why use Virtual Machines? At first glance it might seem more convenient to have all of our programs running on the same server on the same operating system however this is not always possible because programs become tied to a OS or specific version of that operating system. In a server environment this is even more pronounced. However, in many cases it is advantageous to provide a separation of different applications either because they are incompatible, compete for system resources or different version of the same software need to be run simultaneously. Again this is often simpler to demonstrate than to describe formally. As this is an introductory article we will use examples in a desktop environment however Virtualisation is usually more applicable in Server environments. We might have a old but useful program which has been discontinued. This program runs in Windows 95 but because of the ties to the operating system will not run in later versions of Windows. Using a Virtual machine this program can be run in a “Virtual Windows 95” from a Machine running XP as the host. Another example might be to access data which is 'locked' into applications. We might have an old database which contains valuable data but is incompatible with our current operating system. This program can be run in a virtual machine and the data extracted to be imported into an equivalent program on the new operating system. In some cases virtualisation can also provide a way to use programs from a completely different type of computer. Many Apple users for instance have old Windows software which they may want to run occasionally or extract data from. Again, this can be achieved with a virtual machine. The use of Virtual Machines on the desktop is however minor compared to a server environment. | In the Virtual machine (Illustration 2) the 'real' hardware exists at the bottom layer and a 'host operating system' runs on top of this. However the virtualisation software then provides and extra layer. This provides a 'virtual' hardware layer which provides a layer where a 'Guest Operating System' can be run. This guest operating system has no fixed ties in terms of the real hardware with the Host OS nor the other Guest OS's on the physical machine. To put this simply you can run several different operating systems or versions of them all simultaneously on the same physical hardware. Benefits of Virtualisation Virtualisation offers many benefits to both IT administrators and the end-users. Among these are: Portability: A virtual machine can be moved from one physical server to another both safely and quickly. The new server need not be identical to the old server. In contrast with physical machines the drivers are dependent upon the underlying hardware the virtual machine drivers are based on drivers for the virtual interface. Even moving a OS install from two servers of the same make and model can result in a Windows “blue screen” due to small differences in the hardware even within the same series. Portability is a key component of Virtualisation since it enables many of the benefits below. More efficient use of resources: In most organisations capacity planning means that machines need to be over specified to allow for both growth of data, increased users and more power hungry applications. For much if the life-cycle of the server much of this over-specification can go unused hence a real cost can be attributed to these unused resources. | In most cases but especially in those with high uptime requirements, the server needs to be over specified because upgrading the server will result in significant downtime, additionally exchanging the server for a newer model will also require downtime. Because the virtual machines are portable from server to server less over-specification needs to occur. A single well specified server can run several virtual machines and as more capacity is needed these virtual machines can be offloaded onto a new server which can be purchased as needed. This allows a far better realisation of the hardware investment.... Running costs: As multiple machines are hosted on the same server, this reduces power requirements and space which needs to be set aside to house the servers. Running costs are also lower due to the need for less UPS's, cooling and maintenance time. Support Costs: Virtual machines are much simpler to support remotely. Staff overhead is reduced by having several virtual servers running on the same bare metal hardware. Adding capacity etc. is also more efficient, as storage, CPU or memory is added this benefits all the virtual machines on the server and reduces staff time. If due to growth, a virtual server itself requires more resources such as CPU or memory this can be simply allocated to that virtual machine from the resources on the physical server. Even when a physical server is upgraded the virtual servers can be moved onto another physical server with spare capacity thus reducing downtime to a minimum. An additional aspect is that Server Manufacturer Support plans can be purchased per physical server providing an extra level of insurance but at a fraction of the cost of purchasing the packs per conventional server. Fault isolation: An application error, operating system crash, or user error in one virtual machine will not affect the use of other virtual machines on the same system. Where fault do occur a complete duplicate virtual server can be realised very quickly. Rapid provisioning: Because a virtual machine's disk storage is usually represented as files or logical volumes, standard storage management techniques such as file copy or volume cloning can be used to create new virtual machines rapidly, rather than requiring real "bare metal" installation of operating systems and applications, as non-virtual use of separate physical servers would require. This can cut the time to set up a new system (including hardware acquisition and racking, software installation and configuration) from weeks to minutes.
Our Next Virtualisation Article will focus on Server Portability and how it can be used to your advantage. Download a PDF copy of this paper here. |