Last updated at Fri, 03 Nov 2017 19:24:07 GMT

Guest author Asami Novak is a content strategy and development manager at New Relic.

(This post is adapted from the original on the New Relic blog. For more tips and advice to help get your DevOps practice in gear, check out New Relic’s free “Kickstarting DevOps” ebook.)

Whether you’re practicing DevOps today or gearing up for DevOps tomorrow, understanding the potential hurdles and what you can do to overcome them are both essential steps toward getting the DevOps train rolling.

But once you get past the cultural changes, there’s also the critical next step of bringing in new DevOps tools. As stated in Puppet Labs’ 2014 State of DevOps report, “Although DevOps is first and foremost about culture…. [t]ools are an important component of DevOps practices” as well.

If you’re new to DevOps, a good way to get a head start in the tool arena is to first develop an understanding of the basic categories, and what the popular tools are in each domain. Read on to find out more about the common types of DevOps tools, along with some of the favorites used by New Relic’s engineering team. And to learn more about the evolving DevOps toolkit—and the role of interoperability, join Logentries and New Relic for a free joint webinar on June 4th at 5 p.m. ET (2 p.m. PT).

Configuration management

Configuration management—sometimes called infrastructure automation—refers to tracking and controlling changes to the software code base. When your app crashes or some other problem arises, configuration management helps determine what was changed and who changed it. It’s an essential practice for establishing and keeping consistent product performance, especially when various developers and systems administrators are working on the same code base, as is the case in DevOps environments. Some of the more commonly used configuration management tools include:

  • Ansible
  • CFEngine
  • Chef
  • Puppet
  • SaltStack
  • Ubuntu Juju

Test and build systems

Test and build systems automate a number of developer tasks such as compiling source code into binary executables, running texts, and creating documentation. Typical open source tools for building and testing code include:

  • Ant
  • Gradle
  • Jenkins
  • Maven

Application deployment

Also known as release automation, application deployment tools are critical to continuous delivery of software—one of the key tenets of DevOps. The most popular standalone application deployment tool for Ruby-based Web applications is Capistrano, a remote server automation tool. Fabric and Jenkins are also popular tools for automating application deployment.

Monitoring tools

There are two monitoring needs in DevOps. Application performance monitoring (APM) provides code-level visibility that enables quick identification of performance issues as well as rapid remediation. The more fully featured APM tools provide trending reports and alerts. Server monitoring operates at the infrastructure level, allowing reliability engineers to track server health in cloud, physical, and hybrid environments. These tools show capacity, memory, and CPU status for each server so that problems can be addressed early—ideally, before they impact application performance.

New Relic offers a range of monitoring tools, which fall under our broader software analytics suite of products. And with integrations with log management and analytics services like Logentries, you can practice full end-to-end monitoring of your entire stack. Other popular monitoring tools include:

  • Cacti
  • Ganglia
  • Graphite
  • Nagios (and many offshoots)
  • PagerDuty
  • Sensu

Interested in learning more about the evolving DevOps toolkit—and the role of interoperability? Join Logentries and New Relic for a free joint webinar on June 4th at 5 p.m. ET (2 p.m. PT). Click here now to reserve your spot.