The Evolving Needs of Application Performance Monitoring - Part 1
October 09, 2019

Jean Tunis

Share this

"Change is the only constant in life."

This is a quote often attributed to the Greek philosopher, Heraclitus. In the world of application performance monitoring, you know this to be true. Things are always changing. New technologies force you to come up with new ways and processes for doing things. And new challenges force you to develop new methods of solving old problems.

Performance monitoring is an old problem.

There's always been the need to monitor application performance, but not always the ability to do it well. As technology has advanced, we've had to evolve how we monitor applications. Initially, performance monitoring largely involved sending ICMP messages to start troubleshooting a down or slow application.

Applications have gotten much more complex, so this is no longer enough. Now we need to know not just whether an application is broken, but why it broke. So APM has had to evolve over the years for us to get there.

But how did this evolution take place, and what happens next? Let's find out.

Phase 1: The Early APM Days

The concept of application performance monitoring (APM) has existed since the early days of the ARPANET. Ever since the 1970s when the first email was sent, there has been a need to know what's happening with applications. But unfortunately, the capability didn't exist. It had to be created.

Much of that work was accomplished in the 1980s. During that time, there were diagnostic protocols and tools developed to help troubleshoot problems on the network. In the toolbox were things like ICMP, SNMP, and tcpdump. Using monitoring tools that implemented these, you could see how systems were performing. But you really couldn't dig too much into what the applications were doing. It was like a black box.

Since applications were simpler then, the need wasn't as bad.

Then came Java in 1996.

The ability to write code using the Java programming language, and run it on any operating system, changed everything.

The Java Virtual Machine (JVM) introduced another layer of abstraction, reducing application visibility even more. In cases when a whole application, with all of its components, runs inside the JVM, SNMP-based or sniffer monitoring tools could not help much. At this point, these tools are doing infrastructure performance monitoring(IPM).

So APM needed to evolve again.

New agent-based tools were introduced in the late 1990s and early 2000s that would provide visibility inside the JVM. Monitoring the monolithic Java applications of that day became possible.

During this time, the infrastructure wasn't changing that much. The software development process, using the Waterfall model, was pretty slow by today's standards. Because of that, many business applications were installed and running on only a handful of servers.

But that began to change.

Phase 2: Web 2.0 days of APM

The mid to late 2000s brought about changes in software development that lead to things such as service-oriented architectures (SOA). It also marks the start of the Web 2.0 era of the Internet.

During this time, many businesses were moving away from Waterfall to Agile software development process. To do this, many single-tiered and siloed applications were broken up. SOA helped accomplish this because various application components broken up into services could now run on separate systems.

With SOA also came the increased use of XML-based Simple Object Access Protocol (SOAP). While this helped with breaking up applications, XML's chattiness proved to be a performance problem. This meant that you had to be mindful of the distance between your XML clients and servers.

Having these application services run on different systems increased application complexity. The monitoring offered by Phase 1 APM tools was no longer enough. Instead of having one agent that could report metrics data, we now needed multiple agents. Data sent back to the tool needed merging to create a single view of application performance.

Also, visibility all of the communication between services that are on the same servers was a must-have. APM tools were needed that could collect not only Java and .NET transaction data, but also from other languages. APM vendors had to start supporting languages such as PHP, Rails, and Python being used more for software development.

APM tools needed the ability to follow a user transaction from one service to another. They also needed to provide a single view on overall application performance for that transaction. So, Phase 2 APM tools had to give us more.

But ever the constant, more change came ...

Read The Evolving Needs of Application Performance Monitoring - Part 2, covering APM today and in the future.

Jean Tunis is Principal Consultant and Founder of RootPerformance
Share this

The Latest

July 16, 2020
eCommerce companies have entered into the domain of mobile applications given the huge number of customers using such apps on their smartphones on the go. However, these apps are vulnerable to both performance and security issues. Performance-wise, the apps may slow down while loading or transacting, give erroneous counts, become non-responsive across devices, and many more. So, the need of the hour for enterprises developing such applications is to invest in eCommerce performance testing ...
July 15, 2020

Digital Experience Monitoring is a tool that should be integrated with an organization's change management strategy. A key benefit of SaaS/cloud is no longer being responsible for software and hardware upgrades, maintenance, and patch cycles. Migrating to Microsoft Office 365 means no longer spending precious time and resources on Windows, Exchange or SharePoint upgrades for example. But that doesn't mean that IT can ignore changes or doesn't need to monitor for their effects ...

July 14, 2020

As systems become more complex and IT loses direct control of infrastructure (hello cloud), it becomes both more difficult and more important to capture and observe, holistically, the user experience. SaaS or cloud apps like Salesforce, Microsoft Office 365, and Workday have become mission-critical to most businesses and therefore need to be examined when it comes to experience monitoring ...

July 13, 2020

Newly distributed operations teams are struggling to cope with the sudden change to the WFH (work from home) concept. IT operations teams were traditionally set up to work from centralized locations, unlike software and engineering teams. Some organizations have overcome that by implementing AIOps solutions; others are using a brute force method of employing more IT operations analysts to keep the distributed NOCs going ...

July 09, 2020

Enterprises that halted their cloud migration journey during the current global pandemic are two and a half times more likely than those that continued their move to the cloud to have experienced IT outages that negatively impacted their SLAs, according to Virtana's latest survey report The Current State of Hybrid Cloud and IT ...