I personally prefer Jenkins over CloudBees as we have enough Jenkins knowledge in our engineering department. However, if their is a lack of such knowledge or interest then it could be useful to use a Software as a Service (SaaS) product like CloudBees. In general, this means that the department will be unburden as the platform will scale automatically and the SaaS provider is responsible for keeping Jenkins up and running.
A downside of an Enterprise solution is that a fee is required. However, maintenance and in particular the number of resources that is required to apply it, is often underestimated in my opinion. Maintaining Jenkins by Engineers from the department means that they have less time to develop code. At the moment, getting a CloudBees subscription will not solve our problems as we are currently busy splitting the monolith.
Whether you should get a CloudBees membership really depends on your situation. Do you have a monolith? Has all code been untangled. Do you have microservices with clear boundaries or are they nanoservices? Long story short, do you have a robust architecture? If false, then CloudBees will also not be the holy grail.
While Googling, another post on stackoverflow was found that could be useful:
The first difference is support (as others have mentioned). CloudBees
offers enterprise grade support as well as a fully vetted and tested
version of Jenkins that will be more stable under various plugins and
deployments. You can actually purchase "Support Only" from CloudBees
if you are satisfied with your OSS Jenkins deployment and simply want
support during upgrades, patching, break/fix, etc.
From a feature perspective, CloudBees brings a lot from an enterprise
manageability, scalability, and security standpoint.
Manageability: CloudBees comes with CJOC (CloudBees Jenkins Operations Center) built into the software. This is a single pane of
glass management console that allows organizations or large teams to
centrally manage the jenkins environment. Things like folders, RBAC,
pipeline and master templates, and the ability to rapidly spin up/tear
down a containerized jenkins master are all managed from this single
console.
Scaleability: CloudBees leverages Kubernetes to provide organizations with the ability to elastically scale Jenkins
environments as needed. With CloudBees, your oganization can move away
from a single "Monolithic"/"Frankenstein" master and into a
multi-master and distributed pipeline architecture. This greatly
reduces upgrade and administration complexity. This also eliminates
the risk from a single point of failure that a monolithic architecture
exposes.
Security: CloudBees allows organizations to install Roll Based Access Control within Jenkins. This keeps users from accidentally or
intentionally accessing repos that they shouldn't be allowed to
interact with. CloudBees also provides "folders" to segregate specific
job executions onto specific agents. Lastly CloudBees allows
organizations to create pipeline templates and associated plugins for
each team. These templates can be as rigid or loose as desired per the
organizations security policies.
CloudBees is regularly adding enhancements to further differentiate
themselves from Jenkins Open Source and make themselves more appealing
to large enterprise requirements.
On top of the above, CloudBees has developed a presentation layer that
rides on top of Jenkins for SDLC pipeline, CD monitoring, and metric
tracking called DevOptics.