5 Open Source DevOps Tools You Should Consider in 2017

With the smart money on DevOps as the way to streamline development and deployment, you might ask yourself – is it possible to use open source tools? Yes it is. Read on to discover five popular open source DevOps tools.

While low costs and open source technologies already sound attractive, there are also other important advantages. Open Source software is developed with increased collaboration which can encourage innovation and increase flexibility in handling changing markets and needs. Visibility into the code helps improve overall quality and security, and also helps organizations avoid vendor lock-in from proprietary vendors.

If you’re just getting started with DevOps, or you’re looking to accelerate an existing program, we recommend you evaluate these five open source DevOps tools.

1. Icinga for Monitoring

Icinga is an open source monitoring tool, developed as a fork from the Nagios monitoring application (also open source). The result was as best-in-class monitoring tool with multithreaded design, high availability clusters with a distributed setup, and better flexibility for integration with plugins, modules, and 3rd party services.

Best Features and Benefits

  • Modularity, letting you start with the core product and add user interfaces and plugins to suit your needs
  • A REST API for immediate reconfiguration of Icinga monitoring by other applications, using “monitoring as code.” This is similar to other DevOps concepts, like “infrastructure as code”
  • Support for all major configuration management systems, including Chef (see below)

Enterprise Pricing and Support Plans

  • Free to use, distribute and modify
  • Icinga partners offer professional support contracts from entry-level up to 24×7 enterprise support; pricing available per partner

Related: 7 benefits of Icinga’s open source monitoring tool

2. Elasticsearch for Log Analytics

Elasticsearch is a distributed, RESTful search and analytics engine capable of solving a growing number of use cases. In DevOps, system and network log data can be rich sources of information, fault correction and performance improvement, when analyzed properly. Elasticsearch search engine and analytics technology is combined with Kibana for the user interface and Logstash for data collection. Together, they form an open source trio for extensive log analytics.

Best Features and Benefits

  • Elasticsearch provides distributed search and analytics, with RESTful integration into DevOps
  • Kibana offers data visualization, making log data and analytics more intuitive for humans
  • Logstash brings comprehensive ingest, transform, enrich and output functionality to collect and send log data to the Elasticsearch engine

Enterprise Pricing and Support Plans

  • The three modules can be downloaded free of charge
  • Paid support available with four levels, from basic to enterprise

3. Docker for Container Management

Docker is the world’s leading open source container platform. A Docker container image is a lightweight, stand-alone, executable software package. The container includes the code, runtime versions, system tools, system libraries and settings needed to run the software concerned. This allows users to avoid problems caused by different versions and configurations of an underlying operating system on different servers. The software and its container can then move fluidly from dev to ops to distributed deployment.

Best Features and Benefits

  • Minimizes RAM and hard disk usage, letting you run more software per given hardware resource
  • Starts up rapidly in a server, unlike virtual machines/VMs that must start their own operating system
  • Automates setup and configuration, making it easy to package programs for use at any point in the DevOps process

Enterprise Pricing and Support Plans

  • Docker Community Edition (CE) free of charge with community support
  • Docker Enterprise Edition (EE) available as a subscription service starting at $750 per node per year, with software, support and certification

4. Chef for Configuration Management

Chef is an open source configuration management tool that allows system administrators and other users to deploy different versions and configurations of software to multiple servers. Chef can be used as part of a continual deployment pipeline, offering an “infrastructure as code” approach. Essentially, this makes a physical IT environment versionable, repeatable and testable, like a software environment.

Best Features and Benefits

  • Scales to handle deployment to up to thousands of servers or more, automatically
  • Flexible (any resource can be described in code) with customization via direct Ruby programming access
  • Gives users a head-start with an existing library of standard infrastructure configurations in Chef “recipes” and “cookbooks”

Enterprise Pricing and Support Plans

  • Available for download at no charge and as paying hosted versions
  • Hosted pricing examples: $72 per node per year with 99.9% uptime SLA, $137 per node per year for continuous automation for high velocity IT

5. GitHub for Source Control Management

GitHub is a development platform inspired by the way you work. At the heart of GitHub is Git, an open source project for software version control. Git is distributed, rather than being centralized like more conventional version control systems. Users make changes on their local installations of Git, then “check them in” by connecting to the main server. GitHub adds features to Git such as a web graphical interface, enhanced access control and collaboration. It also offers the three powerful functions of fork, pull request and merge (see below).

Best Features and Benefits

  • Share the changes you make to other people’s software by forking to copy a repository to work on, then sending a pull request to the repository owner to merge your changes
  • Make software merging safer by letting a software owner see your profile and reputation before deciding to integrate your patches
  • Trigger immediate collaboration, by simply mentioning a teammate in the Issues and Projects section that accompanies each code project

Enterprise Pricing and Support Plans

  • Free to use for public and open source projects, paid plans for private repositories
  • Entry-level $7 per user per month, up to business-level $21 per user per month with 24/7 support for urgent issues

Final thoughts

Not only do these different open source DevOps tools work well on their own, but they often play nicely together too. Thus, you might collaborate on software development using GitHub, using Docker containers to package apps and triggering deployment via Chef, monitored by Icinga. Elasticsearch then provides insight from log data to be fed back into the development activities. Compared to proprietary software that may not offer such possibilities, these are yet more advantages of using open source tools in DevOps.

Ready to evaluate open source DevOps tools? Contact our DevOps consulting team for a chat.