In the last blog, I discussed the challenges with an APM 1.0 solution.
As an application owner or application support personnel, you want to
- Exceed service levels and avoid costly, reputation-damaging application failures through improved visibility into the end-user experience
- Ensure reliable, high-performing applications by detecting problems faster and prioritizing issues based on service levels and impacted users
- Improve time to market with new applications, features, and technologies, such as virtualization, acceleration, and cloud-based services
The APM 2.0 products enable you to manage application performance leading with real user activity monitoring. Following are some of the top functionalities they provide that help you achieve your business objectives.
Visibility to real users and end-user driven diagnostics
- APM 2.0 solutions provide visibility to end-to-end application performance as experience by real end users and help application support to focus on critical issues affecting end-users.
The dashboard shown in Figure 1, as an example, provides visibility of application performance as experienced by users in real-time.
- As an application owner, you probably care about which users are impacted, what pages they are navigating and what kind of errors they are getting. You want your APM product to improve MTTR by identifying what is causing the latency issues or failure e.g. network, load balancer, ADN like Akamai, SSL or the application tier itself. Figure 2 shows a specific user session and what pages the user navigated and identified that the application tier is the cause.
- The “details” link in Figure 2 allows the application support personnel to drill down further which application tier is the culprit for the slow or failed transaction in context to the specific user. This allows the application support personnel to track end-user request to the line of the code.
Ease of use and superior time-to-value
You want to use a product that is simple to use for your application support / operation team.
- A modern APM solution does not require manual definition of instrumentation policies.
- It should not require manual changes such as Java script injection for visibility to the end user.
- APM 2.0 tools provide ability to drill down from end-user to deep-dive for diagnostics and drill up from deep-dive data to identify the impacted user and the context for the transaction without having to do a manual correlation, jumping between consoles.
- The agent install is typically a 5-10 mts process in the modern APM deep-dive tools.
- The APM 2.0 deep-dive solution provides automatic detection of application servers, business transactions, frameworks etc.
Figure 3 shows a specific user transaction request and latencies by tiers. It also shows the SQL and latencies information.
Suitable for production deployment
- The real user monitoring tool should be non-invasive in nature and it should not put additional overhead on application response time.
- You should be able to deploy an always-on, deep-dive monitoring and diagnostic solution for your production enterprise and cloud-based applications.
- It should work in an agile environment without having to configure new instrumentation policies with application releases.
- It should scale for a large production deployment to 1000s of application servers that you want to manage in your production environment.
Operations Ready product and enables DevOps collaboration
The APM 1.0 products were originally built for developers and hence they were not very intuitive for operations use. The APM 2.0 products are operations friendly. Also you would expect some of those to enable DevOps collaboration for intelligent escalation to development.
- Most application support personnel do not understand what frameworks or application technologies used by an application. The majority deep-dive tools in the market move very fast from a transaction view to line of code thus being not providing much value to operations team.
For example, Figure 4 shows the transaction break-down by specific technologies used by the transaction. This also provides baselines for different tiers and the system resource usage along with tiers to make intelligent decision. Figure 3 shows an application flow map for a specific transaction and time spent in each SQL or a remote web service call without having to drill down to the line of code.
- There are many instances operations team need to escalate problems to developers. The tool should allow application support personnel to escalate to Tier 3/development for diagnostics by sending a direct link to the diagnostic instance. However in many organizations, developers do not have access to production environment and as shown in Figure 5, solution from BMC allows exporting the diagnostics data call tree with latency, parameters, etc in a HTML format.
Adaptive to virtualization and Cloud environment
The new APM 2.0 products are purpose-built and architected for cloud and virtualized environments.
- The APM 2.0 product components and agents are designed to communicate in a firewall-friendly protocol and can be encrypted / secured.
- They support virtualized and dynamic environment without causing a lot of false alerts.
- They support modern cloud frameworks and Big Data platforms such as Hadoop.
The APM 2.0 solution provides the functionalities that you need to manage your applications that will help exceed business expectations and increase customer loyalty. These tools provide capability to improve time to market. These provide you understanding how application performance affects user behavior — and how that behavior impacts the bottom line. You can leverage an APM 2.0 solutionlike BMC Application Performance Management to improve your application performance and thus meeting your business objectives.