Service provider takeaway: Service providers can approach Linux server virtualization projects knowing that the technology is just as feasible as virtualization on closed source systems, but Linux virtualization carries the added complexity of differing implementations.
Without a doubt, the hottest buzzword in IT today is virtualization. In fact, it's getting hard to have a technology conversation that doesn't include the word. And while server virtualization on proprietary operating systems has clearly taken hold of the data center, Linux virtualization is just as viable. But what are the pros and cons of Linux-based server virtualization for your customers?
Whether in a closed source or open source environment, virtualization enables multiple logical environments to run within a physical server by allowing physical resources to appear as multiple logical resources. In the Linux world, that server could be either a $600 PC server running Xen using the Fedora 8 distribution or a $2 million IBM System p595 running PowerVM Lx86 (formerly called System p AVE) on a Linux on Power (LoP) partition using Red Hat Enterprise Linux (RHEL). Unfortunately, virtually (pardon the pun) every Linux distribution has its own implementation method, which adds to the confusion around the real value of Linux virtualization and whether or not it's appropriate for your customer's environment. To cut through the confusion, we lay out the pros and cons of Linux server virtualization.
- Higher resource utilization: Linux virtualization can dramatically increase the overall efficiency of systems by sharing physical CPU and memory. Server virtualization -- whether powered by Xen, Kernel-based Virtual Machine (KVM), PowerVM or any of a number of Linux solutions available -- provides a boost to productivity through greater resource utilization and the flexibility to configure new environments without buying separate hardware. To wrap your brain around the benefits, imagine an environment in which the staff works only 10% of the time. Then imagine that same staff working 80% of the time. The more productive the staff, the fewer staff members needed. In virtualization, the staff is your hardware -- the more productive the hardware, the less hardware you'll need.
- Footprint/power and cooling: Reducing the amount of server hardware in your customer's data center will decrease cooling and energy requirements. This helps them rein in costs while reducing the environmental footprint.
- Greater flexibility: Virtualization can enable your customers to be more responsive to business needs. Prior to virtualization, when a company required a new application, it had to purchase hardware to accommodate the new business function. But with RHEL5 or SUSE Linux Enterprise Server 10, for instance, you can easily create new environments within existing physical boxes by using those applications' modified Xen virtualization implementations.
- Licensing costs: Perhaps one of the largest cost-reduction factors around virtualization comes with licensing. Independent software vendors (ISVs) don't care whether hardware utilization is 5% or 95% -- if you've purchased a box with a four-CPU license, you will pay for those licenses regardless of whether they are used or not. With virtualization, because you can support many logical environments in the same physical box, your customers won't require as many licenses. This is particularly relevant in an environment where Linux servers are being consolidated, as server consolidation and virtualization tend to go hand in hand.
- Hardware maintenance savings: The fewer servers you have, the lower your hardware maintenance costs.
Are there any reasons why your customers should not implement Linux virtualization? Absolutely!
- Performance: When you virtualize a server, several logical hosts will share the same physical environment. During high-demand periods, performance can suffer. While some Linux virtualization implementations have mechanics that allow for very granular resource management and control (such as IBM's PowerVM), during peak periods there is still the potential for performance degradation.
- Complexity/reliability: Linux virtualization adds to the complexity of your environment. If the virtualized environment is improperly configured, you could end up with performance and reliability problems. For example, in an environment where multiple logical hosts are configured to share the same Ethernet adapters, if one of the NICs fails, multiple hosts will go down. And you will need to make sure that your virtualized devices are configured correctly. While it is true that with IBM's PowerVM, you can virtualize 10 logical partitions (LPARs) to share one CPU or even one NIC, this practice can have a negative impact on performance (too much activity on too little hardware) and availability (consider the consequences of that one CPU failing). Virtualization's flexibility and configurability can lead to poorly designed systems that cause companies to abandon their entire virtualization strategy. I have seen this firsthand.
- Security: In the past, if a server was compromised, the vulnerability could be contained to that one server. With virtualization, every logical partition or virtual environment within the physical server has the potential to be compromised. While a systems administrator has the ability to make sure that the logical partitions within the physical box don't have access to one another, you should not overlook physical security as well. For example, while not required in many cases, most IBM System p shops use a dedicated Hardware Management Console (HMC) to perform their Linux logical partitioning and virtualization configuration. If the admin walks away from his desk and leaves the console open, an invader can gain access to every logical environment in the physical server.
With all these factors in play, how do you know if and when to recommend virtualization to your customers? First and foremost, you must take the time to properly understand what's most important to your customer, whether it's cost, performance, reliability or security. The importance a company places on these factors can change from year to year or even quarter to quarter. If the company has just been hacked, you can bet that security will be the most important factor. Does that mean there is no possibility of selling them virtualization solutions? Absolutely not. It just means that you need to explain how security issues will be addressed. Is the company going through a cost-cutting period? If so, you'll need to show them how the strategic use of virtualization can help them reduce TCO.
After management has approved in concept the server virtualization strategy, you can then talk about specific technology recommendations. Just understand that the implementation of a Linux virtualization strategy is less about the technology and more about the value that virtualization provides to the business. By showing them the value, you'll get that business!
About the author
Ken Milberg heads a consulting firm, Unix-Linux Solutions. He has over 20 years of experience with Unix and Linux systems, as well as broad technical and functional experience with AIX, HP, SCO and Solaris.