20 open source DevOps tools: The ones to know

Get a bird’s eye view of the landscape of open source DevOps tools, and what they actually do.

There are about a billion open source DevOps tools. So which ones are actually in use today?

These DevOps tools are well-known throughout the industry and have been adopted by many hundreds of organisations.

You can use these tools for your own projects, or use them for your own DevOps learning.

We hope you enjoy this curated list of the best DevOps tools that open source communities have to offer!

🔨 Build and packaging

First let’s take a look at the build and packaging tools.

These utilities and projects will help you build or compile your code, and bake it into a format that’s ready to be deployed onto a server or into the cloud.

These tools also help with downloading and sharing libraries and packages.

Docker

Docker is a set of tools for building and running software in containers.

Nutrition information

Nutrition information

Initial release 2013
Backed by Docker, Inc.
License Apache 2.0
Download link Docker Desktop (for Windows/Mac desktops), Docker Engine (for Linux)
Source code https://github.com/moby/moby

Packer

Packer helps you to create virtual machine images from code.

Nutrition information

Nutrition information

Initial release June 2013
Backed by Hashicorp, Inc.
License Mozilla Public Licence 2.0
Download link https://www.packer.io/downloads
Source code https://github.com/hashicorp/packer

Sonatype Nexus

Nexus is an artifact repository (or ‘artefact’ if you’re a Brit!).

Nutrition information

Nutrition information

Also known as Nexus, Nexus3, Nexus Repository OSS
Initial release 2008
Backed by Sonatype, Inc.
License Eclipse Public Licence 1.0
Download link https://www.sonatype.com/products/nexus-repository
Source code https://github.com/sonatype/nexus-public

Jfrog Artifactory

Artifactory is an artifact repository.

It’s very similar to Nexus: it’s a bucket for storing software packages that are consumed or produced by your applications.

Nutrition information

Nutrition information

Also known as Artifactory, Artifactory OSS, Jfrog
Initial release Some time before 2010
Backed by Jfrog, Ltd.
License GNU Affero General Public License
Download link https://jfrog.com/community/download-artifactory-oss/
Source code https://releases.jfrog.io/artifactory/bintray-artifactory/org/artifactory/oss/jfrog-artifactory-oss/

🎺 Application orchestration

These tools are designed to help you run applications, keep them up and running, and scale them up when you need to handle more load.

Kubernetes

Kubernetes is an orchestration tool for managing your applications running in containers.

As well as plain old “vanilla” Kubernetes, there are other distributions available. OKD is a distribution of Kubernetes which comes with extra features and DevOps tooling.

Nutrition information

Nutrition information

Also known as Kubernetes, K8s
Initial release June 2014
Backed by Google, Cloud Native Computing Foundation
Developed in Go
License Apache License 2.0
Download link https://kubernetes.io/releases/download/
Source code https://github.com/kubernetes/kubernetes

Nomad

Nomad is a tool for managing your applications, whether they run in containers or not.

Nomad can start and run instances of your applications on a cluster of servers.

Nutrition information

Initial release September 2015
Backed by Hashicorp, Inc.
License Mozilla Public Licence 2.0
Developed in Go, JavaScript
License Apache License 2.0
Download link https://www.nomadproject.io/
Source code https://github.com/hashicorp/nomad

Docker Swarm

Docker Swarm is a tool for managing Docker containers running on a cluster of servers.

Nutrition information

Initial release 2014
Backed by Docker, Inc.
License Apache 2.0
Developed in Go
Download link https://docs.docker.com/get-docker/
Source code https://github.com/moby/swarmkit

🏗 Infrastructure automation

These tools are designed to automate the work involved in setting up infrastructure – this means things like servers, firewalls, network components, and so on.

Terraform

Terraform is a tool for creating and managing cloud resources with code.

Nutrition information

Initial release 2014
Backed by Hashicorp, Inc.
License Mozilla Public Licence 2.0
Developed in Go
Download link https://www.terraform.io/downloads
Source code https://github.com/hashicorp/terraform

Ansible

Ansible is a tool for automatic configuration of infrastructure - e.g. installing packages, configuring web servers, creating user accounts, and so on.

Nutrition information

Initial release 2012
Backed by Red Hat
License GPL 3.0
Developed in Python
Installation instructions https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html
Source code https://github.com/ansible/ansible

Pulumi

Pulumi is a tool for creating and managing infrastructure in the cloud.

To create infrastructure with Pulumi, you use the Pulumi API for your preferred programming language – available for Python, Go, JavaScript and C# – and Pulumi creates your services in the cloud for you.

Nutrition information

