Virtualize and grow rich
October 28th, 2008 by Chuck Sharp
The concept of virtualization is a fun one to think about. Virtualization, at a really general level, happens when one part of a computer system is hidden or separated from a another one. One place we can see this happening for real right now is in the virtual machine (VM) arena. If you’ve never seen a VM, it’s a piece of software, that pretends to be a computer itself. In this VM, you can install an operating system (like windows), otherwise use it like it was a normal computer. Using programs like VMware or MS Virtual PC, you can open a window on your PC that looks like a computer screen, and you can interact with the Windows desktop like it’s any other computer. You get surf the internet, install programs, configure application services (web server, email, …), etc. It has a virtual hard drive to store data and programs, and these virtual drives are really just files on the host PC. You can actually move and copy these VMs from PC to PC and back up the entire VMs onto DVD.
There are a million uses for virtual machines. You can run multiple virtual servers on a single real server so that the hardware is being used most optimally. Using VMware, it’s even possible to take a running VM and move it from one host (real underlying computer) to another, while it’s running, and no one using the VM would ever know! For example, if I had two real (host) computers running VMs, I might have a VM or two or twenty running on one host. If I needed to turn off the real computer, it would turn off those twenty virtual machines. Instant data center power failure, or so it would seem. But this technology lets us move those running VMs to the other host while they’re still running. You might compare it to being able to change a tire while the car is driving down the freeway.
That’s the virtual machine. However, virtualization is a general concept that’s being applied across the technology board. There are virtual disks, networks, disk volumes, applications, PCs, data centers, databases, and probably other things as well. The idea of abstraction, or separating and hiding one thing from another is applicable to all of these things. Virtualizing (sure, that can be a word) can be used in order to achieve things that could not be before, like separating the system from the hardware.
So, why do people care about virtual machines and products like VMWare? First, it lowers costs, almost instantly. When I can take ten servers, convert them into virtual machines, and run those on one good server, I’ve just saved thousands of dollars per year in hardware support and energy costs. Which brings up the second point, it’s green. Obviously saving natural resources is a good and proper thing to do. The energy bills in data centers are becoming rather unwieldy, due to the high number of computer systems packed into a very dense space. Consolidation kills two birds with one stone. The third point is that VMs create flexibility in the data center that was not possible until now. One can give a running VM more resources to operate while it’s running. It’s possible to move a VM from one real host to another while its running as I mentioned before. Creation and destruction and inventory of VMs become very quick with the management software that comes with VMware.
The reason why virtualization matters in general is truly the flexibility. Virtual machines just happened to have the benefits of consolidation - cost savings. But the real power behind all virtualization tehcnologies is that it gives people flexibility to change and manage all of these information system layers in safer, mor complex, and innovative ways. When I can change a database structure without breaking the application that uses it, or add a new disk to a computer and just resize a volume to use that space, computing becomes easier, and therefore lets IT departments tackle harder things.
A metaphorical example of virtualization comes from the military world. In very large battles, it may not be possible for the general army commander to manage every detail of the battle. The commander deals with overall battle strategy: how to utilize the larger units of the army to accomplish the goals of the battle. It’s up to the unit commanders and their sub-unit commanders to translate the general orders to specific tactics, and translate those to specific orders to specific personnel. When this works well, a good commander can control a very large army in smooth ways, because he can deal abstractly with it at precisely the level he needs.
When programmers write a program today, they can write very large, complex programs because they write them in very high level languages that let the programmer describe what they want the computer to do without specifying how they want the computer to do it. It’s up to the language and compiler and operating system to determine the actual, low level instructions that the computer uses to create the desired functionality. This is a perfect example of virtualization, except it’s called abstraction in the programming world. This is why IT can use all types of virtualization to manage more complex systems with higher reliability and lower administration time and costs: the administrators can operate at precisely the level of detail needed to accomplish their tasks.
VIrtualization is an old idea, but technology is only now becoming mature and developed enough to create the types of abstraction needed for these new models of computing. In the future, we’ll see even more kinds of abstraction and practical implications that let IT perform things that would be miracles today. It’s a fun area to watch, in any case.
Entry Filed under: Information Technology, Philosophy









1 Comment Add your own
1. Bobby | November 17th, 2008 at 11:43 pm
Good post I am up to 6.5 of VMware workstation and it just keeps getting better
Leave a Comment
Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackback this post | Subscribe to the comments via RSS Feed