In developed economies, people who don’t use information technology are rare. Organizations not utterly reliant on IT are virtually unheard of. Everything is an app, and apps are at the heart of modern business success. So what’s the best way to ensure the applications we all depend on are operating as expected and when they’re needed?
Monitoring is at the core of IT operations. You can’t fix what you don’t know about and don’t measure. After years of stagnation, however, the art and science of monitoring is evolving, devaluing traditional best practices and requiring organizations to rethink their entire approach to IT operations.
Today’s IT teams are—as they’ve always been—ultimately responsible for application performance. The rise of cloud computing, mobile devices, and remote work and the inextricable intertwining of supply chains, however, present IT teams with new issues.
These teams are now responsible for the performance of applications they have no direct control over. Some examples include software as a service (SaaS) applications, applications provided by suppliers, and third-party data sets, such as those provided by open government initiatives.
“34% of tech pros feel they need to improve their current skill set/ability to track impact across key business metrics to more confidently manage their organization’s IT environment.”
(Cloud Confessions 2020)
Delivering a consistent, acceptable user experience requires IT teams to learn new skills. In addition to learning how to make things in the cloud do what they’re supposed to do, IT teams must learn to extract information about application performance from new data sources.
There are two main classes of application-specific measurements potentially available. The first concerns application performance metrics coded into the applications themselves during application development. The second class of application-specific measurements concerns user performance metrics.
User performance metrics can be determined by recording and “playing black” synthetic transactions and measuring their performance. This is typically referred to as “synthetics.” Synthetics are popular for web-based applications as they can literally “walk” the transaction flow as a potential user might; giving insights into web page availability, page load speeds, and where bottlenecks might be—enabling optimization and monitoring of webpage performance for the web application. Code can also be seamlessly and automatically injected into a web frame, so actual, real user performance experience can be measured, a process called real user monitoring (RUM).
Finally, independent of application-specific metrics, you must also use a set of indirect metrics. Determining why an application is performing poorly means determining the state of multiple intermediate networks comprising the internet path(s) between the end user and the application or between an application and something else. (Machine-to-machine performance can matter just as much as user experience!)
Application performance management
(APM) tools exist to help with this. They combine broad sets of application, database, server, virtual host, and container performance metrics, determining application performance in terms of application transactional throughput and response time.
APM tools can offer chronological and relationship-based alignment for metrics and events, allowing IT teams to see what individual infrastructure components were doing when an error or slowdown occurred. Additionally, they give IT teams the ability to view what happened before and after an event to see what may have contributed to the issue. Better APM tools allow for a seamless marriage (in context) between application-specific performance metrics, end-user experience metrics, and the underlying IT infrastructure performance metrics such as database, server, virtual host, and container. Finally, APM tools typically offer analysis capabilities, simplifying the challenges associated with determining application performance using solely infrastructure or indirect metrics.
In short, APM tools provide IT teams with the information they need to brief business leaders on how their apps are performing and what this means for the business—even when the applications they’re supervising aren’t under their direct control.
Just as finding an organization without computers is nearly impossible, all-on-premises or all-cloud organizations are both uncommon. Most of today’s organizations are engaged in hybrid cloud computing.
Today’s organizations use a mixture of commercial off-the-shelf (COTS) software, which is typically hosted on-premises or in a colocation facility; software as a service (SaaS) applications like Microsoft Office 365; and custom applications developed in-house, typically by DevOps teams responding to new business needs. Traditional monitoring suites were never designed for this level of complexity.
The same organic growth leading organizations to evolve their IT operations into a hybrid cloud model also drove these organizations to add more monitoring applications. Suites upon suites were added, each targeting a different segment of the organization’s infrastructure or monitoring an aspect of someone else’s. This approach, however, simply doesn’t scale.
It takes a great deal of domain-specific knowledge and expertise to infer actionable insights from raw infrastructure metrics. This is why we use monitoring applications in the first place; they do a lot of the heavy lifting for us, and we analyze summarized (or at least graphed) results. In the same fashion, asking IT teams to track an ever-increasing collection of independent monitoring applications places a significant burden of responsibility on IT teams to correctly correlate, analyze, and interpret data.
The metastasizing monitoring approach becomes less effective as application complexity and technological diversity increase. Monitoring tools need to be consolidated into the smallest possible number of highly capable, multi-use suites.
Cross-functional monitoring applications—a role increasingly occupied by APM tools—can look at metrics from across an organization’s entire
infrastructure (on-premises and off) and an ever-increasing breadth of the organization’s application environment. Increased visibility allows you to correlate more metrics, automate more of the analysis process, and significantly improve time to incident resolution. This enables proactive problem prevention and common business and IT operations visibility.
Choosing an APM Tool
To be effective, APM solutions must be more than a set of reactive troubleshooting tools. They must be able to monitor an organization’s entire infrastructure, from microservices and hypervisors to databases, storage, and every network in between.
Businesses should choose app-agnostic monitoring solutions capable of monitoring the performance of any type of application.
These solutions should be also affordable, so they can be used everywhere; the whole purpose of tools like these is to monitor as much as possible. If you don’t measure everything, it’s extremely difficult to find and fix “noisy neighbor” performance problems.
Finally, APM solutions must be simple to configure, deploy, and manage. Nobody wants to install, configure, and manage monitoring tools as complicated as the 2005-era Microsoft System Center suite. Above all, APM suites must provide the actionable insights businesses increasingly demand of their IT operations.