A comparison between TeamCity 2018 and Atlassian Bamboo!
One of the things I always do for the software development teams that I lead is introducing them to CI/CD, and setting up an effective Continuous Integration and Delivery system for them.
Often when it comes to implementing a CI/CD system there is a debate as to what CI/CD tool is the best to use? Some are fond of TeamCity while the others are a fan of Bamboo! And of course Jenkins has always had its lovers!
Since I have published two courses about TeamCity 2018 and Atlassian Bamboo, I would like to compare those two here and see which one would suit you better if you were to setup your CI/CD system.
When comparing tools such as TeamCity and Bamboo, we need to look at all aspects of running them rather than just looking at their features. In this article I will compare them in regards to their features, support, price and so forth.
TeamCity 2018 is NOT Open Source so if you use Open Source products you better think of a tool such as Jenkins or Sand Castle. To use TeamCity you need to buy a proper licence.
In terms of East Of Setup, TeamCity will get the TOP WINNER’s award amongst all other CI/CD tools. Installation of TeamCity, especially on Windows, is so straightforward and easy. Even installing TeamCity in a Highly Available and Highly Scalable manner is not difficult.
TeamCity also has the biggest number of Built-in Features amongst other CI/CD tools in the market! You can configure builds, define templates, define build triggers, configure dependencies etc.
TeamCity executes the build steps sequentially and it won’t run your build steps (e.g. compile and unit test) in parallel. This may not be ideal if you need to build, test and package big projects fast.
In this day and age many companies put their infrastructure on the cloud. If you use AWS, the good news is that TeamCity supports Cloud Build Agents on Amazon Web Services. This means that you will create a template for your Build Agents and TeamCity will launch the Build Agents based on those templates when needed.
Now let’s talk money!
If you have a small team which needs no more than three build agents, and won’t need support from JetBrains, then you can a Professional Server Licence, which is Free! With this licence you can have up to 100 Build Configurations, which for many small teams is more than enough!
If you need more build agents, you can pay $299 for each additional Build Agent and get Build Agent licence.
Bigger companies who need more build configurations, as well as official support from JetBrains, would have to buy an Etnerprise Licence which costs between $1,999 and $21,999!
Bamboo is NOT open source! You will get a Java package that can be virtually installed on any machine! The good thing is that since Bamboo is a Java application you will deal with the same application on different operating systems.
It is easy to install Bamboo especially on Windows, because as said before it is basically a Java application. TeamCity is a tad easier to setup comparing to Atlassian Bamboo especially when it comes to connecting to the database because Bamboo uses JDBC drivers which may be a bit unusual for most DevOps engineers and developers.
In terms of Built-in features Bamboo is behind TeamCity for sure! However the structure of your projects in Bamboo can be a lot more flexible! In TeamCity you only have “Build Steps” that execute sequentially, but in Bamboo you will have Projects, Steps, Jobs, and Tasks! This will give you a great deal of flexibility especially that Jobs can execute in parallel! That means while you run your unit tests you can run code inspection too! Or do many other things that can happen in Parallel, and save time!
Bamboo does support Cloud Build Agents aka Elastic Build Agents. However at the time of writing this blog post, Bamboo cannot be installed for High Availability and High Scalability. You will need to install one instance of a Bamboo server and run a second instance as a backup! Nicht gut!
Bamboo has a diverse pricing options which you can see HERE. If you are a solo developer or a very small team you may use Local build agents and pay as little as $10. For more sophisticated setups you will pay something between $1100 to $126,500!
You can use both Atlassian Bamboo and TeamCity to build, package and deploy many different types of applications written in many different languages. However Bamboo is more favoured by Java developers whereas TeamCity is more favoured by .NET developers. Maybe because TeamCity comes with full built-in support for MSBuild and PowerShell! In saying that, virtually there is not any program that you cannot compile with both of these tools as long as there is a compiler for that program!