Need advice about which tool to choose?Ask the StackShare community!
Bazel vs Concourse: What are the differences?
Developers describe Bazel as "Correct, reproducible, fast builds for everyone". Bazel is a build tool that builds code quickly and reliably. It is used to build the majority of Google's software, and thus it has been designed to handle build problems present in Google's development environment. On the other hand, Concourse is detailed as "Pipeline-based CI system written in Go". Concourse's principles reduce the risk of switching to and from Concourse, by encouraging practices that decouple your project from your CI's little details, and keeping all configuration in declarative files that can be checked into version control.
Bazel and Concourse are primarily classified as "Java Build" and "Continuous Integration" tools respectively.
"Fast" is the primary reason why developers consider Bazel over the competitors, whereas "Real pipelines" was stated as the key factor in picking Concourse.
Bazel and Concourse are both open source tools. It seems that Bazel with 12.2K GitHub stars and 2K forks on GitHub has more adoption than Concourse with 3.92K GitHub stars and 472 GitHub forks.
Starbucks, DigitalOcean, and HelloFresh are some of the popular companies that use Concourse, whereas Bazel is used by Square, Asana, and Google. Concourse has a broader approval, being mentioned in 18 company stacks & 17 developers stacks; compared to Bazel, which is listed in 11 company stacks and 7 developer stacks.
I'm planning to setup complete CD-CD setup for spark and python application which we are going to deploy in aws lambda and EMR Cluster. Which tool would be best one to choose. Since my company is trying to adopt to concourse i would like to understand what are the lack of capabilities concourse have . Thanks in advance !
I would definetly recommend Concourse to you, as it is one of the most advanced modern methods of making CI/CD while Jenkins is an old monolithic dinosaur. Concourse itself is cloudnative and containerbased which helps you to build simple, high-performance and scalable CI/CD pipelines. In my opinion, the only lack of skills you have with Concourse is your own knowledge of how to build pipelines and automate things. Technincally there is no lack, i would even say you can extend it way more easily. But as a Con it is more easy to interact with Jenkins if you are only used to UIs. Concourse needs someone which is capable of using CLIs.
Pros of Bazel
- Fast28
- Deterministic incremental builds20
- Correct17
- Multi-language16
- Enforces declared inputs/outputs14
- High-level build language10
- Scalable9
- Multi-platform support5
- Sandboxing5
- Dependency management4
- Windows Support2
- Flexible2
- Android Studio integration1
Pros of Concourse
- Real pipelines16
- Containerised builds10
- Flexible engine9
- Fast6
- Open source4
- No Snowflakes3
- Simple configuration management3
- You have to do everything2
- Fancy Visualization1
Sign up to add or upvote prosMake informed product decisions
Cons of Bazel
- No Windows Support3
- Bad IntelliJ support2
- Poor windows support for some languages1
- Constant breaking changes1
- Learning Curve1
- Lack of Documentation1
Cons of Concourse
- Fail forward instead of rollback pattern2