Most of us sit with a computer on our desks with an operating system like Windows XP or Vista installed. The CPU (Central Processing Unit or “brain”) of the computer handles most of the tasks you throw at it without any problem. If your computer is 2 years old or younger then most likely you have enough computing power at your disposal to do more than just send e-mail and type out a document or two. A lot of the processing power is going to waste!
Virtualisation a relatively new “buzz-word” that is surfacing today and most people – who are not some sort of computer geek – will not know or understand what it means. This article aims to explain what the concept means and what potential it might have for you.
Virtualisation is the process of running one operating system inside another. For example, you can have a perfectly normal Windows Vista operating system installed, and install Windows XP inside that operating system so that it runs in a window. The Windows Vista OS (Operating System) isn’t affected, you don’t need to reboot to switch between them, and you get all sorts of extra features for the virtual Windows, such as the ability to pause it to preserve its virtual RAM contents exactly as you left it.
The first attempts at PC virtualisation were essentially very clever software – lots of programmers worked together to create a virtual machine, complete with virtual CPU, virtual RAM and such. The operating system that was being virtualised (usually known as the “guest” to contrast it with the main operating system, known as the “host”) didn’t realize it was being virtualised at all – all the programs it ran were actually be intercepted by the software and translated on to real hardware.
Modern CPUs have built-in support for virtualisation, making virtualisation very easy to do “out-the-box” in the end the result of all this technology is that a virtualised OS in a virtual machine should be able to run at about 95% of the speed of the same OS on real hardware.
“This all sounds rather nice, but what can this do for me?” you might be thinking.
Firstly, let us look briefly at server virtualisation. A server is a large and powerful computer that provides a “service” to “clients” that are connected to it. These services might include storage space (a network drive) shared access to programs, e-mail, managing printing and so on. If this server breaks then the service that it provides is no longer available to its clients. If the server becomes old or outdated then its performance will slow down. If the server is replaced then the software running it will have to be built up and configured again – all of which takes time and resources.
Servers are expensive. With virtualisation a single large, and powerful server could replace a number of smaller machines, and running costs could be dramatically reduced. Virtualisation is hardware-independent so moving a virtual machine from one physical machine to another is easy.
With virtualisation, you can lower number of physical servers – you can reduce hardware maintenance costs because of a lower number of physical servers.
You can consolidate your servers. One physical machine can consolidate a collection of services and functions so physical space can be utilized more efficiently in places like your network room.
By having each application within its own “virtual server” you can prevent one application from impacting another application when upgrades or changes are made.
You can develop a standard virtual server build that can be easily duplicated which will speed up server deployment.
You can deploy multiple operating system technologies on a single hardware platform (i.e. Windows Server 2003, Linux, Windows 2000, etc).
Secondly Software virtualisation, also known as Application virtualisation is an broad term that describes software that allows portability, manageability and compatibility of applications by encapsulating them from the underlying operating system on which they are executed.
A fully virtualized application is not installed in the traditional sense, although it is still executed as if it is. The application is fooled into believing that it is directly interfacing with the original operating system and all the resources managed by it, when in reality it is not. Application virtualization differs from operating system virtualization in that in the latter case, the whole operating system is virtualized rather than only specific applications.
Firstly, virtualising an application means that you can switch it on and off as needed. It allows you to customise your operating environment and run only the software or applications that you need.
We use virtualisation in GERGA extensively. Software suites like Microsoft Office 2003 and its modern equivalent Office 2007 can run on the same physical workstation, independent of each other. If students need to do a project using Excel 2007 then they can switch on the Office 2007 application suite as required. Often compatibility is a problem – older programs do not work with newer versions of applications. Virtualisation can address this problem. Virtualise the older program and let it interface with the compatible application…
Virtualisation can also reduce the cost of software licensing. Instead of buying a software licence for each and every physical computer you have, fewer licenses are purchased and then the software is virtualised and run on demand. The logic behind this is that if you have 100 computers, not all the computers might need to run an application at one time. Virtualising the application and only having it run concurrently on a few workstations at one time means a huge saving in licensing. In most cases the legal requirements of the software license are satisfied.
I have discussed only a couple of benefits that virtualisation might provide for a large institution. So far I have only scratched the surface of how the Faculty of Health Sciences can benefit from this exciting technology.
David Wiles