In my previous blog post, “Virtualization Isn’t Just for the Enterprise Anymore”, I briefly discussed virtualization and the possibility of expanding the technology to mobile platforms. I thought I might take a step back and point out some virtualization basics.
What is virtualization?
Virtualization is the technology allowing the partitioning of a single physical server into multiple virtual servers, or machines. Each of the virtual machines interacts independently of other devices, applications, data and users, as though it were a separate physical resource.
As I mentioned earlier, virtualization has been around for a long time. As a matter of fact, virtualization was first introduced in the early 1960s by IBM. It was originally developed to increase mainframe hardware utilization by running many applications at once. When VMware introduced virtualization to x86 servers in 1999, they used the concepts originally developed by IBM as their inspiration.
What are some of the advantages?
Most servers do not fully utilize the resources (memory, CPU, disk, network) that they have. Would you rather have 10 servers that are all using less than 20% of their total resources, or three servers that are using 70% of their resources?
In many cases, vertical software vendors limit the applications that can be co-installed on a server running “their” software. In addition they might require separate servers for web-based applications and database servers.
In this example, you can benefit from virtualization by:
Saving money. One physical server hosting multiple virtual servers versus multiple physical servers.
Saving energy. Reduce the number of physical servers running.
Saving time. With a reduced number of physical servers, you can spend less time on the manual tasks required for server maintenance.
Don’t get me wrong, there are disadvantages to virtualization. Here are a few examples:
Physical failures. Say you’re running seven virtual servers on one physical server and the RAID controller fails and wipes out all of the data on your hard disks; You lose all seven virtual servers.
New skills. It sounds so easy; install a virtualization solution and then just deploy your servers. Not! I will give you just one example: When I installed my first server virtualization solution, I made the critical mistake of choosing the wrong hard drives—the slower drives caused a significant performance impact because of the disk I/O bottleneck.
New management tools. With easier migration, cloning or snapshots, you can only take advantage of these capabilities if you have the proper tools. In many instances, the tools that come with a virtualization solution are not enough—they support only basic management tasks. This means that you need additional utilities, which cost both money and time.
Clearly there are some real advantages and disadvantages to implementing virtualization. I strongly recommend doing your research…