27 Open Source DevOps Tools In 7 Easy Bites
DevOps is a discipline filled with useful open source tools. Here are 27 of them, organized into seven categories you should know about if you're looking to find the right tools for your organization's DevOps strategy.
![](https://eu-images.contentstack.com/v3/assets/blt69509c9116440be8/bltd5f7ade4815caac2/64cb3ac0d05cdd71651ebe0e/Slide1_Intro_Open-Source_cacaroot_iStock_65483069_LARGE.png?width=700&auto=webp&quality=80&disable=upscale)
I recently wrote an article featuring 25 DevOps vendors worth watching. However, in the world of DevOps, there are an awful lot of good tools that don't really have a vendor attached, and I thought it was time to give the open source tools their due.
While I wrote that there are tools that don't have vendors, there are vendors that are attached to some of these open source tools. Those vendors provide development support, along with, in some cases, customer support and even proprietary versions of some of the tools that exist alongside their open source cousins. As long as there was an open source version that wasn't "crippleware," it was eligible for the cut.
It's important to note, though, that I don't claim this is anything like an exhaustive list. Why? Among other reasons, I have other jobs to do here at InformationWeek. Development in general, and DevOps in particular, are rich fields in which open source workers toil. You can find the fruits of their labor all over the internet.
I encourage you to use this list as a starting point, rather than as a canonical document. If you don't see what you need here, head over to GitHub, SourceForge, or Google and start searching.
[See 10 Ways to Win at DevOps: What IT Pros Need to Know.]
Speaking of which, I'd love to know which of your favorite tools I missed. This won't be the last time I look through the products available in either commercial or open source form, so your suggestions are welcomed.
Drop me an email, send me a direct message on Twitter, or corner me at an industry conference. I appreciate your input.
In order to make some sense of this list, I divided the products into eight categories. That's more difficult than it seems, because some products span categories or fit rather uneasily into a specific genre.
Rather than argue over whether a particular product is in the right category, tell me how you're using it and how it's made DevOps easier, better, or even possible in your organization. That will get my attention, help the rest of the community, and be the start of a conversation we can all learn from.
Some DevOps tools provide a complete framework or platform into which most (or all) of the DevOps process can fit. The tools listed here come at the subject from different angles but all provide comprehensive platforms on which you can base a major portion of your DevOps effort.
ElectricFlow -- Twitter: @electriccloud -- An end-to-end model-driven approach to the software delivery process.
Terraform -- Twitter: @hashicorp -- A platform to combine multiple service providers and on premises assets into a single infrastructure for application development and deployment.
SmartFrog -- A framework, developed by HP, for building systems based on distributed software activated and managed as a single entity. Note that there's different product also known as SmartFrog, which controls security cameras at your house.
Vagrant -- Twitter: @hashicorp -- Vagrant is an open source framework similar to Docker, in that it pulls together all of the components of an application into a single package for deployment.
Integration tools are specifically aimed at pulling all the pieces of a development environment, application, or production infrastructure into a single managed block. The different tools listed here may tackle different parts of the DevOps whole, but each one has its place and its adherents. None of these is likely to be the only DevOps tool you need, but any one could be the basis on which you build a DevOps practice.
Jenkins -- Twitter: @jenkinssci -- Jenkins is an automation server that features plugins that support many different pieces of hardware, software, and development infrastructure.
Hudson -- Hudson is, at its heart, an monitoring platform but it is a monitoring platform that integrates the monitoring function across a wide variety of infrastructure components. As such, Hudson can be the basis of a continuous integration system -- one that is very well-instrumented.
SaltStack -- Twitter: @SaltStack -- Just as Ansible comes out of Red Hat, Salt springs is closely allied with Suse, providing automation and orchestration for DevOps built around the popular enterprise Linux distribution.
Puppet -- Twitter: @Puppetize -- Puppet is many things: a platform, a language, an automation system. So it is one of the most well known, errr, things in DevOps. It is used as part of integration across many, many enterprise DevOps efforts.
Delivery automation is a critical piece of the DevOps puzzle, providing a consistent, automated process for putting applications into the field. In the minds of many people, DevOps is defined around delivery automation. Without this component, you can have strong development and great monitoring, only the result wouldn't be DevOps.
Continuum -- Twitter: @TheASF -- OK, so this is a good news/bad news situation. The bad news? Continuum was discontinued as an active project earlier this year. The good news? The code is still there as a functioning repository, so if you're looking for a basis for custom code (as long as you're willing to make that custom code comply with open source licensing) Continuum is still a strong candidate.
For DevOps to work, developers have to work together. The tool that lets that happen is a code repository. There are repositories that work within individual integrated development environments. But if you want a repository that can work across a number of languages and development environments, then you'll want to look at one of these.
Artifactory -- Twitter: @jfrog -- JFrog has several commercial products but Artifactory is its open source binary repository that is designed to work with Bintray, JFrog's open source SaaS platform. One of the advantages is local caching for higher performance.
For DevOps to work, the configuration systems and software has to be as automated as software testing and deployment. The tools in this section will allow you to accomplish that result, and, in some cases, a lot more. This is one of the product areas in which the products tend to expand to cover other functions. Think of configuration management as the starting point with these, rather than a rigid definition.
Capistrano -- Twitter: @capistranorb -- Capistrano is a remote server automation platform that supports scripting and executions of tasks and workflows. It is written in and based on Ruby and is known for being highly scriptable.
JuJu -- Twitter: @Canonical -- JuJu is a tool for configuring and automating containerized applications in the cloud. It was created by the same community that created Canonical.
Consul -- Twitter: @hashicorp -- Consul, created and supported by Hashicorp, is a product designed to allow teams to discover and manage the services that make up a cloud infrastructure.
Testing, and more specifically test automation, is a critical part of DevOps. Without testing, rapid deployment means that sloppy, bug-ridden code will hit production servers and that's not what anyone wants. These tools help automate testing and the response to testing -- and keep DevOps on top of the software quality issue.
Cucumber -- Twitter: @cucumberbdd -- Cucumber provides a way to define executable specifications by allowing developers and designers to create examples of the ways in which the software should work. It's rare to see the word "fun" used in a testing product definition, but it's there for Cucumber.
Selenium -- Twitter: @SeleniumHQ -- Selenium is a browser automation tool. Most teams use that automation for testing purposes, but if you need to automatically control the behavior of web browsers for any reason, Selenium is a tool that can work for the job.
One of the critical parts of the operational side of DevOps is understanding how applications are running and what's happening to the infrastructure that supports the applications. That's where monitoring and analysis tools come in. The tools in this section allow teams to keep tabs on what the systems are doing and how their performance is likely to have an impact on users.
Nagios -- Twitter: @nagiosinc -- Nagios has a set of products that allow teams to gather infrastructure logs, analyze the contents of those logs, and analyze the performance of the network. Put them together, and it can be a thorough picture of how the application delivery network is performing.
Monit -- Twitter: @tildeslash_ -- Monit's calling card is its size -- it's small. If you're looking for a monitoring package for IoT or embedded programs, or a monitoring package that won't have an impact on other code executing on the server, then Monit is worth a serious look.
Elastic Stack (Elasticsearch, Logstash, Kibana, Beats) -- Twitter: @elastic -- The Elastic Stack is a set of open source programs that gather big data, assemble it in rational ways, and allow the results of analysis to be visualized. There are a number of companies that make the Elastic Stack available in both open source and commercial packages -- you can start searching and find the combination and configuration that works best for you.
So there they are. As I said at the beginning, there are many more, but these should get you started on a walk on the open source side of DevOps. Are there open source tools you've come to rely on? Let me know what they are -- I'd love to be able to put together an article on the favorite open source tools of the InformationWeek community.
One of the critical parts of the operational side of DevOps is understanding how applications are running and what's happening to the infrastructure that supports the applications. That's where monitoring and analysis tools come in. The tools in this section allow teams to keep tabs on what the systems are doing and how their performance is likely to have an impact on users.
Nagios -- Twitter: @nagiosinc -- Nagios has a set of products that allow teams to gather infrastructure logs, analyze the contents of those logs, and analyze the performance of the network. Put them together, and it can be a thorough picture of how the application delivery network is performing.
Monit -- Twitter: @tildeslash_ -- Monit's calling card is its size -- it's small. If you're looking for a monitoring package for IoT or embedded programs, or a monitoring package that won't have an impact on other code executing on the server, then Monit is worth a serious look.
Elastic Stack (Elasticsearch, Logstash, Kibana, Beats) -- Twitter: @elastic -- The Elastic Stack is a set of open source programs that gather big data, assemble it in rational ways, and allow the results of analysis to be visualized. There are a number of companies that make the Elastic Stack available in both open source and commercial packages -- you can start searching and find the combination and configuration that works best for you.
So there they are. As I said at the beginning, there are many more, but these should get you started on a walk on the open source side of DevOps. Are there open source tools you've come to rely on? Let me know what they are -- I'd love to be able to put together an article on the favorite open source tools of the InformationWeek community.
-
About the Author(s)
You May Also Like