FAQ: Virtual applications pros and cons

Virtual applications reduce hardware costs and ease application deployment. But there's a lot to consider when you virtualize mission-critical applications.

In past years, IT shops and vendors alike have been wary of some virtual applications. But the benefits of server consolidation and virtualization have prompted a greater number of organizations to virtualize applications such as Microsoft Exchange Server, SQL Server, SharePoint and even SAP. Optimizing an application to run on virtual machines (VMs) maximizes its performance and minimizes the hardware required to support an application.

Virtualized applications provide better hardware utilization, efficiency and system mobility, and they can also help with disaster recovery and power usage. The most common reason to virtualize applications is to save on hardware costs, but other shops do so to improve application flexibility or reduce data center space.

The answers to these frequently asked questions outline the pros and cons of virtual applications, including those resource-intensive apps you're most concerned about virtualizing.

Is virtualizing mission-critical applications safe?

In the past, Virtualizing mission-critical applications was much riskier than it is today. For many IT admins, the possibility of data loss or a security breach was too great. But greater virtualization maturity has made it easier and safer to create virtualized applications.

Still, before you try virtualizing applications that have high performance requirements, you need to learn about the necessary support for a virtual applications, hardware requirements, ideal server consolidation ratios, failover and snapshots.

What are some challenges of virtualizing applications?

Some independent software vendors (ISVs) don't support their server-based applications on virtual servers. This roadblock -- known as "ISV stall" -- creates headaches for IT staffers and often requires admins to revert to physical implementations. If a software vendor doesn't support virtualizing a certain application, you can buy a new server to run the software, but that costs money. You can run the application on old hardware, but that often creates performance problems. The most common solution is that an ISV agrees to fix problems with its application in a virtual environment -- if a customer can replicate these problems on a physical server. So in some cases, where your virtualization skill and experience trumps that of a software vendor, virtualizing applications can become a challenge.

Are all applications good candidates for virtualization?

No, not all applications are good candidates for virtualization. Before you build a virtual application, check whether your server supports this application in a virtual environment. Microsoft, for example, clearly states that it provides "limited or no technical support" for virtualized SQL Server 2000. Determining support can be complicated, however, because some unsupported configurations actually work perfectly fine with virtualization.

How can I virtualize Windows applications with Microsoft Hyper-V?

If your infrastructure already relies on Microsoft technology, you may want to virtualize applications with Hyper-V. As long as you build the virtual applications with the same care you'd give in physical environments, you won't sacrifice performance. If you want to maximize the VM-to-host ratios and improve cost savings, you don't have to virtualize resource-heavy applications. Some admins instead choose to keep some SQL Servers consolidated on physical servers for better performance and licensing costs.

Should I virtualize Microsoft Exchange Server?

The benefits of virtualizing Microsoft Exchange, including better backup and disaster recovery, likely outweigh added cost and complexity. But Microsoft has a few hardware and software requirements for supporting Exchange in a virtual environment. Plan a 2-to-1 consolidation ratio for Exchange servers and one VM per physical host. That eliminates the possibility of resource contention.

Some virtualization benefits won't cross over to Microsoft Exchange Server virtualization. Microsoft does not support using multiple failover technologies simultaneously, so you'll have to choose one. Also, because of the state-based nature of Exchange data, Microsoft does not support the use of snapshots for Exchange servers.

What are the first steps for virtualizing SAP?

First, analyze your existing hardware, check whether your memory capacity is sufficient for virtualized applications and determine whether you need more powerful servers. Depending on performance requirements, you may decide to upgrade SAP servers, or you may need to replace them. When you virtualize applications such as SAP, it's a good idea to start with less-critical servers. Virtualizing SAP also requires I/O, RAM and CPU optimization. And finally, remember that a virtualized SAP environment may require new software versions, which often means also bringing in new hardware.

What should I know before virtualizing SharePoint?

Virtualizing SharePoint 2007 reduces hardware costs. You can place multiple SharePoint roles on a single physical server but still isolate each individual role within its own VM. And don't forget about capacity planning. Virtual applications are competing for a finite pool of resources -- despite the ability to allocate resources dynamically -- so don't overload the host server. And to avoid creating a single point of failure, place virtual SharePoint servers on several hosts. Finally, know that Microsoft does not support snapshots with this virtual application.

What should I know before virtualizing SQL Server?

First decide whether it's worth virtualizing SQL Server in your environment. Some host servers aren't capable of housing multiple virtual servers. If that's the case, virtualizing a SQL Server won't necessarily bring the benefits of server consolidation. But if your goal is to have the flexibility to move SQL Server from one physical box to another, then virtualizing may be worthwhile. But ensure that your SQL Server is supported in a virtual environment. Generally, virtualized SQL Server deployments are supported as long as you run SQL Server 2005 or higher on top of Windows Server 2008. Also check whether your hardware can handle the virtual application workload.

Dig Deeper on Application virtualization