Five Tips for Supercharging Your DevOps Practice with APM
In today’s digital landscape, application performance matters more than ever before. This is perhaps best underscored by a recent Riverbed survey that revealed 99% of decision-makers believe that optimizing digital performance (i.e., the delivery of applications and other digital services) is essential to ensuring business performance.
To keep those apps up and running at top-notch speeds, IT organizations need to expand their usage of application performance management (APM) tools. By shifting APM usage to the left of the application lifecycle—design, development, QA, and onward—teams are far more likely to release new features that achieve service-level objectives and delight end users.
This extended use of APM is becoming more apparent amongst DevOps practitioners, who see monitoring as a means of ensuring high-quality releases, even during high rates of change that could otherwise lead to unstable environments. Consider this: advanced DevOps teams have fewer faulty releases and resolve performance issues far faster when they do arise. This despite the fact that they are pushing code updates more frequently than their less-advanced peers. It’s probably safe to assume APM and solid monitoring practices play an integral role here.
That being said, not all APM tools are created equal. Nor are the monitoring practices IT and business leaders use to keep critical apps and services up and running. Here are five considerations for achieving higher rates of success with APM for DevOps.
1. First, have the right people in place
For all the buzz surrounding DevOps tooling, we often forget that it’s a methodology and cultural shift, first and foremost. Having all of the cutting-edge technology in the world means very little if you don’t have the right people with the right skills to maximize its value.
When it comes to APM and DevOps, seeking candidates with proven track records in performance engineering is a no-brainer. But those technical skills must be balanced by the right soft skills:
- Collaboration: Willingness to share experiences and team successes; conversely, avoid playing the blame game when you encounter mistakes.
- Resilience: Similar to the above, don’t be afraid to make mistakes, but rather, find ways to learn from them and educate others so they avoid similar pitfalls.
- Solidarity: Place equal focus on the team’s success, rather than solely devoting one’s efforts to individual accolades or personal advancement.
What does this have to do with APM and monitoring? Use of data from the right APM toolsets can augment each of these skills. For instance, making decisions based on common insights—rather than siloed views or disjointed information—fosters better collaboration.
2. Eliminate manual re-instrumentation when you deploy new releases
With DevOps, new releases come hard and fast. So it logically follows that the underlying application infrastructure is equally elastic. Cloud and container-based technologies help teams embrace the accelerated pace that is emblematic of DevOps. However, staying on top of an infrastructure that is constantly growing or shrinking is impossible with traditional approaches to monitoring, where agents must be manually instrumented or removed.
Compounding this application complexity is that in many deployments, APM tools monitor only a subset of production components. So, when an outage or issue occurs, the ops team scrambles to instrument additional objects to cast a wider net. But even then, they must wait for the problem to recur, which makes the investigation last longer.
Modern APM tooling and practices, by contrast, must be able to automatically discover new application components, their relationships between other dependencies, and the impacts of these code changes over time. That way, DevOps teams can collect timely information on the performance of new releases—sans the burdensome instrumentation.
3. Avoid sampling and take a big data approach
As applications grow in size and complexity, so does the amount of monitoring data that DevOps practitioners can collect. Unfortunately, legacy APM toolsets sacrifice data quality due to scalability concerns. The result is a sampling technique that captures only every nth transaction, often without deep visibility into the call stack to reveal the true source of code-level issues. User metadata is frequently compromised as well, meaning it’s difficult to distinguish one user transaction from another.
Capturing incomplete data makes it challenging to catch intermittent problems, as well as issues that impact only a subset of users. With sampling, you are not guaranteed to pinpoint all impacted users, much less WHY they’re experiencing issues.
In addition, capturing environmental data every one to five minutes means you will miss vital information for a critical transaction that executes in a few seconds. This is especially true of dynamic cloud applications where state changes occur on very short time scales.
On the other hand, a big data approach to APM can capture high-resolution data for all apps, transactions, and users. Such a technique allows DevOps teams to mine large volumes of information about the performance and behavior of all transactions, which bolsters and accelerates continuous improvement efforts over time. You can read more about why big data is mandatory for APM in Peco Karayanev’s insightful blog post.
To support digital businesses, APM tools must be able to collect, process, and store all data, regardless of its type or volume.
4. Pair big data with machine learning to extract the right insights
More and more industry coverage today centers on machine learning and artificial intelligence (AI) to accelerate and improve business decision-making. But similar to sampling, advanced analytics are only as good as the data sets they are applied to. This concept of data quality vs. algorithms isn’t new. Consider Google Research Director Peter Norvig, who in a 2009 IEEE article famously said, “we don’t have better algorithms, we just have more data.”
Of course, that’s not to say that data always beats algorithms. Rather, this means that big data APM complements AI initiatives by helping teams extract compelling business insights from what would otherwise be petabytes of raw performance data. In other words, when high-quality data sets feed into machine learning algorithms and the outputs are displayed via powerful visualizations, APM tools can help DevOps teams:
- Speed time to resolution by quickly pinpointing the root cause of an issue.
- Prevent future user-impacting problems by alerting teams to intermittent/systemic issues.
- Prioritize development efforts by focusing on code that has the most financial impact.
5. Democratize access to APM data
In the spirit of collaboration, teams need to make all of these rich insights readily available through self-service dashboards. Such information sharing establishes more trust and transparency between DevOps teams and the lines of business they serve.
For instance, instead of reactively patching together performance reports or status updates, strive to make performance dashboards available on demand. Such accessibility empowers business stakeholders with more meaningful data related to their applications or digital services whenever they need it. And when tailored to their specific job functions, the outcome is faster, more informed decision-making.
For DevOps practitioners, having this single source of truth is incredibly important when evaluating performance. Whether teams are troubleshooting an issue, sharing performance reports with stakeholders, or leveraging historical information for planning purposes, everyone needs to be working from a common data set to avoid finger-pointing or relying on incomplete (or even incorrect) information.
Ready to supercharge your DevOps monitoring practice?
Download our eBook for more tips on effective DevOps monitoring.
DevOps organizations that leverage the right APM solution can improve productivity, service quality, and value for the business. To learn more about APM and DevOps monitoring practices, check out the following resources:
- Download our eBook to gain additional tips for improving DevOps productivity and quality, and also explore seven characteristics your APM solution should have.
- View our on-demand webinar for more insights on performance engineering principles, and how you can put this all into practice.
- See how Riverbed is reinventing APM for the digital era with a user-centric approach that leverages big data and AI.