Making APM a Company-Wide Effort

This is an article from DZone’s 2021 Application Performance Management Trends Report.

For more:

Read the report

Today, more than ever, users do not want to wait and tolerate failure. Nearly 50 percent of users expect a loading time of less than two seconds. Excessive connectivity has become the new status quo, and with it comes greater pressure on the industry to provide the best possible service. This has also transformed the software applications landscape into a complex web of components – from APIs to CDNs – each of which can easily become the weak link when a problem occurs, leading to poor customer experiences and unhappy users.

Teams of developers, product owners, test engineers, etc. have to work more closely and easily than ever before to solve these issues. This is where Application Performance Management/Monitoring (APM) can help manage expectations of performance, availability, and user experience. APM helps teams and companies understand these expectations by collecting and analyzing program performance data to discover potential issues, alerting teams when baselines are not being met, providing insight into root causes, and taking action to resolve problems faster (even automatically) with minimal impact on users and businesses.

State-of-the-art APM

When the first APM solutions were designed, the most common software architectures were different than they are today – they were simpler and more predictable. Demand has prompted applications to move from a monolithic architecture to a distributed architecture in the cloud, which is often more complex and more difficult to manage and monitor without dedicated tools. This increasing complexity has forced APM to search for new strategies and monitor the countless moving parts now in the software package.

Additionally, over the past two years, social distancing due to the COVID-19 pandemic has forced a new shopping paradigm, and consumers – for safety and convenience – have turned to this new digital experience. In the US alone, in March 2020, 20 to 30 percent of the grocery business moved online, reaching a penetration of 9 to 12 percent by the end of 2020 – and expectations are expected to continue to grow.

unsatisfactory experience

Countries such as Germany and Switzerland, known for their preference for the use of physical currency, have largely switched to wired or contactless payments, either out of government restrictions or to avoid unnecessary contact.

The pandemic has not only changed the way we behave in the world, but it has also changed the way we interact with technology to meet our daily needs. It is now imperative that software be more predictable and reliable than ever, because it not only meets our needs, but also our safety.

APM will be necessary to meet these requirements, giving DevOps teams insight into isolating the problem and prioritizing which thus shortens the MTTR (Mean Time to Repair), thereby maintaining service availability and expertise. Increasing demand by companies to meet the requirements of shorter time to market, acceleration of cloud and container migrations, and the evolution of technology stacks are all contributing to organizations’ efforts to aggressively keep pace with the new wave of users, which has increased the risks of outages and delays.

The future is to combine observability and artificial intelligence to create applications for self-healing. Combined with machine learning, real-time telemetry, and automation, it is possible to anticipate application issues based on system outputs and resolve them before they have a negative impact. Moreover, machine learning will help in driver identification, prediction, anomaly detection, and system noise reduction.

Successful APM Accreditation: A Culture Shift

Monitoring and monitoring is an important part of the software development lifecycle. Not only does it help ensure user satisfaction, as well as prevent and detect anomalies and flaws, but it also helps discourage a wasteful mindset. This mindset is, in part, a result of the monitoring and control strategies that are often seen as the responsibility of operations teams; Therefore, they usually do not enter the development cycle and become an afterthought.

Most companies only use monitoring and control strategies in production environments, which poses a challenge for development and quality teams to get a full understanding of their applications and take advantage of features like tracking, error forecasting, etc. to reduce defects during the development phase. This is why APM selection, implementation, and configuration should be done in tandem with feature development early in the design process to ensure the robustness of the solution.

The question that must be answered is: Whose responsibility and ownership? As shown in the image below, the uses of APM solutions provide insight for many stakeholders.

APM solutions for stakeholders

All stakeholders should be involved in defining requirements, preparing expectations, creating metrics and inquiries who will be responsible for creating rules, budgets and perceptions. It is not easy to understand the metrics that only have to be closely examined. Since all telemetry is stored and analyzed, and we are constantly bombarded with information, we must be convinced of the chosen metrics.

So what makes a good scale? Daniel Yankilovic sums up some common mistakes made when measuring: “The first step is to measure anything that can be easily measured. This is good as far as it goes. The second step is to ignore what cannot be easily measured or give it a random quantitative value. This is artificial and misleading. The third step is Assuming that what cannot be easily measured is not really important. That is blindness. And the fourth step is to say that what cannot really be easily measured does not exist. That is suicide.” – Daniel Yankilovich, “Company Priorities: A Continuous Study of New Requirements on Business”, 1972

Strong scale properties

Durable metric properties

Metrics are used on a daily basis to support decisions and drive successful outcomes. For a meter to be effective and reliable, it must have the following characteristics:

  • Concept When choosing a scale, a person should be able to understand the meaning of each value. If teams aren’t able to discuss one of the metrics they’re tracking, it makes no sense.
  • effective – The purpose of metric tracking is to help make decisions. Tracking should always improve behaviors and motivate change. If the value exceeds a limit or the scale begins to fail, it should be clear what the effect is and what should result in it.
  • Comparative / Progressive – Being able to compare a scale to other time periods or release versions, for example, can help in understanding progress, and help identify long-term highs or trends. It’s clear to read “transfer rate 12 percent higher than last week” than “transfer rate 50 requests per second”. The first conveys improvement, and the second, without context, only indicates value.
  • Easy to measure, stable and responsive If the effort to measure a metric is enormous and needs to implement new complex systems for the sole purpose of measuring and calculating that metric, it probably isn’t worth measuring in the first place. Making decisions based on a scale generated inside a black box is not ideal. The complexity of the solution must be weighed against the gain – or even lead to the selection of a more realistic scale. When implementing scaling, future implementation must also be considered to accommodate the volume of data and the ability to apply it across the platform.
  • relevant – It should align with teams and business goals. All metrics should be tracked, if possible, but in the case of creating custom metrics or collecting something that isn’t out of the box, vanity metrics are good for team morale, but it shouldn’t be overall.
  • At present – The time to calculate and collect the measurement should not be so long that its display time makes it out of date.

These metrics, when carefully chosen, can become criteria for communicating the state of the system with teams or stakeholders. They can also serve as a catalyst when sharing good results, for example, from technical or marketing initiatives.

Keep in mind: It is critical to have executive level support to ensure successful implementation of APM systems as well as monitoring and monitoring technologies.

Integrating the power of Application Performance Monitoring and AIOps, which has become an intertwined concept, teams can work together to implement it in their operations and gain the ability to:

  • Find out why apps are slow
  • Automate global visibility – with little intervention from the teams
  • Accessing a service topology map visualization that can help identify and solve problems faster, while showing all the dependencies between the application and infrastructure components
  • Monitor and collect information for application usage from the user’s perspective – either proactively through synthetic monitoring or passively through RUM (Real User Monitoring)
  • Identify and alert on deviation trends and performance issues to help build better contingency plans and anticipate future events that may affect the user
  • Profile user actions from front end to back end so that they can be traced back to code, database query or third party call

conclusion

Ultimately, APM aims to provide insights through a diagnostic view that exploits every element of the software so that the end-user experience can be understood and continually improved. By making monitoring and citizen monitoring first-class in the development process, teams can focus more on the quality of solutions and less on fighting fires.

This is an article from DZone’s 2021 Application Performance Management Trends Report.

For more:

Read the report

.

Leave a Comment