The traditional view of APM is that APM has been 1) all about custom developed applications, and 2) all about finding the problem in the custom developed code that is creating the performance, throughput, or availability problem. However, as more an more applications are being put in highly distributed, shared, dynamic (virtualized), and cloud based environment, it is increasingly becoming the case that problems in the infrastructure are impacting the applications.
The Rising Role of Application Operations
The supporting custom developed applications in production has been revolutionized by Agile Develop and DevOps. Agile Development results in new enhancements to applications being pushed into production on sometimes a daily or weekly basis, instead of what used to be a yearly basis. DevOps results in even more changes to production as fixes are rolled into production much more quickly than before. So the entire world of application development Â and support has gone from a very slow cycle time to a very fast cycle time. Leading edge developer focused APM tools from vendors like AppDynamics, AppNeta, Compuware, and New Relic were either built from scratch (AppDynamics, AppNeta, & New Relic) or significantly enhanced (Compuware) to cope with this new reality. Legacy APM tools from legacy APM vendors have for the most part not been re-engineered to cope with the new application development and support environment, and are therefore increasingly being rendered irrelevant by these changes.
The operations environment has under gone an even more fundamental change than has the application layer. The operations environment has gone from dedicated servers (one physical server for each instance of each component of the application) running over massively over-provisioned networks generally accessing dedicated storage to servers running multiple virtual machines, with the networking split between the virtual networks in the hosts and the physical network, and the storage often virtualized in some manner as well. The operations environment has therefore gone from being very dedicated and very deterministic, to be very shared, very dynamic, very distributed, with virtual resources abstracted from physical resources and changes in behavior and resource allocation driven by automation (DRS).
This new operations environment has lead to the creation of a new version of an old problem. The old problem was that whenever you changed anything in the data center or brought in a new element to the data center, whenever something went wrong that new thing was guilty until proven innocent. The modern version of this problem is that the operations teams that run the virtualized environments are now guilty until proven innocent of applications performance problems. This is a severe problem for most of these operations teams because they completely lack the tools to either exonerate themselves, or pinpoint the source of the issue. Existing Operations Management tools cannot address this problem since they lack visibility into the applications themselves. Traditional APM solutions cannot address this problem because they focus just upon the code, and not upon the infrastructure for the applications.
This has lead to a new role in the Operations department, Application Operations – the set of people who are concerned with how the hardware and software infrastructure in the environment is impacting the performance, throughput, and availability of the applications.
New Application Operations Focused APM Tools
There are two fronts upon which progress is being made in terms of making APM relevant to operations teams:
- Vendors of developer focused APM tools (Devops focused tools) Â like New Relic and AppDynamics have added operating systems agents to their products. The ability to understand what is happening with the code that comprises the application is handled by an agent that resides in the application run time (the Java JVM or the .NET CLR). However the code level agent is blind to everything that is happening outside of the application run time. That makes the code level agent blind to all infrastructure issues that would be visible from the perspective of the operating system. By adding operating system agents to their product portfolio’s, these vendors can now cross-correlate infrastructure issues visible in the operating system with response timeÂ degradations visible at the application layer. Compuware’s announcement (see below) adds Compuware to the list of code focused vendors with this capability.
- A whole Â new category of APM tools has arisen which focus specifically upon solving application performance issues for operations teams. The Application Operations (AppOpps) segment of APM tools focus only the Operations Management use case. The value of these tools is that they are not constrained to working only with a set of applications custom developed to a particular set ofÂ languagesÂ - they work for every application (purchased and custom developed) that the customer owns and that operations has to support. Vendors in this space include AppEnsure, AppFirst, AppNeta, Boundary, Correlsense, ExtraHop Networks, Gigamon, and Splunk.
For a complete review of both the DevOps and AppOpps categories if tools and all of the vendors in those categories, please see our post on Software Defined Data Center Application Performance Management.
The Compuware PureStack Announcement
The Compuware PureStack technology is based upon an agent in the operating system (Windows, Linux, AIX, Solaris, and HPUX) that collects all of the key infrastructure metrics from that operating system. These infrastructure metrics are then mapped to the end to end transaction tracing that Compuware offers through the PurePath technology that came from the Compuware acquisition of dynaTrace. The combination of how PurePath can trace a transaction through a wide variety of application environments and middleware and the ability to cross-correlate issues with those transaction traces with infrastructure data is a differentiating and unique feature of the Compuware solution.
To learn more about PureStack, visit the Compuware PureStack page here.
To see the complete list of supported environments visit the Platform Support page here.