What is our primary use case?
We use Tekton as a pipeline, specifically a CI/CD pipeline. We have created all these stages, such as build, deploy, and test, within Tekton in an OpenShift cluster. We use these technologies for all our development code. We have written our developing code in Java, Scala, and Tekton.
Our workflow includes creating embedding vectors, detecting secrets in the GitHub repository, and more, all managed by Tekton stages.
How has it helped my organization?
Moving from Jenkins to Tekton has significantly reduced our costs. Previously, we were spending around $6,000 per day on our Jenkins pipeline for the same workload, whereas now we only spend around $1,000 dollars per day. This reduction is due to Tekton's cloud-native nature, which allows for efficient resource consumption and auto-scaling. By implementing Tekton, we have achieved a six times cost reduction.
What is most valuable?
Tekton is a cloud-native solution. It offers optimal resource consumption, allowing tasks to be run more efficiently and at a lower cost. Tekton pipeline resources can be triggered automatically by GitHub through webhooks. With Tekton, tasks like build, test, deploy, and vulnerability scanning are streamlined.
Additionally, custom tasks offer the ability to integrate notifications to the building team via Slack or email, and the pipeline will only start after approval, enhancing the efficiency of deployment processes.
What needs improvement?
One area for improvement is the number of CRDs created during installation. Tekton currently creates 10 to 11CRDs, which can be overwhelming. Instead, it would be better to have just one CRD that can handle all the information and create other necessary components automatically.
Additionally, more integration capabilities for security, such as DAST, SAST, and IAST, should be directly built into Tekton to facilitate easier implementation of security features.
For how long have I used the solution?
I have been working with Tekton for almost four years.
What do I think about the stability of the solution?
In OpenShift clusters, we have encountered issues related to memory and CPU usage, and webhook configurations not triggering as expected. This has sometimes resulted in redundant pipelines running simultaneously for the same feature branch. We resolved this by creating our own customized operator to ensure only the latest pipeline runs.
What do I think about the scalability of the solution?
We found Tekton to be scalable. We manage this by configuring CPU and memory limits for each task, allowing tasks to start with minimal resources and scale up as needed, ensuring optimal resource utilization.
How are customer service and support?
We have not directly escalated issues to the Tekton technical support team. Instead, we address issues by creating our own customization operators to resolve them internally.
Which solution did I use previously and why did I switch?
We previously used Jenkins. While Jenkins required writing in Groovy script and developers needed to be familiar with Jenkins files, Tekton simplifies this process by automatically handling tasks based on cluster definitions.
How was the initial setup?
The initial setup in an OpenShift cluster is user-friendly, taking around five to ten minutes to configure. For Kubernetes, it might take fifteen to twenty minutes.
One area that could be improved is reducing the number of CRDs created during installation from around twenty to thirty to just one CRD to streamline the setup process.
What about the implementation team?
We implemented Tekton with our own internal team. We configured timeouts, SSL certificates for webhooks, and resource limits to ensure efficient operation.
What was our ROI?
Shifting to Tekton from Jenkins has considerably reduced our costs, with savings from six thousand dollars per day to approximately one thousand dollars per day. This sixfold reduction is due to Tekton's efficient cloud-native features and resource optimization.
What other advice do I have?
I would recommend Tekton for creating CI/CD pipelines due to its ease of learning, adaptation, and cloud-native features. Tekton allows for the creation of cluster tasks without requiring developers to write complex configuration files, unlike Jenkins.
I'd rate the solution eight out of ten.
Which deployment model are you using for this solution?
Hybrid Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Other