ansible versus concourse, lead image.
Image: gorodenkoff, Getty Images/iStockphoto

Software development teams have ample choices for DevOps project management tools. While this helps professionals find solutions that fit their specific needs, it also makes it harder to narrow down the right choice. For instance, deciding between the DevOps tools Ansible and Concourse can be a challenging undertaking.

Ansible and Concourse have different goals in mind but some of the products’ features overlap. Here’s a closer look at the differences between Ansible and Concourse to help you find the best DevOps tools for your business.

What is Ansible?

Ansible is an open source automation platform from Red Hat that aims to simplify DevOps. It configures systems, deploys software, rolls updates with minimal downtime and helps manage continuous deployments. Through all of its features, it tries to make the otherwise complicated and time-consuming DevOps process as simple and streamlined as possible.

What is Concourse?

Concourse CI is also an open source automation platform but with a more specific purpose: It focuses on continuous integration (CI), providing a single, central place to manage increasingly complex software. An emphasis on real pipelines helps improve transparency and offers more insight into project development, including when and why errors occur.

Ansible vs. Concourse feature comparison

 AnsibleConcourse
GUIYesYes
ContainersYesYes
EncryptionYesYes
Runtime variablesYesNo
Full Windows supportNoYes

GUI

When it first launched, Ansible was a command line-only platform, and while it has since added a GUI, this interface is limited. It can accomplish only 85% of what the command line can do. The interface, dubbed Ansible Tower, makes it easier to work together and manage separate pipelines than before, but its functionality is lacking. However, Ansible does use Python, which makes it more user-friendly despite the poor UI.

SEE: Hiring kit: Python developer (TechRepublic Premium)

Concourse’s GUI, by contrast, is highly informative. The interface visualizes pipeline configurations upfront, requiring only one click to see why something failed. Concourse also uses a configuration-as-code approach to minimize clicking through the UI to create and replicate pipelines. Unlike Ansible Tower, Concourse lets you control anything the program can do from the GUI.

Containers

Originally, Ansible lacked native container support, but it added an official container tool in 2016. The most unique and impressive feature of Ansible’s containers is that you can share and download them on Ansible Galaxy, the platform’s hub for user-generated resources. That way, teams can find containerization tools that fit their needs and deploy them faster.

Concourse uses containers by default. Every step in a Concourse build is containerized, making pipelines in this platform some of the most easily scalable you can build. The tool also includes multiple strategies for automating container placement, making it easier to manage and tailor them to your specific needs.

Encryption

Keeping project data private is crucial, so Ansible Vault provides the option to encrypt variables and files. Ansible Vault includes support for multiple passwords to make remote team collaboration easier, but teams can use single passwords, too, if necessary. Unfortunately, Ansible offers only at-rest encryption, so as soon as you start using these files, they may be vulnerable.

With Concourse, as soon as you enable encryption, it automatically encrypts all plain text data. It supports both 16- and 32-bit encryption, letting teams configure these keys the way they think is best. Users can also swap encryption keys with a single action instead of having to decrypt and re-encrypt data manually.

SEE: Bitbucket vs GitHub: DevOps tools comparison (TechRepublic)

Choosing between Ansible and Concourse

One of the most important considerations for any project management software is its ease of use. Developers often overlook or ignore pipeline development steps, despite that being a recipe for disaster because it involves considerable work. DevOps automation tools should therefore be as simple to use as possible.

Ansible’s usage of Python and agentless status make it one of the most user-friendly options on the market. While its UI leaves room for improvement, the platform contains many features, such as Ansible Galaxy and ready-to-use modules that streamline improvements that make it easy to use.

Concourse’s focus on real pipelines provides an easily understandable, complete view of projects. However, some users complain about a lack of features and streamlined workflows, and it uses Go, an admittedly less versatile language than Python.

While Concourse may require more developer experience to use, it offers more support. The DevOps platform is entirely cloud-based, so it works across any OS. Ansible, on the other hand, has minimal Windows support.

While Ansible supports Windows nodes, it still requires a Linux control machine to manage them. Lacking full support for the most widely used operating system is a notable disadvantage. But Windows support will likely grow in the future, especially considering Ansible’s open source nature.

Concourse is also ideal for businesses that prioritize scalability. On top of being container-based by default, it keeps all configurations in easily accessible files. This makes them easy to review and update as you expand your project.

Ansible’s scalability features fall behind in comparison. The project management software has no concept of state, so it stops when a task finishes, fails or encounters an error. While that can make it easy to find mistakes, it also slows down project development with large-scale updates.

Which is the best DevOps tool for your business?

Both Ansible and Concourse rank among the best DevOps project management tools. While Ansible pulls ahead in ease of use and overall functionality, Concourse is more easily scalable and compatible with other systems. Knowing each product’s strengths and weaknesses can help you determine which is best for your specific use cases.