Virtualization.... So there's a ton of buzz around this word, virtual this, virtual that, so what does it mean and why is there so much excitement around it? Back when I was a system administrator, the application folks would come to me and let me know they had a new application they were bringing in house and needed a system to run it on. Typically it would require a mid tier system, but the requirements were usually for peak performance. So what does that mean? Approximately 90-95% of the time the server would probably be sitting idle. As time went on, more and more of these servers kept popping up and by the time I knew it, we were out of space and the datacenter guys were telling me I was running out of power too.
So here I had multiple mid to large tier machines, mostly sitting idle, but powered on 24 hours a day soaking up power, cooling and space. The worst thing is when one of these machines would get hung in the middle of the night and no amount of swearing would unfreeze it! This was before remote control power supplies... So into the office I'd have to drive at 2AM, turn the power off, power it back on, make sure it was happy and then go home.
So what happened next? Servers kept getting faster and faster, but the departments that bought them didn't want to share them because they felt it was "their" server since they purchased it. If we did get a department to share and there was any performance issues, they instantly blamed the other applications on the server and we had to prove that it wasn't the other applications causing the problems. A very time consuming process!
Now granted, virtualization is not a new concept, if you Google it there's a timeline that shows virtualization going back to the 60's. But when it really started to gain some traction was in the early 2000's. I began hearing about this product called VMware and when I got to see it for the first time I was amazed! So how did it work? Well, you installed a program on a Windows machine and when you launched it, it would ask you what operating system you wanted to run, Windows, Linux, etc. how much space you wanted to give to this machine and than you would provide it with installation media, just like you would if you were installing it on it's own machine. After the install was complete, the "virtual" machine had it's own identity, IP address, etc. You could log into it and install programs on it completely separate from the parent machine. How cool is that?! Plus, the greatest feature of all, the reset and power off buttons!!! I would no longer need to go into work at 2AM to power off a machine!!!!
VMware has a lot of different products and what I was running was a product that installed onto a live OS. They also have products that install onto a bare machine to avoid the over head of running on another machine, but the concept is the same. You take a powerful machine, run this software that allows you to install other operating systems, share resources and administer it from a single location. So now, instead of 10 individual servers that are running idle most of the time, I can virtualize these 10, bump up the utilization on the single server and I can eliminate the power, cooling and space of 9 servers! The thing to remember is that virtualization doesn't give you extra resources. If a virtual server requires 10 gigs of memory and your parent server has 100gigs, you only have 90gigs left of memory. There are times when you can over provision, but you do need to be careful that you have enough resources for everyone to share.
So who are the major players in the virtualization market these days?
1. VMware - ESXi, Workstation
2. Citrix - XenServer
3. Microsoft - HyperV
4. RedHat - RHEV
Since I didn't receive any suggestions for topics I'm just going to keep babbling on what I think you might want to read. :-)