Welcome!

Machine Learning Authors: Yeshim Deniz, Pat Romanski, Elizabeth White, Zakia Bouachraoui, Liz McMillan

Related Topics: @DevOpsSummit, Java IoT, Machine Learning

@DevOpsSummit: Article

Transaction-Centric NPM | @CloudExpo #APM #DevOps #Microservices

When there’s a performance problem with a critical application, our immediate goal is to restore service as quickly as possible

Transaction-Centric NPM: Enabling IT Operations/Development Collaboration

In my last post, I wrote about the value of IT / business collaboration, and the importance of a common language, a common definition of end-user experience - user transaction response time - as the one performance metric both IT and business have in common. In it, I provided some background on the importance of understanding exactly how we define response time, since this definition dictates the usefulness of the measurement. For the sake of brevity, I'll summarize three common definitions here:

  • Session-layer response time: request/response measurements specific to an application
  • Application component response time: component-level performance unique to specific application functions
  • User transaction response time: click to glass, or end-user experience

These definitions remain important as we consider the other key part of the organization that IT operations must collaborate with: the development team. This is something that you probably already do, perhaps too frequently, and these encounters might remind you of attempting to use your high school French as you attempt to explain your indigestion to a harried pharmacy clerk in Paris. (I never claimed to be a master of analogies.)

Application Performance Triage and AA NPM: A Tenuous Partnership
Let's set the stage a bit more. When there's a performance problem with a critical application, our immediate goal is to restore service as quickly as possible. A triage approach begins with identifying the problem, progresses to isolating the fault domain, and leads to capturing enough diagnostic insight to prove the conclusion, facilitating efficient handoff to the appropriate domain team. Sound familiar? Not only is it something you practice frequently, it is the promise made by most AA NPM (and many other) solutions. But what constitutes appropriate diagnostic insight if the problem is related to application processing? (After all, they can't all be network problems.)

The answer is something more than a session-layer response time measurement, that ubiquitous metric present in virtually all AA NPM solutions since the late 1990s. These very basic measurements summarize all request/response timings on a given TCP connection without differentiating between transaction types, unfortunately and unavoidably mixing 10 millisecond queries with 15 second reports. While the label - "Application response time" - may sound promising, the measurements themselves are relatively unactionable in real life. Armed with this measurement, the information you are able to pass to the development team is only slightly more interesting than saying "my network tool says your app is slow." (Or, to the French pharmacy clerk, "J'ai mangé quelque chose de mauvais - I ate something bad.") The result? The now-proverbial war room. (I'll poke at some war room promises in another blog.)

Identifying Transactions
For probe-based solutions, deep packet inspection (DPI) approaches can add valuable insight into these rudimentary session-layer measurements by identifying the transaction that each measured request/response exchange represents. A web URI, a SOAP request and a SQL select statement are common transaction examples; each would be comprised of a single request message followed by a single reply message (and of course each message could be transported via multiple network packets). DPI can be used to extract the transaction identification from the HTTP header, the SOAP body, or the database-specific SQL syntax. Given this capability, unique transaction-specific measurements can be recorded, baselined, reported, assigned thresholds, and used to generate performance alerts. No longer is the measurement mixing a complex Java server page that takes 6 seconds with a simple JavaScript request that takes 100 milliseconds, or a 5 millisecond SQL select statement with a 15-second stored procedure.

In order for this DPI approach to be broadly effective, the analysis (decode) must be sophisticated and flexible enough to parse important transaction parameters. A contemporary example is a web application that uses a single URL for many different transactions, where the transaction parameters are not included in the URL string itself, but rather embedded in the request body. The decode must be able to understand and act on this complexity, and not use the single URL as the identifier for all transactions.

Transaction Visibility Is Just the Beginning
This application transaction or component measurement can be considered the lowest common denominator required for effective collaboration with the development team. It should provide enough diagnostic insight to accomplish two goals inherent in triage:

  • Accept that there is a problem related to an understandable application/code function (even though the data comes from a network tool)
  • Begin to investigate the application logic invoked by the transaction, along with underlying dependencies.

The development team may still have to work to reproduce the problem (especially if it is intermittent) and trace code execution (this isn't a Dynatrace PurePath, after all), but it achieves our stated goal of inter-team collaboration by defining the problem in language that the development team can relate to. (Ça va?)

If I were only concerned with highlighting the fundamentals of communicating with development teams, I might stop here. (In fact, in the extended AA NPM market, it's quite common to stop here.) But there remains a critical missing link, one that significantly impairs your ability to leverage this application transaction insight.

Click here for the full article

More Stories By Gary Kaiser

Gary Kaiser is a Subject Matter Expert in Network Performance Analytics at Dynatrace, responsible for DC RUM’s technical marketing programs. He is a co-inventor of multiple performance analysis features, and continues to champion the value of network performance analytics. He is the author of Network Application Performance Analysis (WalrusInk, 2014).

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


CloudEXPO Stories
Your job is mostly boring. Many of the IT operations tasks you perform on a day-to-day basis are repetitive and dull. Utilizing automation can improve your work life, automating away the drudgery and embracing the passion for technology that got you started in the first place. In this presentation, I'll talk about what automation is, and how to approach implementing it in the context of IT Operations. Ned will discuss keys to success in the long term and include practical real-world examples. Get started on automating your way to a brighter future!
The challenges of aggregating data from consumer-oriented devices, such as wearable technologies and smart thermostats, are fairly well-understood. However, there are a new set of challenges for IoT devices that generate megabytes or gigabytes of data per second. Certainly, the infrastructure will have to change, as those volumes of data will likely overwhelm the available bandwidth for aggregating the data into a central repository. Ochandarena discusses a whole new way to think about your next-gen applications and how to address the challenges of building applications that harness all data types and sources.
Whenever a new technology hits the high points of hype, everyone starts talking about it like it will solve all their business problems. Blockchain is one of those technologies. According to Gartner's latest report on the hype cycle of emerging technologies, blockchain has just passed the peak of their hype cycle curve. If you read the news articles about it, one would think it has taken over the technology world. No disruptive technology is without its challenges and potential impediments that frequently get lost in the hype. The panel will discuss their perspective on what they see as they key challenges and/or impediments to adoption, and how they see those issues could be resolved or mitigated.
CloudEXPO New York 2018, colocated with DevOpsSUMMIT and DXWorldEXPO New York 2018 will be held November 12-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI and Machine Learning to one location.
DXWorldEXPO LLC announced today that Nutanix has been named "Platinum Sponsor" of CloudEXPO | DevOpsSUMMIT | DXWorldEXPO New York, which will take place November 12-13, 2018 in New York City. Nutanix makes infrastructure invisible, elevating IT to focus on the applications and services that power their business. The Nutanix Enterprise Cloud Platform blends web-scale engineering and consumer-grade design to natively converge server, storage, virtualization and networking into a resilient, software-defined solution with rich machine intelligence.