A new open source project called Piper has been introduced. To find out more, VMblog spoke with its creator, Gosha Dozoretz, Senior DevOps Engineer at Rookout.
VMblog: Piper looks awesome! Can you explain why you created this open source project? Why did you choose to focus on Argo specifically?
Gosha Dozoretz: Piper is actually the culmination of a much longer journey. Internally here at Rookout, we’re big proponents of ‘shift-left’ and developer empowerment. That’s why our developers have the freedom to decide which CI/CD tools they use. However, after a while, it became quite difficult for us to maintain those CI/CD pipelines, as you can imagine. For example, at one point, we were using multiple CI/CD tools such as Jenkins, CircleCI, and GitHub Actions for a single pipeline of a service.
Obviously, that isn’t viable long-term, so we decided to consolidate those pipelines into one tool. As there aren’t many K8s native CI/CD tools available, we investigated both Argo Workflows and Tekton, with Argo Workflows’ UI winning due to its more straightforward structure and ease of use.
Of course, as with everything, it wasn’t perfect. Specifically, it didn’t support multi-branch pipelines. So we tried out implementing it using Argo Events and Argo Workflows and our developers loved it. However, the implementation was too complicated to maintain, and that’s when we decided to create Piper.
Now that Piper is robust, we decided that as a developer-first company, we had to share it and contribute it to the community. We released it as our first open-source project. We’re very excited about it.
VMblog: Does Piper have any plans to support other CI/CD tools in the future?
Dozoretz: We’re definitely looking into it! In the meantime, we’re looking to add support for multiple Git Providers, and will hopefully support Tekton as well. For now, we’re focusing on providing the maximum value for the existing Piper users. That being said, community contributions to the project are always welcome!
VMblog: How has the response been from the community since this was open sourced a few months ago?
Dozoretz: We haven’t promoted it much yet! It was released as OSS about a month ago. I spoke at ArgoCon 2023 about the specific challenge we solved here in addition to the POC we were working on at the time. I received a lot of great feedback from the community there and even more interest. It really reaffirmed that we are solving a significant problem for all the developers who want to use Argo Workflows for their CI pipelines.
Shifting left and moving the pipeline configuration to the source code repository helps both the developers and the maintenance team of those pipelines.
VMblog: You are a software engineer at Rookout which is one of our favorite companies that we’ve featured many times here on VMBlog. How does Piper connect to Rookout? Is there any relationship there?
Dozoretz: Yes, I’m a DevOps engineer at Rookout. And you’re Rookout’s favorite, too 😉
The cool part about creating Piper was actually that we were able to use Rookout to create it. Piper is a Kubernetes-native software, which essentially means that it’s really hard to debug locally. And for the readers who haven’t heard yet, what Rookout offers is a suite of developer-first observability tools that allow you to get real-time data from production when you need to troubleshoot and debug, no matter the environment. So when we were developing Piper, we used Rookout to dynamically observe the application and troubleshoot and debug quickly.
Additionally, Piper is already instrumented with the Rookout agent, and all that is needed is to provide a token during installation. The open-source community can now use Rookout to troubleshoot Piper faster. And hopefully in the future we’ll see more Kubernetes-native open-source projects using this technology to develop their applications faster!
##






