This is mostly targeted to Brad Rydzewski, I would greatly appreciate some insight.
I was recently hired at one of the top tech companies as a devops engineer. Right now they are going through updating their whole CI/CD pipeline from jenkins to a new modern one. I being a big fan of drone io am trying to push the adoption but am being met with a little backlash due to another project called Tekton mostly due to the companies relation and politic.
But because we are still in the very early stages of our project they said would be totally up for adopting drone, but with the right proof and backing.
I just wanted to know if you could lend me some features or reasons I might be over looking to adopt Drone as our ci/cd. Also if this isnt the right place to post I apologize, but would love to work with drone as a daily platform.
I do not have any experience with Tekton, however, it seems to be a relatively new product and therefore has lower market penetration [1] than more established solutions. It also seems they have not reached a stable 1.0 release yet. I am not sure whether or not they consider the project production-ready or not, but this is something that should be evaluated with any solution you choose.
It also looks like Tekton is described (on their website) as a lower-level framework for creating CI / CD systems. I believe Jenkins-X is built on top of Tekton. I could therefore envision us creating a Drone runner for Tekton pipelines.
Lastly, it looks like the Tekton project is hyper-focused on kubernetes (which is not a bad thing) but what happens when you need to run a pipeline on MacOS, for example? Drone provides support for many different runtimes and (in my opinion) is incredibly flexible.
I absolutely agree with your points, something that brought me to drone was the huge community support. And a big reason why they do not want to support drone is due to the message above the kubernetes runner yet don’t see how tekton is still in its infancy. I havnt given up yet and will try to propose my case. And thanks for the information.
It is very true the Kubernetes runner is still in its infancy. This is because (and this is my personal opinion and I know people will disagree) that running pipelines on Kubernetes is still very immature and at times feels very hacky. Both Drone and Tekton have to implement some very strange hacks with the Downward API to facilitate sequential pipeline steps, for example. This is after Tekton experimented with init containers and abandoned the approach. Basically it feels at times that we are trying to wedge functionality into Kubernetes that it was not meant to support (I am sure this will improve over time). But in terms of production readiness, Tekton should probably have a similar disclaimer until it reaches a stable release.
I have some tekton/prow experience and I will say, although its a impressive and really cool “distributed” model, its very much moving very quickly and quite high maintenance.
I prefer drone because it got a far simpler and cleaner user interface.
(by interface I mean everything… the configuration… the API… the pipeline yaml etc…)
I’m well known for being a massive kubernetes geek… That does not however mean that I believe everything should be a CRD… and thats where I tend to shy away from tekton…
Tekton can be drastically simplified with its integration with JX but then your giving your state to stuff thats not in git which makes my skin crawl… (this is a different story)
TLDR: drone v tekton
a: drone is easier (less initial learn)
b: drone is simpler (you won’t be doing massive yaml anchoring)
c: drone is more stable…
d: drone does what it does, and it does it really well
To be clear there is nothing wrong with prow, I’m very glad that I got the opportunity to use/work with it, but I’ve had much more fun and ease working with drone… (on my raspberry pi’s or prod)
Thank you guys for the information! In the end management always wins amairight. And based on the few days I’ve been hands on with this “Cloud Native” tooling I see what all you guys are saying. Everything feels very hacked together and unstable.