Skyscrapers’ feedback on the new Concourse 6

At Skyscrapers we use Concourse for testing and releasing our Terraform modules and the automation of the roll-out of infrastructure components to our customers.

Written by @simonrondelez Posted on July 1st 2020

At Skyscrapers, we use Concourse for testing and releasing our open source Terraform modules, like our Concourse module, and for the automation of the rollouts of our components towards our customers. We also offer Concourse as a fully managed component in our reference solution.

This post gives you an overview of the direction Concourse is heading. What is new in the Concourse V6 release and what we learned upgrading from version 5 to 6.

Concourse 6 logo

What’s new in Concourse 6

With the release of V6, the Concourse team tackled 2 big items on the roadmap towards V10:

A new algorithm

new Concourse 6 algorithm

Previously the algorithm loaded all versions of the resources in memory to determine what versions it could use. This was a huge problem with bigger datasets and was causing memory and performance issues over time.

database load concourse 6

The new algorithm instead loops over the versions of the jobs listed in the passed constraints and assigns versions when they match. The new algorithm also lowers the load on the database drastically.

Build re-triggering

Concourse Build retriggering

Previously you would need to pin the resources to the specific values that you wanted, when you re-ran a previous build. With the option of re-triggering a build, you can now go back to the previous deployments and re-trigger the build with those versions of the resources.

More stuff

Some other noteworthy improvements worth mentioning in the 6.0 release:

  • UI performance improvements
  • The authentication functionality was changed to use the token provided by Dex
  • The Concourse-pipeline-resource is deprecated in favor of the set_pipeline step

For more information on the roadmap of Concourse and the direction they are taken you can check out their blog post: Core roadmap: towards v10

Caveats upgrading from 5 to 6

While we were testing Concourse V6, we discovered that containers couldn't be started anymore on the worker nodes. We determined this was due to using an old kernel release. Because of that, we took the opportunity to change our workers from Ubuntu 16.04 to Amazon Linux 2. That way we would use the new kernel and in the meantime our Concourse solution is more in line with our reference solution.

Conclusion

We like the direction that Concourse is heading. With the current platform and the roadmap to V10, we are quite sure that we have a future proof solution. Next to that, we have some improvements lined up in the way we run the platform to make it even easier to maintain. So keep an eye out for that.

At Skyscrapers, we love working with Concourse. It enables us to manange many customer environments (Kubernetes, custom cloud resources, etc) in a scalable and reliable fashion. Thanks to us, some of our customers even use it happily.

Do reach out with comments, experiences and questions! We love to share and learn!