Initial release 2019
Backed by Independent start-up
License Apache 2.0 License
Developed in Go (+ others)
Installation instructions https://www.pulumi.com/docs/get-started/install/
Source code https://github.com/pulumi/pulumi

⛳ CI/CD

GitLab

GitLab is a tool for managing application source code and automating the build and release of your application.

GitLab’s built-in CI/CD feature lets you create workflows to build, test and deploy your applications.

Nutrition information

Initial release October 2011
Backed by Independent start-up
License MIT
Developed in Ruby + JavaScript
Installation instructions https://about.gitlab.com/install/
Source code https://gitlab.com/gitlab-org/gitlab

Jenkins

Jenkins is an automation server for running software build and testing jobs, and much more.

Jenkins is a bit of a stalwart and has a mixed following. (Some people love it, some people hate it!)

Nutrition information

Initial release February 2011, a fork of the Hudson project from 2005
Backed by CloudBees
License MIT
Developed in Java
Download link https://www.jenkins.io/download/
Source code https://github.com/jenkinsci/jenkins

Argo CD

Argo CD is a continuous delivery tool for Kubernetes, which uses the principle of GitOps.

GitOps is the principle of using Git as the single source of truth for application deployment information, and ensuring that the state of a cluster is the same as the state which is defined in Git.

Nutrition information

Initial release 2018
Backed by Used in Red Hat OpenShift GitOps
License Apache 2.0
Developed in Go
Download link https://argoproj.github.io/cd/
Source code https://github.com/argoproj/argo-cd

Tekton

Tekton is a tool for running pipelines inside Kubernetes.

With Tekton, you can create CI/CD pipelines on Kubernetes, to build, test and deploy your apps.

Nutrition information

Initial release 2018
Backed by Google, Red Hat
License Apache 2.0
Developed in Go
Download link https://tekton.dev/
Source code https://github.com/tektoncd

🛂 Testing & quality

These tools help to run tests against your software, and ensure its quality.

Sonarqube

Sonarqube is a code-quality checking tool.

Nutrition information

Initial release 2007
Backed by SonarSource S.A
License LGPL 2.0
Developed in Java
Download link https://www.sonarqube.org/downloads/
Source code https://github.com/SonarSource/sonarqube

Selenium

Selenium is a browser automation tool. It’s used to simulate interactions with websites, fetch information, and perform tests.

Nutrition information

Initial release 2004
Backed by Software Freedom Conservancy (non-profit)
License Apache 2.0
Developed in Java, C#, JavaScript & others
Download link https://www.selenium.dev/downloads/
Source code https://github.com/SeleniumHQ/selenium

Cypress

Cypress is a testing tool for anything that runs in a browser.

With Cypress, you can write and run end-to-end tests for your web applications.

Nutrition information

Initial release ~2015
Backed by Independent
License MIT
Developed in Java, C#, JavaScript & others
Download link https://on.cypress.io/installing-cypress
Source code https://github.com/cypress-io/cypress

📈 Logging & monitoring

Prometheus

Prometheus is a monitoring and alerting toolkit.

Prometheus consists of a time-series database and some tools to collect metrics from applications or servers.

Nutrition information

Initial release November 2012
Backed by Cloud Native Computing Foundation, initially developed at SoundCloud
License Apache 2.0
Developed in Go
Download link https://prometheus.io/download/
Source code https://github.com/prometheus/prometheus

Grafana

Grafana is a dashboarding tool. Grafana lets you create visual dashboards from data stored in different places, including Prometheus.

Nutrition information

Initial release 2014
Backed by Grafana Labs
License AGPL 3.0
Developed in TypeScript, Go
Download link https://grafana.com/get/
Source code https://github.com/grafana/grafana

Elasticsearch

Elasticsearch is a search engine which is usually used to analyse log files and other huge archives of data.

It’s often combined with Logstash and Kibana to gather logs from servers and applications, and produce dashboards. When these three tools are combined it’s called the “ELK stack”.

Elasticsearch is based on the Apache Lucene library.

Nutrition information

Initial release February 2010
Backed by Elasticsearch B.V.
License Server Side Public License
Developed in Java
Download link https://www.elastic.co/downloads/elasticsearch
Source code https://github.com/elastic/elasticsearch

Wrapping up

That’s your lot for today! We’ve covered some of the top open source DevOps tools in use today.

These projects all have strong communities and adoption, and are used in many hundreds of organisations around the world.

Happy DevOpsing!

Join the discussion

Got some thoughts on what you've just read? Want to know what other people think? Or is there anything technically wrong with the article? (We'd love to know so that we can correct it!) Join the conversation and leave a comment.

Comments are moderated.