{"id":1726,"date":"2022-12-08T10:13:00","date_gmt":"2022-12-08T10:13:00","guid":{"rendered":"https:\/\/blog.amt.in\/?p=1726"},"modified":"2022-12-08T10:13:00","modified_gmt":"2022-12-08T10:13:00","slug":"insights-to-application-performance-management","status":"publish","type":"post","link":"https:\/\/blog.amt.in\/index.php\/2022\/12\/08\/insights-to-application-performance-management\/","title":{"rendered":"Insights to Application Performance Management"},"content":{"rendered":"<p>In the fields of\u00c2\u00a0information technology\u00c2\u00a0and\u00c2\u00a0systems management,\u00c2\u00a0application performance management\u00c2\u00a0(APM) is the monitoring and management of performance and availability of\u00c2\u00a0software\u00c2\u00a0applications. APM strives to detect and diagnose complex application performance problems to maintain an expected\u00c2\u00a0level of service. APM is &#8220;the translation of\u00c2\u00a0IT metrics\u00c2\u00a0into business meaning ([i.e.] value).&#8221;<\/p>\n<p>Two sets of\u00c2\u00a0performance metrics\u00c2\u00a0are closely monitored. The first set of performance metrics defines the performance experienced by end users of the application. One example of performance is average response times under peak load. The components of the set include load and response times.<\/p>\n<dl>\n<dd>\n<ul>\n<li>The load is the volume of transactions processed by the application, e.g., transactions per second (tps), requests per second, pages per second. Without being loaded by computer-based demands for searches, calculations, transmissions, etc., most applications are fast enough, which is why programmers may not catch performance problems during development.<\/li>\n<\/ul>\n<\/dd>\n<\/dl>\n<dl>\n<dd>\n<ul>\n<li>The response times are the times required for an application to respond to a user&#8217;s actions at such a load.<\/li>\n<\/ul>\n<\/dd>\n<\/dl>\n<p>The second set of performance metrics measures the\u00c2\u00a0computational resources\u00c2\u00a0used by the application for the load, indicating whether there is adequate capacity to support the load, as well as possible locations of a performance bottleneck. Measurement of these quantities establishes an empirical performance baseline for the application. The baseline can then be used to detect changes in performance. Changes in performance can be correlated with external events and subsequently used to predict future changes in application performance.<\/p>\n<p>The use of APM is common for Web applications, which lends itself best to the more detailed monitoring techniques.\u00c2\u00a0In addition to measuring response time for a user, response times for components of a Web application can also be monitored to help pinpoint causes of delay. There also exist\u00c2\u00a0HTTP\u00c2\u00a0appliances that can decode transaction-specific\u00c2\u00a0response times\u00c2\u00a0at the Web server layer of the application.<\/p>\n<p>In their\u00c2\u00a0APM Conceptual Framework,\u00c2\u00a0Gartner\u00c2\u00a0Research describes five dimensions of APM:<\/p>\n<ul>\n<li>End\u00c2\u00a0user experience\u00c2\u00a0monitoring \u00e2\u20ac\u201c (active\u00c2\u00a0and\u00c2\u00a0passive)<\/li>\n<li>Application runtime architecture discovery and modeling<\/li>\n<li>User-defined transaction profiling (also called\u00c2\u00a0business transaction management)<\/li>\n<li>Application component monitoring<\/li>\n<li>Reporting &amp; Application\u00c2\u00a0data analytics<\/li>\n<\/ul>\n<p>In 2016,\u00c2\u00a0Gartner\u00c2\u00a0Research has updated its definition, into three main functional dimensions:<\/p>\n<ul>\n<li>End-user experience monitoring (EUEM) has been evolved to\u00c2\u00a0Digital experience monitoring\u00c2\u00a0(DEM);<\/li>\n<li>A new dimension,\u00c2\u00a0Application discovery, tracing and diagnostics\u00c2\u00a0(ADTD), combines three formerly separate dimensions (Application topology [runtime architecture] discovery and visualization, User-defined transaction profiling, and Application component deep-dive), since all three are primarily focused on problem remediation and are interlinked;<\/li>\n<li>Application analytics (AA).<\/li>\n<\/ul>\n<p>Applications themselves are becoming increasingly difficult to manage as they move toward highly distributed, multi-tier, multi-element constructs that in many cases rely on application development frameworks such as .NET or Java.\u00c2\u00a0The APM Conceptual Framework was designed to help prioritize an approach on what to focus on first for a quick implementation and overall understanding of the five-dimensional APM model. The framework slide outlines three areas of focus for each dimension and describes their potential benefits. These areas are referenced as &#8220;Primary&#8221; below, with the lower priority dimensions referenced as &#8220;Secondary<i>.\u00c2\u00a0<\/i>&#8221;<\/p>\n<h3><span id=\"End_user_experience_(primary)\" class=\"mw-headline\">End user experience (primary):<\/span><\/h3>\n<p>Measuring the transit of traffic from user request to data and back again is part of capturing the end-user-experience (EUE).\u00c2\u00a0The outcome of this measuring is referred to as Real-time Application monitoring (aka Top Down monitoring), which has two components, passive and active.\u00c2\u00a0Passive monitoring\u00c2\u00a0is usually an agentless appliance implemented using\u00c2\u00a0network port mirroring. A key feature to consider is the ability to support multi-component analytics (e.g., database, client\/browser).\u00c2\u00a0Active monitoring, on the other hand, consists of synthetic probes and web robots predefined to report system availability and business transactions. Active monitoring is a good complement to passive monitoring; together, these two components help provide visibility into application health during off peak hours when transaction volume is low.<\/p>\n<p>User experience management\u00c2\u00a0(UEM) is a subcategory that emerged from the EUE dimension to monitor the behavioral context of the user. UEM, as practiced today, goes beyond availability to capture latencies and inconsistencies as human beings interact with applications and other services.\u00c2\u00a0UEM is usually agent-based and may include JavaScript injection to monitor at the end user device. UEM is considered another facet of Real-time Application monitoring.<\/p>\n<h3><span id=\"Runtime_application_architecture_(secondary)\" class=\"mw-headline\">Runtime application architecture (secondary):<\/span><\/h3>\n<p>Application Discovery and Dependency Mapping (ADDM) offerings exist to automate the process of mapping transactions and applications to underlying infrastructure components.\u00c2\u00a0When preparing to implement a runtime application architecture, it is necessary to ensure that up\/down monitoring is in place for all nodes and servers within the environment (aka, bottom-up monitoring). This helps lay the foundation for event correlation and provides the basis for a general understanding on how network topologies interact with application architectures.<\/p>\n<p>Focus on user-defined transactions or the URL page definitions that have some meaning to the business community. For example, if there are 200 to 300 unique page definitions for a given application, group them together into 8-12 high-level categories. This allows for meaningful SLA reports, and provides trending information on application performance from a business perspective: start with broad categories and refine them over time. For a deeper understanding, see\u00c2\u00a0Business transaction management.<\/p>\n<p>Deep dive component monitoring (DDCM) requires an agent installation and is generally targeted at\u00c2\u00a0middleware, focusing on web, application, and messaging servers. It should provide a real-time view of the\u00c2\u00a0J2EE\u00c2\u00a0and\u00c2\u00a0.NET\u00c2\u00a0stacks, tying them back to the user-defined business transactions. A robust monitor shows a clear path from code execution (e.g., spring and struts) to the URL rendered, and finally to the user request. Since DDCM is closely related to the second dimension in the APM model, most products in this field also provide application discovery dependency mapping (ADDM) as part of their offering.<\/p>\n<p>It is important to arrive at a common set of metrics to collect and report on for each application, then standardize on a common view on how to present the application performance data. Collecting raw data from the other tool sets across the APM model provides flexibility in application reporting. This allows for answering a wide variety of performance questions as they arise, despite the different platforms each application may be running on. Too much information is overwhelming. That is why it is important to keep reports simple or they won&#8217;t be used.<\/p>\n<p>The above is a brief about Application Performance Management. Watch this space for updates on the latest trends in Technology.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the fields of\u00c2\u00a0information technology\u00c2\u00a0and\u00c2\u00a0systems<\/p>\n","protected":false},"author":1,"featured_media":1728,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[589,923,7],"tags":[591,924,18],"class_list":["post-1726","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-performance-management","category-software-application","category-techtrends","tag-application-performance-management","tag-software-application","tag-technology"],"_links":{"self":[{"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/posts\/1726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/comments?post=1726"}],"version-history":[{"count":1,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/posts\/1726\/revisions"}],"predecessor-version":[{"id":1727,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/posts\/1726\/revisions\/1727"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/media\/1728"}],"wp:attachment":[{"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/media?parent=1726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/categories?post=1726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.amt.in\/index.php\/wp-json\/wp\/v2\/tags?post=1726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}