There are actually two walls in the delivery path for applications. The first is between development and production. That wall has long caused friction between IT and dev. While DevOps methodologies have begun to break down the delivery to production wall, the other wall is not so easily breached.
That other wall is the delivery to consumers. The one over which newly released applications are thrown at consumers with the hope they will perform as expected.
Expectations that are, unfortunately, rarely met.
According to the App Attention Index 2019, the top two frustrations causing a "bad experience" with applications are: performance (55%) and availability (40%).
Myriad obstacles stand in the way of our ability to address underlying issues with performance and availability. First and foremost is identifying the underlying issue.
Visibility is often cited as one of the top challenges faced by every role in the applications data path. But the reality is that visibility isn't the real problem. We can, and often do, generate more data at every point in that path than we can reasonably consume. Data—telemetry—is emitted by routers and switches, servers and frameworks, application services, browsers, and mobile applications. The issue is that we cannot easily piece that telemetry together to understand the business and technical flow of a consumer interaction. We can't quickly identify which point in the delivery path is causing a problem.
Application Performance Monitoring (APM) has long promised to provide the visibility necessary to rapidly and accurately troubleshoot issues with performance. Unfortunately, the telemetry gathered at various points along the application data path is rarely correlated in a meaningful way. Each set of telemetry is gathered by its own system and visualized via its own dashboard. By the time we leverage tools that can ingest it all and offer an end-to-end view, the problem has either resolved or the customer has abandoned the application and the brand.
32% of all customers would stop doing business with a brand they loved after one bad experience. (PWC)
We've tried visibility via a variety of APM solutions for decades and have failed to realize what businesses need to satisfy the expectations of its customers: operability.
Operability is the ability to ensure an application continuously runs well but is effortless to troubleshoot when it does not.
Because there are so many points at which an issue could arise to impede an application's performance or availability, operability demands a comprehensive and holistic approach rather than simply monitoring a few endpoints. This means observing the application, its web/app server, the application services that secure and scale it, the underlying infrastructure, and the browser or mobile app that acts as the user interface. It means collecting telemetry from every insertion point possible in order to generate the "big picture" needed by ops and IT and developers to quickly - and painlessly - pinpoint problems and resolve them.
This requires more than just emitting telemetry at the right places in the application data path. It will take the ability to ingest, process, and analyze an entire business flow through telemetry in near real-time. Operability needs a comprehensive platform capable of ingesting and analyzing telemetry from as many points along the application data path as possible.
Only then will we gain the ability to provide the unified view of a digital experience that also enables the effortless identification of the source of a problem.