One thing I have to admit is that I definitely have a full glass of the virtualization kool-aid. I have had the opportunity to work on some pretty large scale virtualization projects, and from a geek perspective it's just some really cool stuff. Consequently, I have a few blog ideas around virtualization and the impact it will have (or I think it will have) on the network that I wanted to run with for blog/discussion. The first is really just a bit of a history lesson for those who may not be too familiar with virtualization (and an attempt to tie virtualization back to numerous network technologies and concepts). I’m also going to prove that really all this big talk about virtualization is stuff they stole from us network admins anyway, and like usual we got none of the credit. :)
Virtualization today is pretty much being driven by VMware, with Citrix, Microsoft and even Cisco introducing competing (or complimentary in the case of Cisco) solutions. Particularly from the Windows side of the house, virtualization was fairly revolutionary. The basic premise is that you typically have servers which spend most of their time underutilized. For example, your file and print server may be busy when folks are accessing resources, but when they aren’t its just sitting there consuming electricity and generating heat. Similarly you have application servers which may get hammered during daily processes, etc. but the rest of the time they sit pretty idle. This creates a lot of waste. Wasted space in the datacenter, wasted electricity (both to power and cool the system) and the need for more servers than you really require (and all the management and operational overhead that goes with that). And of course, you can’t forget maintenance on all that hardware.
Well, if the actual hardware is being used infrequently, why not essentially timeshare it? Run multiple virtual machines on the same physical hardware, with the hope being that you don’t oversubscribe the hardware resources like CPU, Memory, Disk, Network and other I/O. To steal a line from the Guinness guy, “brilliant!!”.
While virtualization is definitely stirring up all sorts of issues for server admins, when I first started looking at it and working with it, I found myself thinking “I’ve been doing this forever on the network”. Albeit slightly backwards, the concept of a virtualized resource has been implemented in network devices for years now. Virtual Router Redundancy Protocol (VRRP), Hot Standby Router Protocol (HSRP) and Gateway Load Balancing Protocol (GLBP) have been around for some time now and allow a “virtual gateway/router” to exist so that if a physical router fails, traffic will continue to be passed properly by the backup. In a lot of ways, that sounds to me like what VMware VMotion does - if the physical server (router) fails, VMotion (VRRP/HSRP/GLBP) will ensure that another server (router) is able to continue servicing requests.
Even more direct of a comparison though is the tried and true VLAN. You have a hub/switch, but you need to have multiple subnets running on it. In the old days, this meant buying more devices (in those days probably hubs) and winding up with an unmanageable sprawl of network devices. You can consolidate all of those network devices into a smaller subset, but still keep the isolation of network segments by simply creating a VLAN for each network segment. One switch (or at least a subset of the original switches) while still having the same number of subnets. This sounds strikingly similar to how you can consolidate all those physical servers down virtual machines running on a handful of physical servers.
So there you have it. Virtualization is nothing more than VLANs and HSRP/VRRP/GLBP, plucked right from us network admins and applied to servers. You've gotta watch those server folks...
Wes Noonan