What is Virtualization, exactly?
Traditionally, when an office needed to upgrade their server, they would order additional hardware or a new machine. This would mean a new operating system, new software, and spending several hundred (or thousand) dollars to make the new machine play nice with an existing system. This process would repeat, when the need for expansion arose again.
As the server room grows, more and more machines would require more electricity, and as a result more cooling. In addition, a diverse array of hardware would likely mean disparate storage across different file systems, such as FAT, NTFS, EXT3, and so on. Complicated backup jobs would require consolidating the data to a single tape, or multiple storage devices to prepare for the worst. In many cases, the backup task can be so time consuming that many fail to complete, or even start successfully.
One of the common misconceptions is to specify new hardware beyond the current business needs to ensure longevity. Upgrading server hardware was such a daunting task, it often meant a complete re-do of server software. Often upgrades were avoided until a major revision in the software was released. I’ve been a follower of this practice for years, until I was exposed to the concept of virtualization.
With the large variety of hardware vendors on the market today, no two offerings are alike. When an operating system is installed, it assumes an identity based on the sum of hardware that is supporting it. If you change a scsi controller, a motherboard, a video card, or a network card, that identity or Hardware Abstraction Layer (HAL) may change beyond the point of system stability. Drivers can be changed, but there are chances of corruption and compromised performance.
In the face of the task of upgrading hardware on production servers without considerable downtime, the answer is to separate the hardware layer from the operating system, and allow one to change without affecting the other. In addition, by separating the hardware and operating system with a hypervisor layer, the machine can now run multiple operating systems at once through sharing. A generic virtual representation of hardware provides a CPU, RAM, Networking, and Storage in a virtual machine that provides the operating system with a common HAL that can be run on any real hardware that supports the hypervisor environment. In the case of host hardware failure, this allows the virtual machine to be restored in an exact replica on new or coexisting hardware. In addition, one can plan for a server upgrade by testing new software in a separate environment, without having to obtain budgeting for new hardware. Suddenly, server room management seems a lot less complicated, once you get past all the new buzzwords and abstract concepts.
Stay tuned for the next posting, where I will review and discuss the free virtualization offerings from VMware, VMware Server and ESXi.

