There is plenty of hype about the benefits of virtualization, as you point out in the introduction of your book. What is the most compelling real reason for implementing virtualization technologies?
Today, pretty much everyone is doing hardware virtualization. That's likely to change as we see more of this commoditization, especially when paravirtualization starts to get a better foothold due to its potential for greater performance and the promise (at least today) of lower cost. OS virtualization is another beast entirely, with great benefits for specific uses. In those uses, if companies like Parallels can get the word out well, we stand a chance to see a better adoption. But what's got to happen is moving VMware's elephant out of people's mindset room so they begin analyzing the other options as real contenders. We're not there yet, but ask me again in 12 to 24 months. How do these three flavors of virtualization map to the OSI stack?
In a lot of ways, they don't really. These are high-level protocols that could arguably be at either the Presentation or Application layer, but I must stress that virtualization does not equal networking. So the OSI stack isn't exactly the best metaphor for what we're doing with any of these types of virtualization. Could you talk a little bit about the significance of virtualization as it pertains to network management?
Virtualization involves a consolidation of network connectivity. With virtualization, you're consolidating 10x or more physical servers down onto a single virtual host. This means that you have 10x or even 20x (in the case of dual connections) individual network connections that compress down to 4x or 6x. From what I understand, the typical IT infrastructure network rarely hits double-digit percentages of use for individual gig connections. So, with virtualization, we're seeing greater use of those connections as well. Just like in the server world, for network management we start seeing less of a focus on "switch port = server" and more on "switch port = collections of servers," and that collection will change over time.
As I tell the server admins, one of the biggest skills you're going to have to relearn with the move to virtualization is performance management. For so long we didn't need to use these skills because our servers were running at 5% utilization. That's not the case in virtualization. You've got to manage your servers' performance religiously. The same holds true in networks. Because of this same consolidation, you're going to find yourself watching those individual network links much more intently because their average use can and will get to their maximum acceptable thresholds quickly. What are some tools you would recommend for network management in virtualized environments?
Any tool that assists with the visualization of network traffic and alerting when that traffic goes above acceptable bounds. If your network does not have these tools in place, you'll want to get them in with your virtualization solution so you can keep an eye on how well your network is behaving post-consolidation. Do you see any one type of virtualization as more interesting or useful than the others?
Actually two I see are where we're going. First, paravirtualization, like what we see in Hyper-V and Xen, as well as early experimental support in ESX 3.5, is where we're going. The early types of hardware virtualization that used emulation had to do so because of paravirtualization's need for OS recompilation and/or on-board hardware extensions. These capabilities are now becoming pervasive, so I see emulation going away in the long run because of its now-unnecessary levels of resource overhead. The other nifty tech that I think gets too little press is OS virtualization, typified by Parallels Virtuozzo Containers. This is great tech with an exceptionally small overhead and some very specific benefits that you don't get anywhere else. If you haven't heard of Virtuozzo or OS virtualization, definitely check out the book, as it talks about some of those benefits in detail. Would you recommend implementing OS virtualization? Or are there certain scenarios where it works better than others?
Not necessarily. Again, in the book are certain examples where it works the best. I won't rehash those here, but for those specific workloads, there's a compelling argument. Environments need to find their sweet spot, and that sweet spot can be in hardware or OS virtualization. In many cases, the answer is to use both simultaneously. One of the goals of your book is to help readers understand where they will and won't get the best return on a virtualization investment. Are there particular places where you would caution against using virtualization?
Big one: Don't implement highest-end virtualization solutions when you don't need to. Some virtualization solutions have very high-end platforms that appear to solve all the world's IT problems. But they're also stupendously expensive. If you don't need the uptime or the super-high reliability, then you may not need to spend the extra cash. Also, beware the market effects of virtualization commoditization. We're only now starting to see enough quality entrants into the virtualization ecosystem that market forces will begin driving down the prices. Those early adopters are the ones most likely to see problems with this. Be aware of the impending commodity status of virtualization platforms, and consider your purchase carefully. Anything else you'd like to add about selecting virtualization solutions?
Simply: Go do it. There are virtualization options out there that start at no cost and go all the way up to high cost. You just need to dig in and start looking at them. All the virtualization solutions available today provide some form of benefit, both hard and soft, back to the business. The ROIs are unlike any I've seen in IT in my career in terms of how compelling they are. If you're not considering some form of virtualization, you'll find yourself behind the game and wasting money, space and power.
Greg Shields is an independent writer, speaker and IT consultant based in Denver. With more than 10 years of experience in information technology, Greg has developed extensive experience in systems administration, engineering and architecture, specializing in Microsoft, Citrix and VMware technologies. He is a contributing editor for both Redmond magazine and Microsoft Certified Professional magazine, authoring two regular columns along with numerous feature articles, webcasts and white papers. He is also a highly sought-after instructor and speaker, teaching system and network troubleshooting curricula for TechMentor Events, a twice-annual IT conference, and producing computer-based training curriculum for CBT Nuggets on numerous topics. Greg is a triple Microsoft Certified Systems Engineer (MCSE) with security specialization and a Certified Citrix Enterprise Administrator (CCEA). He is also the leader of the Realtime Windows Server Community.