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 learn more about the common types of DevOps tools, along with some of the favorites used by New Relic’s engineering team.
(The following is excerpted from New Relic’s “Kickstarting DevOps” ebook, which offers tips and advice to help get your DevOps practice in gear.)
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:
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:
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.
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. Other popular monitoring tools include:
Looking for other tips that can help get your organization’s DevOps movement rolling? Read the “Kickstarting DevOps” ebook.