The 3 Qualities To Look For In a DevOps Tool

December 15, 2016

A great DevOps tool is reliable, collaborative and verifiable.

The rise of DevOps over the last five years has come with an explosion of free, commercial and open-source DevOps tools. This is overdue – many companies were using the same ops tools for 15-plus years before DevOps came to the scene, an eternity in the fluid world of tech.

While this explosion of new tools is good, it also has made things challenging for companies looking to weed through the herd and find the DevOps tools that’ll work best. This is particularly complicated because there is no one tool to buy, as many are needed to successfully run a DevOps program.

“There's not a single tool that will do everything you need,” James Wickett said in a LinkedIn Learning course he co-taught with Ernest Mueller, DevOps Fundamentals. “What you want is a series of tools that can be composed into a tool chain to address your needs.”

Along those lines, because of the interconnected nature of DevOps, one tool failing can cause bigger issues. For example, if you automate your system one tool failing could cause all of your tools to crash, Mueller said.

So what should you look for in a DevOps tool? Mueller and Wickett said these are three key qualities:

1. You need a tool that works well with other tools.

“You want the tool to play well with others in the tool chain,” Wickett said. “It should be able to perform its work in an automated manner.”

Specifically, you should look for a tool you’ll be able to call and invoke from an API or command line. Conversely, tools that are solely UI driven are not going to interact as well with others, and therefore aren’t great for DevOps, Wickett said.

2. You want a tool that’s verifiable.

We’d all love tools that work perfectly every time, although we know that’s never the case. Hence, it’s essential the tool is verifiable, so you can easily see how well it’s performing.

“The best kind of DevOps tool exposes clearly what it's doing, and provides some manner of validating that it did what it was supposed to do correctly,” Mueller said. “Events and metrics from your tools are an important source of feedback.”

3. You want tools that are well behaved.

It’s great to have the most advanced tools with the most capability. However, what’s more important is getting a reliable tool, which will consistently get the job done.

“You should be able to check the tool’s configuration into source control, it should come with tests that can be used to verify it’s behavior and you should be able to deploy it in an automated manner,” Wickett said in the course.

It’s worth noting that these tools don’t have to supply these three features themselves. Ideally, they would plug into existing channels to achieve full functionality, such as being distributed as a Debian package, Wickett said.

Additionally, many companies build their own DevOps tools. In that case, remember to keep these three tenants in mind when developing them, Mueller said.

Want to learn more about specific tools for the three pillars of DevOps: infrastructure automation, continuous delivery and reliability engineering? Watch Mueller and Wickett’s full course today.