Welcome to IT Industry Trends, the new virtualization blog from Symantec. We’ve launched this blog to give us a place to talk about all aspects of virtualization, cloud computing and more, with information for those of all levels of knowledge and expertise. Before we get started, though, it never hurts to take a look back at how virtualization started, what it is and why people are realising that it’s now a key part of any enterprise IT strategy.
What is Virtualization?
Very basically, virtualization is the creation of one or more emulated computers on one single physical computer. It is referred to as emulated because it is not running directly off of the computer’s hardware, but on a virtual recreation of this hardware - in other words, software pretending to be hardware. This means that one computer can split up its real physical resources (RAM, processing power, etc.), and simulate multiple computers instead. Each of these has a fraction of the resources of the original machine. For all intents and purposes this computer, the software which runs on it, and all other computers on the network (including other emulated computers) will think that it is a completely separate machine. It is for this reason that these emulated computers are known as ‘virtual machines’. This allows several operating systems, installed on these virtual machines, to run from the same physical hardware. But they will not even detect that they are part of a larger machine. Because they are not running direct from the hardware, an operating system which runs in a virtual machine is referred to as a guest operating system. So how does this actually work? These multiple virtual machines are managed by another piece of software called a ‘hypervisor’. You may also see a hypervisor referred to as a virtual machine monitor (VMM).
The first thing to understand is that there are two types of virtualization: hardware virtualization and software virtualization. In hardware virtualization, the hypervisor creates a ‘layer’ between the hardware and the virtual machines. This type of hypervisor is called a bare-metal - or Type 1 - hypervisor. This software then manages the many operating systems which are running on the virtual machines, in much the same way as a manager in a company can help to run the overall activities of several departments. If this were not there, then there would be conflict between the various operating systems. Specifically, this best describes a type of hardware virtualization which is known as full virtualization. The other two types - partial virtualization and paravirtualization - will not be discussed here. Suffice it to say that both have certain advantages over full virtualization but also make it more difficult to run guest operating systems without some modification.
Software virtualization, on the other hand, is when you run a virtual machine within a different operating system. To give an example, say you were running Windows 7. You then download and install a Type 2 hypervisor, such as VirtualBox, which allows you to run another operating system - Ubuntu Linux or Windows XP, for example - while you are still inside Windows 7. In this example, Windows 7 is acting as the host operating system, with a guest operating system running within the virtual machine. So, the guest operating system (Ubuntu Linux or Windows XP in this example) is running inside a virtual machine, which runs on top of the hypervisor (VirtualBox), which is installed on a host operating system (Windows 7). For more information on how to set up a virtual machine using VirtualBox, read this example.
Desktop virtualization is very similar to this. The main difference is that the virtual operating system is running on a central machine - this is also known as a virtual desktop infrastructure (VDI). Your computer would access an operating system and all the applications that it runs from a central server, which is running lots of virtual machines, each running their own operating system with a unique, personalised configuration. In this case your computer, and all other computers that access the main server, are known as clients or client computers. Desktop virtualization means that client computers can be very simple machines with relatively few resources, as they do not need to run the various applications that they use - these applications run on the central server. This means that multiple operating systems can be maintained much more simply, as one update can be applied to many different virtual machines at once. Some types of desktop virtualization are slightly different and do actually store some of the information on the client computer. This is done to allow the operating system to run by itself if it needs to, without the need for a network or internet connection. They store a version of the operation system known as an image. This needs to be reconnected to the server in order to be updated, and requires a client computer with greater resources than would be required for ordinary desktop virtualization.
Application virtualization is a third form of software virtualization. This allows a single application to run in a contained virtual machine. So the virtualized application will act as if it is a native application (that is, running on the original operating system). As it is actually running in a virtual machine, this means that the application is portable - it can easily be transferred to another machine. This also enables you to run applications outside of their intended operating systems, meaning that you could, for example, run a Windows programme on a Linux machine, or a Mac OS X machine, as long as they support the virtual machine. These are only a few types of software virtualization. Some others, such as OpenVZ, allow software virtualization which is less demanding on the host operating system, but only allow you to virtualize the same type of operating system as the host. For example, OpenVZ can only be installed on a Linux host, and so will only allow you to run a Linux guest operating system.
What are the Benefits of Virtualization?
- Virtualization allows hardware to operate more efficiently. Ordinarily, a dedicated machine will only be using around 10% of its capacity
- Reduce the amount of administration needed. Virtualization allows many computers to be managed in a single location, where previously they would each have been running from different physical computers
- Virtualization is a cheaper way of operating. Consolidation of many computers into one means that less storage space is needed. On top of this you can reduce the amount of hardware that you buy - all you need to run more computers are additional licences (and not even these for open source operating systems). Less physical machines also means less energy draw on power and cooling systems
- Flexibility - it is not only regular operating systems and applications which can run on a virtual machine, but servers too. All of this allows administrators to offer a large amount of choice to users. On a cloud scale, the huge amount of available resources may be allocated as and when they are needed, giving businesses fantastic opportunities for cheap upscaling. This means that increases in capacity can match growth, rather than purchasing a set amount of hardware capacity and hoping that it will not be too much or too little for future needs
- Each OS runs separately from the others and is entirely self-contained. This means that virtualization is reliable and safe. One OS may be rebooted without the need to do the same to every other instance which is running from the same hardware
As a final note, it’s always worth mentioning that there are some legal issues surrounding both software and hardware virtualization, and it is important to research these before attempting to create a virtual machine. For example, Apple currently only allows its operating systems to be installed on Apple hardware, and with additional licenses for each version. With OS X Lion this may change a little, although Apple hardware will still be a basic requirement. What have been your experiences with virtualization? Are you a seasoned pro or only just starting to explore how virtualization can benefit you? If you have any questions about virtualization, head over to our portal or leave us a comment below.