Bitbucket Pipelines: An Interview With the Development Team
With the functionality of Bitbucket Pipelines available, Zone Leader John Vester spoke with the Pipelines product team about their new service offering.
Join the DZone community and get the full member experience.Join For Free
Since Bitbucket Pipelines was released to the public in May 2017, I have written a couple of articles on DZone regarding the service offering:
Atlassian's Pipelines product introduces the ability to build, test, and deploy code directly from a Bitbucket repository. With Pipelines, there are no extra steps required to integrate a Continuous Integration (CI) tool into your build and deploy process. Instead, the CI process becomes a part of your repository code and can leverage container strategies, like Docker, where needed.
Recently, I had the opportunity to speak with the following members of the Atlassian Bitbucket Pipeline team:
Claire Maynard - Product Marketing Manager, Bitbucket.
Matt Ryall - Developer and Sr. Product Manager, Pipelines.
Joshua Tjhin - Product Manager, Pipelines.
John: Upon becoming aware of the Pipeline product offering within Bitbucket, I immediately began to prototype the new pipeline process into one of my Bitbucket repositories. This led to the creation of a couple DZone articles communicating my success with the service.
What is the level of adoption that you are seeing for the Pipelines service, especially from existing Bamboo users?
Bitbucket Team: To clarify, we are still offering both services to our customers. The Bamboo service exists for our on-premises customers and the Pipelines service is intended to meet the need for our cloud-based customers. We are seeing high demand for both services at this point. We want to really make the cloud offering compelling, as we see the future of software development as moving the code into the cloud. Having an integrated CI/CD solution with our Pipelines product fills that role nicely.
When companies make the decision to move their repositories to the cloud, we want Bitbucket to be the destination. When they select Bitbucket, they will receive the fully integrated Pipelines product as well. We feel like we have a really compelling hosted development tool.
How in touch is the Pipelines team with the Bamboo team to match and align features where possible?
We are in regular contact with the Bamboo team, working closely with them. However, we actually serve different customer grids, so our focus is how we can bring more value to the Bitbucket product users. We have a lot of users on Bitbucket and want to see those users grow into paid teams and use all of our tools - like Pipelines. On the other hand, Bamboo is a stand-alone, on-premises product focusing on the build process - on a different stage of evolution. We do talk regularly in order to stay aligned with our overall goals.
Prior to Pipelines, was there another solution being evaluated for Bitbucket cloud users?
We initially looked at a Bamboo cloud solution, but ran into challenges getting the current design to operate at a level of quality we expected as a service provider. As a result, we decided to build a CI/CD tool on top of Bitbucket. While we want to remain aligned with Bamboo, we also want to leverage all the technologies available for our cloud product. As an example, we can run a Kubernetes cluster to run everyone's builds, so that customers don't have to bring their own AWS accounts or even worry about managing instances.
We leverage a lot of Docker, so our customers can bring their own software images into the build environment - which has been a pain point for Bamboo customers when they worked on configuring their build agents. Pipelines allows us to do things that are possible/easier than in Bamboo.
What is a key benefit of using Pipelines over other build tools, like Jenkins?
One of the key benefits Pipelines has is that we can leverage the "configuration as code" model from the start. So, if using a build tool, like Jenkins, you are familiar with how many forms and screens that have to be configured in the UI to configure builds.
That whole level of what we call "admin pain" is taken away with Pipelines, since the CI/CD process is part of the repository code. Furthermore, with Pipelines, there is no longer a requirement to manage users, groups, permissions, or repositories again.
For a tool that is based upon git, where you have this natural branching structure, being able to run builds on branches is something that is built in - right from the beginning. In our findings, this leads to a better experience.
How was Pipelines developed? Was this effort part of an acquisition?
About two years ago, we made the push for Bamboo cloud. We realized it was going to be hard to leverage the existing product. Adding in the desire to include configuration as code, we decided to take a new approach - wondering how we could build it without having to worry about aspects related to expanding a product optimized for on-premises use.
So, the decision was made to start from scratch. We started with a team of four developers and built a pilot in about three months. We on-boarded a few Alpha customers and leveraged the Atlassian platform which helped us accelerate the process. In the end, we delivered a bunch of microservices with a core of the product development written in Java and a React/Redux front end - all managed by the Bitbucket and Connect platforms.
What do see the role/state of the developer five years from now?
Overall, we have seen challenges with development teams understanding and implementing git for their version control system. The CI/CD adoption appears to be slower globally than we expected as well. In five years, we hope to have CI/CD so easy to setup and adopt that your current host knows how to build and configure the flow. We want to give more confidence to the consumer that when they push a button to kick off the deployment process, that it functions as expected.
From a technology landscape perspective, one big trend to move forward is DevOps. So, bringing together developer and operations teams into the cloud is something we plan to focus on as well.
When I asked the team for three key points they want to make the public aware of, the noted the following items:
The Docker solution has had a major impact on the industry and Bitbucket has been positioned in the middle of the success effort.
The underlying goal for the Bitbucket and Pipelines teams are to empower the developer, yield faster development and reduced cycle time (especially when compared to products like Jenkins).
The team is dedicated to providing a top-notch product, which is priced to win
If you have not considered Bitbucket Pipelines, I recommend reading the articles noted above, reviewing the Pipelines website, then exploring the service for yourself. Even if you are not a Bitbucket customer or even familiar with the underlying git technology, the solution set provided by Atlassian with Bitbucket and Bitbucket Pipelines are worth taking the time to review.
I wanted to personally thank the Bitbucket Pipelines team for not only a great product, but for taking the time to talk with DZone as well.
Have a really great day!
Opinions expressed by DZone contributors are their own.