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!