Musings on Monitoring after App Modernization

Published November 02, 2020

"Technology offers a fantastic capacity to reduce work and inefficiency, but it also requires careful planning and refinement to ensure it doesn't create more work than it eliminates. As the numbers of customers logging on to [redacted] Internet-based applications has increased, the Internet Project Team has also implemented measures to ensure customer experiences are as smooth and effective as possible.
The [redacted] internet order entry and Internet invoice entry allow customers to access … information regarding their shipments while reducing manual intervention and paperwork. By rethinking and reconstructing each process, the Internet Project Team has achieved savings that can also grow exponentially."

This statement is etched into a plaque that hangs on my wall. It is dated January 25, 2000.

I'll wait while you read that date again.

You see, app modernization is not a new concept. It's gained prominence as a significant CIO priority in recent years due to the rapid acceleration of demand for digital experiences, but it's nothing new.

Throughout the course of 1999, the members of that Internet Project Team extended an existing, legacy application with a web-based interface. I won't traumatize you with the gory details of implementing CICS and wrestling with CORBA or the chore that was forcing Open SSL to work with MQ Series. Suffice to say there was a lot of "modern" technologies mashed up with "traditional" technologies to get the job done.

The Internet Project Team could be renamed the Digital Transformation Team today and nothing else about that opening statement would really change. 

This is the same monumental task required of CIOs today: modernizing applications by extending access into the digital realm. Whether through a mobile app using APIs to interface with an existing monolithic mainframe app or via message queues that connect Slack to a traditional client-server based customer service application, the task facing enterprise IT today is not merely to transform monoliths to microservices, but to make microservices talk to monoliths.

Monitoring the Menagerie

The combination also poses a challenge for operations. The metrics and monitoring for a monolith are often markedly different than those available today for microservices. Very few monoliths are instrumented to report relevant telemetry, and even microservices often fail to provide the dirty details operations needs to trace a transaction across architectures.

It’s a big mess.

A single business-critical monolith is likely to support multiple modern services. Each service—such as opening an account, closing an account, submitting an order—are unique digital experiences. Each one needs to be monitored as its own entity. Monitoring performance and security contextually—as a unique flow—is critical to being able to answer the question, "How is my customer experience today?"

This is one of the benefits in taking advantage of F5 technologies. Because we are in front of so many applications—both new and old, internal and external—we see all the interactions. From them, we can collect and infer metrics relative to the entire digital flow, whether monolith or microservice. That context is what pushes beyond visibility and closer to operability.

App modernization isn't new, but our ability to monitor flows across the resulting constituent applications and services is. And it is that ability that will ultimately fuel analytics capable of offering insights that are both actionable and automatable.