Attention is shifting away from the technological underpinnings of IT to focus on workload performance.
Application performance measurement and management (APM) represents the ultimate level of data center commercialization -- measuring the value that a workload provides to a business. Expressed in terms of resource consumption, benefits gained or other metrics, it's a unique paradigm for IT professionals weaned on servers, storage and the nuances of complex electronic hardware.
Dual tasks of the APM tool
Application performance management considers two types of information. First, APM tools measure factors that affect the end-user experience, including the number of transactions per second, pages served per second, requests per second, response times (e.g., responses to user activities), and other metrics, depending on the application and its intended purpose.
End-user metrics are only relevant under real-world or full-load conditions -- any application will perform adequately without any real load on it. Unloaded performance problems usually are identified and corrected during the application's development cycle.
APM tools also measure the computing resources used by the application, including CPU cycles, memory space, storage I/O and network I/O. These ongoing measurements are relative to total available resources, highlighting the percentage of resources used.
By monitoring changes in resource consumption, IT professionals can identify performance changes and understand the potential bottlenecks imposed by other applications' resource demands. For example, if an application uses 80% of the available network I/O, you don't want to add another network-intensive workload to the same server. Similarly, if CPU cycles jump from 60% to 90%, the shortage of CPU resources might lower the performance of one or more applications on the system. Consider blending system performance monitoring or capacity planning tools with APM tools for more resource utilization data.
The four biggest adoption obstacles
Application design standards and approaches to resource management vary radically between development firms -- and even between different project teams within the same firm. This might pose detection and reporting problems for one APM tool attempting to manage multiple applications. Ideally, application components should be designed specifically for APM.
Testing conditions have a profound impact on results. In other words, idle workloads always work well. For example, a Web server will serve pages flawlessly to just one user. Proper testing requires a known level of load on the server, storage and network to provide meaningful APM results.
Virtualization is also challenging for accurate APM because it abstracts physical computing resources from each virtual machine (VM) workload. Evaluate any variations in resource reporting caused by virtualization. VMs can also migrate from one server to another, throwing off the resources and workload balancing schema. Workloads that run across distributed systems involving multiple servers impose yet another layer of APM complexity. Ultimately, testing and evaluation will help ensure APM tools work as expected in virtualized environments.
Don't overlook the business drivers for APM. Buying APM tools means another expense -- and another learning curve for staff -- so there must be a strong business case to include APM in an IT management suite. For example, a large hosting company can make a case for APM because workload performance problems cause customer dissatisfaction, spikes in support calls and costly service-level agreement violations.
The current state of APM tools
Many software products purport to be APM tools, but each provides distinct features -- some tools are simply a repackaging or rebranding of existing products. It's important to test and evaluate options carefully before committing to one. The following are examples of APM tools that offer different features, which may or may not be right for your applications.
CA Technologies' APM software monitors the end-user experience and touts analytics that learn the relationship between application components and resource use to help identify potential problems and speed troubleshooting.
AppDynamics' APM product focuses on the end-user experience for Web and mobile applications, with particular attention to performance across distributed environments, as well as visibility into code execution to help developers streamline designs.
Riverbed Technology's SteelCentral APM product features strong analytics that cover the end-user experience along with transaction trace analysis and special attention to voice over IP and unified communication workloads.
Whatever tool you choose should match the type or types of applications. For example, if the target workloads are primarily transaction-based, the APM tool must be designed to analyze transactional applications.
Once an APM tool is selected, adjust business and IT policies to embrace the benefits of APM. When configuring reports, keep it simple and direct to reduce decision-making delays and distractions caused by superfluous data.
Approach APM in phases rather than trying to monitor and manage every application right away. Learn the tool with your less-critical applications, and then build expertise that will allow IT to manage the applications that are truly important to the business.