DevOps monitoring tools: Automating your DevOps monitoring processes (original) (raw)

And while DevOps monitoring is important for deployed code, the best monitoring practices seek to build on the security concept of “shifting left.” In other words, monitoring in DevOps begins much earlier in the software development lifecycle (SDLC). That helps unearth inefficiencies, risks, and potential customer-facing issues before they make it into production.

In this guide, we’ll explore the role of monitoring in a DevOps practice and answer key questions about DevOps monitoring tools including:

Monitoring is a core part of a successful DevOps practice and a critical way to both understand and detect any potential issues before they make it to production—and surface any issues that may show up in production.

To accomplish this, organizations will often leverage a number of DevOps monitoring tools such as crash-reporting tools, application performance monitoring (APM) platforms, and server monitoring tools to collect data across all stages of the software development lifecycle (SDLC) and surface actionable insights to improve operational performance.

DevOps monitoring tools enable organizations to build automated monitoring stages into key points within the SDLC to improve the performance of a code base, application, and its underlying infrastructure. And since there can potentially be thousands of moving parts within an organization’s SDLC, automation is critical to enable a consistent monitoring practice.

When properly implemented, DevOps monitoring tools help aggregate data, return actionable insights, and feed them back into the broader DevOps pipeline to surface any potential issues in the SDLC. This practice is frequently called continuous monitoring and draws on the DevOps idea of continuous improvement.

What is continuous monitoring in DevOps?

Not so long ago, monitoring was costly. Tools would take up precious system resources and require manual intervention. Moreover, the data these tools provided would often take time to parse through and act upon. As a result, organizations typically only monitored mission-critical processes such as coding issues and production-level performance.

Today, collecting data is much easier due to more advanced tooling—but the amount of data has also vastly increased. That means the organizations now need to determine how best to manage, interpret, and act upon much larger volumes of data.

Continuous monitoring is a practice that seeks to solve this issue by building monitoring into every part of the SDLC. Its primary goal is to enable the rapid detection of any potential issues and provide real-time feedback.

A continuous monitoring practice will leverage a series of tools and an automated series of tests to evaluate new code and production performance of an application and its underlying infrastructure. The primary goal is to provide an automated, 360-degree view of all systems and ensure the right people know when and where to intervene.

The best continuous monitoring practices often prioritize collecting as much data as possible to audit systems in their entirety and analyze potential operational issues as well as compliance and security risks.

Icons of wrench, shield, and lock

Just like the move to DevOps itself, establishing a successful DevOps monitoring strategy requires a mix of culture, process, and tooling. And while you can take inspiration from how other organizations manage monitoring, the precise model you adopt will be driven by the unique needs of your organizations and your SDLC.

There are plenty of frameworks that offer guidance as to _what _data to capture. But knowing where to implement monitoring is a question of optimization. What questions do you need to answer? What data do you need to get those answers? How will you act on that data? Who should be involved?

There are seven broad types of monitoring with each fitting into different parts of your DevOps practice. These include:

There is a rich choice of tooling to help you build monitoring into your DevOps practice. The precise products you choose will depend on the shape of your SDLC and your application’s infrastructure. But there are two core initial questions you should ask when evaluating monitoring tooling:

Expanding on those questions, your evaluation should consider how a tool performs in the following areas.

GitHub helps the company’s long-standing efforts to accelerate development by breaking down communication barriers, shortening feedback loops, and automating tasks wherever possible.

Mike Artis, Director of System Engineering at ViacomCBS