Comparing Virtualization Approaches By Anil Desai published: Wednesday, December 19 2007
Server virtualization technology has become so commonplace in most IT environments that it’s tempting to use it as a cure-all for all that ails IT. Consider it the magic snake oil of the data center. The truth, however, is that virtualization technology should be considered an IT tool like any other. Just as you wouldn’t use clustering for all of your enterprise applications, you shouldn’t always run first to virtualization. In this article, I’ll present information about various approaches to virtualization and how you can determine the most appropriate option for each of your workloads.
Note: Some of the terms I’ll be using in this article are far from universal. Keep in mind the concepts behind each approach to virtualization, and know that some vendors have their own (often wacky) terminology.
When Not to Virtualize
There are many situations in which the use of virtualization is not the best solution. Take, for example, a scenario in which you want to consolidate multiple database servers. Every major relational database platform provides you with the ability to host many databases on the same server. By avoiding the overhead of running numerous guest operating systems, you can let the physical machine focus on what it does best – running database servers. Similarly, if you want to consolidate web servers, it’s often far easier to do this by hosting numerous sites and applications within the same OS.
In short, virtualization technology is most useful when you want to consolidate multiple otherwise-incompatible workloads on the same physical machine. It can also help reduce maintenance and management costs, but only if implemented correctly.
One Size Does Not Fit All
The first important point to consider is that applications have very different requirements and should therefore be treated differently. Common types of applications range from the simple (for example, the ever-popular Windows Notepad and its awesome word wrap feature) to the complex (think of CRM and ERP suites that can span dozens of servers and systems). Virtualization provides numerous benefits, but you should consider the current (or potential) problem you’re trying to solve. First, figure out whether virtualization even makes sense: Is the current application reasonably utilizing its hardware? If so, the utilization advantage of moving the workload to a VM will be negligible.
Start by identifying the goals for your application. Which of these are most important?
- Server consolidation / reducing datacenter costs
- Increasing overall resource utilization
- Supporting legacy desktops, servers, or applications
- Improving overall performance
- Reducing deployment and provisioning times
- Implementing disaster recovery
- Other scenarios:
- Supporting QA, test, and development environments
- Providing end-user training
- Providing evaluation software to potential customers
If the answer to all of the above is “yes”, you might need to prioritize your requirements. You’ll need to answer these questions for each workload (or at least each type of workload) you’re planning to virtualize.
An Overview of Virtualization Approaches
Now, assuming that you have determined that virtualization is the best solution, let’s look at different ways in which you can reach those goals. Figure 1 provides an overview of the levels in which you can use virtualization technology.
Figure 1: An overview of virtualization approaches
Perhaps the most important factor to keep in mind is that there exist many different approaches to virtualization. So, the goal is to determine which method is most appropriate. Let’s take a look at some of the details.
It’s all in the Presentation…
The overall goal of most applications is to provide an interface between the user and the data or business logic she needs to access. Presentation-level virtualization is a method by which applications execute on a central server. Administrators can install and manage programs within the datacenter. Users gain access through the electronic equivalent of long keyboard, video, and mouse cables in the form of either a thin client computer (a workstation that is typically diskless), or by using programs such as Microsoft’s Remote Desktop Connection utility. Examples of products that use this approach include solutions from Citrix and Microsoft Windows Terminal Services.
Windows Server 2008’s version of Terminal Services provides some great new features. For example, Terminal Services RemoteApp allows you to provide users with the ability to launch only a single application by double-clicking on a shortcut. This allows the best of both worlds for many users: They get the power and convenience of using their local computers while still being able to access centrally-managed applications. Other features include support for Internet-based connections to terminal sessions.
The primary drawbacks of presentation virtualization are related to compatibility. Applications must be compatible with the server platform. Also, all of the required applications must run on the server operating system. Assuming that these requirements can be met, however, presentation virtualization can offer high levels of scalability, often supporting hundreds of concurrent users on a single server. Keep in mind, however, that the network and server infrastructure must be reliable – even minor problems can result in large numbers of users that are unable to do their jobs.
Application Virtualization
One of the biggest headaches in many IT environments is that of managing desktop computers and their applications. Modern OS’s have made progress in alleviating much of the pain of compatibility, but the deployment, update, and management process can still be burdensome. Application virtualization aims to solve this problem. In this approach, programs actually execute on the client. However, they are often installed on-demand, rather than using the traditional installation and deployment process. Examples include Microsoft Application Virtualization (formerly known as Microsoft SoftGrid), ThinStall’s Application Virtualization Suite, and solutions from Trigence, Appistry, and AppStream. The underlying technology and approach varies significantly for these products, but the overall goal – application management – is the same.
There are some huge benefits when using application virtualization. Applications can use the abundant processing power on desktop machines, and users can interact with applications locally (as their developers intended). Administrators benefit from being able to centrally manage their applications and can control who can access them. This aids in improving security and measuring license usage.
Of course, there are some potential downsides. Application virtualization can put significant stress on network connections. While products attempt to minimize bandwidth consumption, this can be an issue for large numbers of users or individuals that are user slow or unreliable connections.
Operating System Virtualization (Application Isolation)
An approach that’s similar to application virtualization is that of application isolation. The idea here is that each application should run in its own isolated environment. For example, Windows applications can each have their own isolated virtual Registry and file system locations. This approach helps minimize (or eliminate) application conflicts and configuration issues that tend to cause desktop administrators to pull their hair out. Application isolation can also allow several applications to run concurrently, even if they could not otherwise peacefully coexist on the same computer.
Examples of products that use this approach are Sun’s Solaris Containers and SWSoft’s Virtuozzo. The primary advantages are a higher level of scalability (because only a single operating system is required), improved security, and simplified administration.
Desktop Virtualization
Another concept that has recently been getting a lot of press is that of desktop virtualization. This approach goes by various names (for example, VMware calls its approach Virtual Desktop Infrastructure (VDI) and Microsoft has a licensing option it calls Windows Vista Enterprise Centralized Desktops (VECD)). The idea here is that all data, operating systems, and applications will run within the confines of the data center, while users will access their personal VMs over a network connection. This increases security and can potentially reduce desktop management (especially if clients are using diskless/stateless computers).
Drawbacks of desktop virtualization include the fact that server resources are often far costlier than desktop resources and issues with providing support for remote and traveling users. Currently, most vendors require you to use a variety of different products to meet the needs of desktop virtualization. Personally, I’m not sold on this idea, but it will be interesting to see how solutions evolve in the near future.
The Usual Suspects…
What’s this – a virtualization article that isn’t focused on products from VMware, Microsoft, and XenSource? There’s certainly no shortage of information about virtual machine platforms. In general, you should use VMs when you need to combine otherwise-incompatible workloads on the same physical machine. VMs can also be useful for disaster recovery, backups, implementing high-availability, and simplifying workload management. My only recommendation is that administrators consider server virtualization as one among many options for IT management, rather than as the only solution. Certainly, the ability to run heterogeneous (and sometimes ancient) guest OS’s is a very powerful technology – it’s just not the best solution every time.
Selecting the Best Approach(es)
To make the decision-making process even more complicated, keep in mind that you can use a variety of different approaches on the same system. For example, Microsoft describes scenarios in which you can use both Windows Terminal Services and products such as Microsoft Application Virtualization. And, you can use features like application virtualization and application isolation within guest OS’s. Add in enterprise management solutions that help you deploy, configure, and manage systems, and you can gain a complete solution to many of the most annoying IT problems.
Table 1 summarizes some of the characteristics of the different virtualization approaches. Again, please keep in mind that these are generalizations. Vendors have addressed potential issues in a variety of ways, and limitations in one product might not be present in others. Also, the cost of some of the solutions can sometimes overshadow the potential cost savings of virtualization. Overall, some generalizations can be drawn: For example, look at methods that avoid OS duplication wherever you can and use standard server virtualization wherever you must.
Summary
Overall, IT experts have numerous options when deciding if and how to move workloads to virtual environments. In some cases, you can achieve your security, performance, and scalability goals without virtualization at all. In other cases, it’s not always necessary to run multiple guest OS’s to meet the requirements. Overall, the most important advice is to consider the real needs of each workload individually. And, based on that, choose the right tool or technology for job.
Biography
Anil Desai is an independent consultant based in Austin, TX. He specializes in evaluating, implementing, and managing solutions based on Microsoft technologies. He has worked extensively with Microsoft's Server products and the .NET development platform and has managed environments that support thousands of virtual machines. Anil is an MCITP, MCSE, MCSD, MCDBA, and a Microsoft MVP (Windows Server – Management Infrastructure).
Anil is the author of numerous technical books focusing on the Windows Server Platform, Virtualization, Active Directory, SQL Server, and IT management. He has made dozens of conference presentations and is also a frequent contributor to online and print publications. For more information, please see http://AnilDesai.net, or e-mail
This e-mail address is being protected from spam bots, you need JavaScript enabled to view it
.
|