Application Performance Management (APM) is currently going through a revitalization following cloud and DevOps technology evolutions (possibly revolutions), as well as innovation in areas such as analytics and real-time monitoring, so it is timely to define exactly what is meant by the term.
Some four years ago the market appeared to be consolidating but the wide spread adoption of virtualization and the recognition of the importance of end user experience monitoring (EUEM) created new opportunities.
The APM market today is seeing further diversification so the modern, broad definition of APM is an application-centric performance monitoring and management solution that cross-cuts IT tiers: network infrastructure, physical and virtual infrastructure (server and OS), storage and databases, end-user experience with edge devices, and integration into general IT service delivery, with these tiers running in and across traditional data centers, cloud environments (private, public, hybrid), and SasS providers.
Modern APM Falls Into Nine Areas
The modern APM solution understands that the cultures within IT speak different languages and have different needs. While movements such as Agile and DevOps attempt to break the walls between traditional silos such as development, QA, operations, network engineering, senior management and others, there remains the need to address the particular information requirements of these communities.
APM tools either provide across the board functionality with interfaces targeting the specific communities or they will be solely focused at one or two communities. Thus APM for pre-deployment development and post-deployment troubleshooting provides developers with source code level detail and statistics, whereas operations oriented-APM is concerned with live production where operators are concerned with end user experiences and end-to-end service delivery, but for troubleshooting only need detail to method call levels.
Furthermore, operations cares about the resource overheads incurred by deploying APM agents in production - even low overhead agents can in sufficient numbers drain production resources and also cause potential perturbations. So the type of solutions these communities want in place can differ markedly.
Ovum, in its most recent APM report, identifies nine segments of APM that apply in modern solutions:
· End user experience monitoring, from desktop clients to web browsers and mobile devices.
· Root cause and predictive analytics.
· Physical, virtual, and dynamic infrastructure, on cloud and traditional data centre, including SaaS delivery channels.
· Storage and databases.
· Networks, including carrying unified communications (multi-media) traffic.
· Application server instrumentation and source code level detail for individual transactions.
· Business transactions that cross-cut applications and IT services.
· Executive reporting and dashboards.
· Legacy systems, such as mainframes.
The many vendors in the market approach these segments of APM from their particular histories and hence strengths, with the targeting of particular APM user communities more clearly defined than before, and new players continue to enter the market with innovations.
There are two areas closely related to APM that Ovum believes will see increasing activity within the APM market: application performance testing and application security performance. The former is naturally of interest to QA and testing professionals and APM tools that target this audience will include synthetic and real user load testing. Cyber security has become an application level concern as enterprise users increasingly work on devices that sit outside the firewall (e.g. using Web browsers and mobile devices) - this is an opportunity for the APM market to address.
The Three Degrees of Application Dynamism
Modern multi-tier applications and services built for SOA environments are more dynamic than ever before, and this dynamism falls into three dimensions.
Firstly, the infrastructure on which applications run can switch in an instant across different cloud servers and virtual machines.
Secondly, the applications may comprise mashups pulling in data from diverse sources, and rely on multiple and distributed components and services.
Finally, applications are delivered faster and deployed more frequently than before with the rise of Agile methodologies, continuous delivery, and DevOps. For example continuous delivery establishes a deployment pipeline that can trigger a code change to production use in a matter of minutes.
All three dimensions demand more out of an APM solution: solution configuration should be easy to keep up with frequent Agile drops; it must recognize a distinct business transaction that cross-cuts multiple IT layers; it must follow a transaction across physical and virtual boundaries; and it needs to support the needs of different users from developers needing source code line detail to operators concerned with stability and service delivery in the production environment.
Michael Azoff is a Principal Analyst at Ovum