Two schools of thoughts exist here, when it comes to whether you want one big Jenkins master or you want many small Jenkins masters. Different people have deployed Jenkins successfully in both ways, and you have to pick one or the other depending on your situations. Here are the common trade-offs.
- Your resource utialization utilization will be higher with One Big Master, as you can use the same set of slaves to serve a large projects and even out their spiky load. With multiple masters, each Jenkins needs to have a reasonable number of slaves.
- Installing plugins, running maintenance scripts, backing up, upgrading, and so on are easier to do with One Big Master, since you only have one place to do it.
- When each team in your organization works autonomously and very differently, Multiple Masters allow individual teams to install additional set of plugins that suit them. This would help them use Jenkins better, feel their instances "closer", and tends to care more about when it reports a failure in a commit, for example.
- If One Big Master goes down, no one can do a build, while if one of Many Masters go down, it affects a smaller number of people.