DevOps / Networking / Sponsored / Contributed

Applying a DevOps Approach to the Network Your App Runs On

9 Mar 2021 9:09am, by

Mike Hicks
Mike is a principal solutions analyst at ThousandEyes, a part of Cisco, and a recognized expert with more than 30 years of experience in network and application performance.

If you were to put application and network teams into a single room and ask them if ensuring optimal application performance and availability for their end users was critical to the success of their companies, you would undoubtedly have all heads shaking yes. The question, of course, is how?

Many of us have lived through war rooms urgently called in response to degraded customer experiences, due to a performance or availability problem with a key application. Today’s modern applications are more distributed and modular than ever before, so not only has the number of stakeholders increased, but the lines of demarcation have also become blurred — causing confusion over responsibilities. Managing and optimizing application performance today is dependent on an increasingly complex underlying network and internet infrastructure that traditional application monitoring solutions fail to bridge, leaving visibility gaps for DevOps and NetOps to struggle with.

These heterogeneous environments introduce changing conditions that are sparking new tactics to manage the application experience; and monitoring is one of them. By combining real-user monitoring with synthetic proactive transactions, performance issues can be detected beyond the four walls of the enterprise — and into the external cloud and internet-centric environments that impact digital experiences today. In addition to quickly diagnosing and resolving disruptions, synthetic monitoring opens up a new approach to designing, testing and optimizing how the broader ecosystem of network performance impacts application experience — all in pre-production before any updates or changes are rolled out to users.

Using Synthetic Monitoring to Optimize App Performance, Continuously 

At its core, synthetic monitoring uses scripts to emulate the expected workflow and path that an end user would take through an application. Paired with network pathing around routing visibility, modern synthetics provides an understanding of how users experience an application, as well as the deeper perspective required to see the characteristics of an application’s underlying network — to diagnose if degradation may be caused by external issues such as a latent DNS server, or a downstream Internet Service Provider that has made a configuration error leading to network traffic becoming bottlenecked through its infrastructure.

From an optimization perspective, synthetic monitoring that correlates visibility across network, application, routing and device layers, also provides a continuous improvement model. In this model, which borrows from the DevOps approach, the first order of priority is to identify baseline performance and any third-party dependencies that may impact it. Second, use this baseline to identify areas of improvement that would optimize application performance. Third, roll out those optimization efforts in the pre-production environment, to test both the application performance as well as the impact of backend network infrastructures (such as choice of cloud provider, DNS provider, or impact of geographic location). With that level of visibility into the networks that businesses today rely on but don’t control, teams can deploy end-to-end performance thresholds for continuous testing and continuous improvement — creating a continuous improvement process.

Optimizing Applications Means Optimizing Business

Applications today have become the backbone of the business, as the primary mechanism of how services are delivered and consumed. As the dependencies on external cloud- and internet-centric environments increase, contextual insight into the underlying network that the application relies on becomes increasingly important. How applications are designed, deployed and optimized is therefore critical.

To optimize application experiences and manage the entire backend set of interdependencies that impact performance, more advanced monitoring is required. But also a new approach to the job itself. No matter how good our tools become, they are of little use if we don’t use them. While application and network teams have traditionally operated in silos, the DevOps approach to continuously test and improve both the application itself and the internal and external network that it’s run on, is creating a new opportunity to reach higher levels of performance. So in the next war room, rather than pointing fingers, we can start collaborating for the sake of the application — and for the sake of the business.

Feature image via Pixabay.

A newsletter digest of the week’s most important stories & analyses.