It happens all the time: An application runs poorly. Application developers point fingers at the network engineers; network folks cast aspersions on the developers - and nobody's really sure of the root cause. Tracking down the answer takes days, weeks or months - with lines of business getting less patient as the hours tick by.
To avoid these problems before they hit, IT executives should think about implementing effective application quality management (AQM). That means taking a big-picture view of application performance, deploying the right tools and technologies, and engaging in operational and organizational best practices.
Some history: Fifteen years ago, application performance was purely a software developer's game and mostly involved tailoring an application to the mainframe system it executed on. The advent of client-server computing in the early 1990s brought network issues into the picture. Software executables now were running on clients and servers linked by networks whose performance characteristics now affected application performance. These days, thanks to trends such as virtualization, grid computing and Web services, it's often impossible to say with certainty where the executables physically reside - which means that understanding the interaction between application components and the networks linking them has gotten even harder.
Essentially, AQM requires taking a holistic view of an application's performance in this distributed, virtualized environment, both across the app's development life cycle and up through the Open Systems Interconnection (OSI) seven-layer stack. Tools and techniques required for prototyping, capacity and planning, and quality assurance aren't the same as those required for monitoring, thresholding and troubleshooting an application already in deployment. Moreover, "lower-layer" OSI issues can affect application performance. An app might work fine when running alone over a low-latency, high-bandwidth LAN, but crash and burn when it's combined with other apps across a high-"latency, low-bandwidth WAN.
What are some practical steps for implementing AQM? First, IT executives should consider application management from the get-go. That means allocating time and money to answering the question, "How will we manage this application?"- even before the design specifications are complete. Make sure design engineers understand the service-level agreements that application delivery folks need to live up to - and have them sign off on them.
Second, effective AQM requires multiple tools and product suites. Neither network management nor app management suites are enough - look to cover the full spectrum of infrastructure and application management. Products from companies such as Aprisma, Concord Communications, Micromuse, Smarts and Visual Networks can provide insight into infrastructure component performance and root-cause analysis. Packages such as those from Altaworks, BMC Software, Empirix and IBM Tivoli provide insight into app-layer performance. Also note that certain tools are optimized for particular points in the application life cycle. Mercury Interactive fits well for capacity planning of prototypes for example, while Network Associates' Sniffer is an indispensable troubleshooting and monitoring tool for deployed apps.