Get Ready For The Next Virtualization Headache: Application Performance
With so many servers virtualized, companies are searching for the best way to
make sure applications meet expectations.
ISELIN, N.J., June 20, 2009 – With the rush to virtualization, a new problem is appearing in the data center that can only become more acute as servers become more virtualized--guaranteeing the performance of running applications.
Applications used to be practically a physical entity, running on standalone, dedicated hardware with lots of spare capacity. Now virtualized applications are stacked four to 10 thick per server in the name of energy conservation and system consolidation.
While this approach saves energy, floor space, and, we hope, employee time, each application is in a less predictable operating environment. Each probably has a variable workload, and no application is aware of the others. As workloads escalate and mount joint demands on the CPU and other resources, how do you guarantee application performance?
"With a 1-to-1 relationship in a physical environment, you knew exactly what headroom you had to accommodate peak loads," says Andi Mann, a virtualization analyst with Enterprise Management Associates. Multiple applications on a single server make it hard to ensure that same level of performance.
To those celebrating the savings that virtualization yields, application performance is tomorrow's problem. Many companies manage to stay on top of it by using a mix of existing monitoring tools and considerable good judgment and experience.
"We don't have any tools specifically to monitor performance, but we can usually correlate application issues to problems with server components," says Brian Cox, director of IT customer service at Norton Healthcare, the largest healthcare provider in Louisville, Ky. Cox has delivered the hospital chain's patient care system via 1,000 virtual desktops, and he tracks performance by monitoring CPU utilization or disk utilization, not the application itself.
That approach has been good enough in the first phase of virtualization, but it's going to get tougher. In some cases, a user may click on an application being monitored, and in a blink of the eye, VMware's VMotion has moved the application from one physical server to another. Not only do the workload levels change, but the underlying infrastructure shifts as well. Is the application performance monitor going to keep up? To cope with such shifting patterns, the application performance manager must be tied to an infrastructure discovery and mapping tool, which can detect a virtual machine's shift from one server to another and point the performance management software in the right direction again. The big four systems management vendors--CA (NSDQ: CA), BMC (NYSE: BMC), Hewlett-Packard (NYSE: HPQ), and IBM (NYSE: IBM)--are trying to bring a traditional strength to virtual application management by discovering, mapping, and connecting to the enterprise software infrastructure. CA, for instance, applies a mix of its Spectrum Automation Manager with its Wily Application Performance Manager.
No Clear Leader
But that's still not enough. The virtualized environment presents new complexities. The big four management vendors have tried to quickly add visibility of VMs and the resources they're using to their systems, but they simply don't have the deep knowledge of virtual software internals to offer adequate insight. That should lead IT managers to explore new approaches to managing virtual environments.
To be sure, conventional systems management can tell you more than merely whether a virtualized application is running. They make use of APIs supplied by VMware, Citrix Systems (NSDQ: CTXS), and other vendors to look into each brand's VM management system and extract useful data. But they aren't able to monitor VMware's ESX hypervisor or other hypervisors on their own.
As long as everything is running well, not being able to see the hypervisor isn't a liability. The hypervisor serves as a transparent layer, passing instructions from the operating system of each virtual machine to the CPU and passing back the results. Keeping an eye on the application is sufficient.
But a known chokepoint for virtualized applications is the I/O stream to storage or the network. If an Ethernet message is flowing into the application, VMware's ESX hypervisor will have to rely on its software switch, the vSwitch, to inspect each Ethernet packet header accompanying traffic moving to the appropriate VM.
A long message will result in a continuous series of interruptions of the hypervisor's application processing, leading to unexpected latencies. The same thing happens with outgoing traffic from any VM to the network or to the storage area network. It all has to go through the hypervisor. A software switch isn't as fast as hardware, and not being able to see these vSwitching delays is a serious impediment for software purporting to manage virtualized application performance.
"If you can't gather information from the hypervisor, then you really have no way of knowing if the performance problem you're chasing lives within the VM or is an issue with the underlying infrastructure," says Galen Schreck, Forrester Research's virtualization analyst.
VMware sees the opportunity to insert itself into that gap, acquiring late last year B-hive Networks, an Israeli vendor that specializes in application performance management. VMware will incorporate the B-hive technology later this year in a product called AppSpeed.
Opportunity At The Hypervisor
VMware will link B-hive application management know-how to its own knowledge of the vSwitch and other ESX Server internals. "We're in the unique position of having access to all that information," contends VMware's Gaeton Castelein, senior product marketing manager.
However, having the data isn't enough either. It takes systems management expertise to know what to do with it and to be able to perform the root-cause analysis that points to the cause of a particular application slowdown, as opposed to merely saying a slowdown is occurring. Then there's the task of triggering the right automated response to a known problem, so that outages can be prevented rather than reacted to afterward through human intervention.
Castelein agrees there's a long To Do list for every vendor in this market, and there's an arms race among the systems management vendors, infrastructure companies, virtualization providers, and application performance specialists, such as eG, Embotics, Netuitive, Uptime, Veeam, Vizioncore, and probably a dozen more. That competition, and the venture capital thrown at the problem, indicates that server consolidation isn't going to be enough for companies. The real gains in virtualization will come through a combination of consolidation and better management of virtual applications.
In this dynamic world, even the meaning of "application" is changing. Applications are being organized as services under service-oriented architecture and Web services. In many cases, a particular service is going to draw on different applications or on services in widely scattered locations. The main task in application performance management isn't knowing every move of the application inside the virtual machine, but being able to follow the larger response as a set of services, stitched together as a business process, run in different virtual machines. (An additional layer of complexity will emerge if some VMs are running in internal clouds and others in external clouds. We'll tackle that topic on its own, next month).
Castelein says VMware's goal with AppSpeed will be to "create a logical map of the different business services in your infrastructure," which can then yield quality-of-service metrics. For example, a company may set a QoS standard that a login should take only 100 milliseconds. Through AppSpeed, the IT manager will be able to determine that 20 milliseconds spent at the user authentication application in one VM and 80 milliseconds at the identity database in another is about right for a user login, then look for exceptions and pinpoint the nature of a problem when it occurs.
In tracking this and other business processes, however, conventional systems management vendors may still edge out products from the virtualization vendors. When Cisco (NSDQ: CSCO) wanted application management to be part of its Unified Computing System, designed to combine computing and networking for a more intense VM environment, it turned to BMC (NYSE: BMC).
Microsoft is trying to turn virtualization data into a competitive advantage. It already tries to undercut VMware on price by building Hyper-V into its Windows Server 2008 operating system. It continues that vertical integration by managing Hyper-V virtual machines through its Virtual Machine Manager, available with the latest release of Windows Server 2008, which in turn is tightly integrated with its Windows environment management system, the Systems Center suite of products. "There's so much focus on the virtual machine. There's very little discussion on management of the application," says Edwin Yuen, Microsoft's senior technical product manager.
Microsoft (NSDQ: MSFT) has built a combination of agent-based and passive network sensors into Hyper-V and Virtual Machine Manager to collect the information that's fed into Operations Manager, which monitors and reports on application operations. If only 20% of a VM's disk space remains, Operations Manager can be primed to send an alert on the impending shortage.
Citrix (NSDQ: CTXS) has built self-monitoring agents into XenServer and XenDesktop, and they will report on the performance of common Windows applications, says Derek Slayton, senior director of product marketing. But it has no agents that can be put into applications such as ERP, for example. To monitor those virtualized apps, you'll have to rely on a third party's monitoring tool, he says.
With all these approaches, agents are embedded in the application or on application servers to monitor activity and report to the management console what they see. That means they consume CPU cycles along with the virtual machines themselves; CA (NSDQ: CA) says its Spectrum Automation Manager and Wily APM agents add 3% to the application's workload, for example.
Another way of collecting management information is through passive sniffers on the network, which track traffic, monitor calls to applications, and measure the response times. Most vendors employ a mix of the two.
Hewlett-Packard (NYSE: HPQ) acquired Mercury Interactive in part for its Load Runner product, which generates synthetic transactions, sends them to the application, and records the response for HP's Performance Center product. These "headless" users of virtual machines provide feedback on response times and whether the application is delivering appropriate results or just error messages.
HP's acquisition of Opsware has led to its change and configuration product, which captures information collected from ESX Server or Hyper-V and stores it in a change management database, where it can be referenced by a number of HP management tools. HP is now trying to tie its tools together so a development team can be notified of known problems with a running virtualized application, for example.
Novell (NSDQ: NOVL)'s ZENworks Virtual Machine Manager is a hypervisor-agnostic management tool for tracking and monitoring virtual machines. In March, Novell added Application Virtualization 7 to ZENworks to better manage Windows desktop applications for end users. In early 2008, it acquired PlateSpin, with its PowerConvert physical-to-virtual and virtual-to-virtual file conversion ability for virtual machines.
Sun Microsystems (NSDQ: JAVA) offers application measuring and monitoring capabilities with its Solaris 10 operating system, through Dynamic Trace, or DTrace, a way of embedding sensors in the operating system to collect information from a running application, or using metrics to discover aspects of an application.
Sun offers an open source, Xen-based xVM hypervisor for generating virtual machines, or the option of running a set of applications, each in its own container or set of resources, under one copy of Solaris on a Solaris 10 server. But the future of these products isn't clear given Oracle (NSDQ: ORCL)'s deal to acquire Sun. Oracle also offers a Xen-based hypervisor, Oracle VM, and it recently acquired Virtual Iron, a virtualization startup with its own hypervisor offering and management tools. But neither has addressed in detail managing the performance of the virtualized application inside the virtual machine.
If virtual application performance feels like a market up for grabs, you're right. It's tied to the rest of the enterprise infrastructure, but we're still trying to inform conventional systems management strategies with critical hypervisor information and know what it means.
Much remains to be done, but one thing that's clear is the business need. Effective management of virtual application performance depends on better management information and tools.