Features

November 2007

APPLICATION MANAGEMENT

The connection between management and performance

Assessment of an application prior to deployment can help prevent problems.

by Eric Nudelman

When an application performance problem arises, many users and IT staff generally assume, “It must be the network.” Frequently, however, the problem is not network-related, and hit-and-miss troubleshooting efforts waste valuable time and resources. Meanwhile, performance continues to suffer.

Application performance is dependent on the interaction between the application and the underlying infrastructure. Issues that are rooted in application behavior, however, cannot necessarily be resolved through network upgrades. For example, a “chatty” application that works perfectly on a high-speed LAN and poorly when deployed in higher latency environments will not benefit much from added bandwidth, but reducing application interactions (or turns) may provide significant improvement. Effective performance management requires an approach that encompasses both applications and infrastructure.

For these reasons, IT professionals should look for a solution that addresses application performance management by taking an end-to-end view, encompassing the performance of the application over the infrastructure. Solutions like these can determine whether the source of a performance problem is the network, the client or the application tiers.

Many IT organizations are currently using this type of solution to troubleshoot the performance of production applications. An increasing number of IT teams are also adopting a more proactive, full-lifecycle approach to application performance management, with more rigorous assessment of an application prior to deployment. Best practices such as this can help prevent performance problems when deploying new applications.

Engineering performance

Performance engineering ensures that an application will meet performance objectives when it is deployed in the production environment. Unlike the traditional approach to performance management, which relies on early detection of problems in production, this new approach aims to detect and resolve issues before the application ever reaches an end-user. Application developers, however, are often pressed to accelerate their processes so that a business-critical application can be implemented more quickly.

Performance engineering challenges that impulse, actually extending application quality assurance (QA) to encompass predicting the operation of the application as it would be deployed over the production infrastructure. If changes are required, they can be made before the application is rolled out, avoiding problems that can result in delays that could compromise end-user confidence and acceptance.

Performance engineering leverages technical skills that already exist in most IT organizations to improve application success. As an approach to IT management, performance engineering encompasses people, methodologies and processes. It is also made possible by application performance-management solutions that provide objective insight into the root cause of problems and accelerate their resolution. The same tools that are used to detect and diagnose performance problems in production applications can often be used in the test lab. These include application monitoring solutions, packet trace analysis products, and server monitoring and analysis solutions.

Lab testing

Duplicating the production infrastructure in a QA lab may be impractical, however, so to predict production application performance by taking direct measurements and observations is not always possible. There are several technologies that address this problem, such as WAN emulation tools that interact with the application in a way that mimics the anticipated behavior of the production network and estimates the resulting response time.

Network characteristics, such as delay, can be modified to assess the planned deployment under a variety of conditions. Load-testing tools can emulate realistic transaction volumes to “stress” the application and server, and identify scalability limitations and potential performance “break points.” These can be employed with server-based tools to simultaneously capture and analyze performance information on the application server.

Simulation can be used effectively in the QA lab, as well, to represent the application as it would be deployed over the production infrastructure. High fidelity is critical, so that results accurately predict response time. Modifying characteristics of the application and underlying infrastructure should also be possible to assess the value of various changes that may be applied in order to improve performance. A software model is an environment for evaluating such options, as they can be analyzed quickly, without actually recoding the application or reconfiguring devices.

Eric Nudelman is senior vice president of applications engineering at OPNET Technologies, Bethesda, Md.

For more information (click here)