I have mentioned virtualization in the past and have given overviews of how it can be beneficial to business. However what I noticed that when I try to explain it to customers even the ones that are pretty tech savvy are usually pretty confused as to how it works exactly, so I will try to break it down in terms that everyone should be able to understand.
So lets start off by saying this. Virtualization is a technology that lets an operating system run on top of another operating system, think of it like this, if you are using windows on your computer, that is what you are stuck with, you can’t run any Linux programs. In fact you can’t run some older windows programs either, because of the way the new Windows Operating Systems are designed. Your only option is to either have a computer for every operating system and you want to use or create a multi-boot system that would allow you to boot into a different operating system, while this is fine it is very inconvenient because you have to stop working on what you are working on to reboot your machine and boot into a new OS. What happens when you need to share information between two OSs? Well this is where having more than one computer will work, but if you use 3 or 4 OSs for different applications then this will be very tedious. This is where virtualization comes in.
With virtualization provided that the computer that you are running your virtual machines on is powerful enough in terms of processing power, hard drive space, and memory, you can run all 4 of those operating systems at the same time in addition to the main OS that you are using for your everyday use.
Now virtualization comes in a couple of flavors, the first type installs on your computer just like a regular operating system and you operate it just like any other application, the second type is called a bare-metal application which is what it sounds like. Instead of running Windows or Linux you install a small program( which happens to be Linux based) which provides a platform that allows the virtual machine to communicate with your computers hardware.
Now that we have that part covered I should take the time now to mention that the first type that i mentioned also comes in two sub flavors, server virtualization and desktop virtualization. The difference is that server virtualization is designed to work in server environments on and is usually managed via a web interface. Desktop virtualization is used on a desktop computer and is used for things like testing out a new version of an OS or for the uses I mentioned like for using applications that are not compatible with the OS that you are currently using.
Here are just a few common virtualization applications (hypervisors)
3. VmWare ESX
5. Xen Server
6. Virtual PC
7. Virtual Box
There are some small scale open source hypervisors out there that aren’t on the list, but a quick search on google will give some more insight as to the variety available a large number of them are free.
Well that’s it. It is really just that simple to understand! The complexity of virtualization is in how it is utilized and when things like SANs and redundancy are put into the mix. Come back again soon I at some point I will continue this topic and by all means feel free to post comments or questions.