Episode 68: Jenkins X Teams Talks One-Click CI/CD

DevOps Radio host Brian Dawson is back and joined by the CloudBees Jenkins X team consisting of Mo Plassnig, James Rawlings and James Strachan, who all worked on the recent launch of CloudBees CI/CD powered by Jenkins X.

Brian Dawson: Hello, this is Brian Dawson hosting an episode of DevOps Radio live from DevOps World | Jenkins World 2019 in Lisbon. And I have an amazing, entertaining, and cool cast of characters here with me today to talk about some cool and important announcements that happened here at DevOps World and Jenkins World.

You know what I'm gonna do, I'm gonna allow each of you guys to introduce yourself going from left to right. Now we're gonna start with you, Mo, and if you could just tell our audience who you are real quick and what your role is here at CloudBees. I do appreciate it.

Mo: My name is Mo. I came to CloudBees through the Codeship acquisition, and I do many different things here. One of them is everything Jenkins X.

Brian Dawson: Awesome, awesome. And he's not as shy as he sounds. All right, Mr. Rawlings.

James Rawlings: James Rawlings. I work on Jenkins X engineering at CloudBees.

James Strachan: James Strachan. I work with James and Mo.

Brian Dawson: On Jenkins X. And now CloudBees CI/CD powered by Jenkins X, which we'll be talking about. So thank you guys for joining me. I was hoping we can have an epic interview like we did at DevOps Radio –

James Rawlings: We'd need beer for that.

Brian Dawson: – in San Francisco with beers. Of course the executives showed up.

James Rawlings: Adult supervision.

Brian Dawson: I will share that Mo is one of the few executives that can successfully rock Timberlands and skinny jeans, which is a very impressive feat. He can grow an entire business in Timberlands and skinny jeans.

Mo: That means a lot to me. Thank you.

Brian Dawson: So in our last one there was a lot of hugging, beers, et cetera. I think we may get close to that fun, but I don't know that we'll ever manage that. James, we did get to indulge in some libations earlier in the week in a really interesting pub with a bunch of Army toys.

Somewhere in that conversation – this was before the keynote – you said, "Do we realize tomorrow we're about to make a really important announcement that is going to change the game," or something to that effect.

I challenged you then, and we didn't get to finish. What I'm gonna ask you to do is explain to the audience what that announcement was. We've sort of given away the punchline. But you said it was really important and it was gonna change things why?

James Strachan: So we announced CloudBees CI/CD powered by Jenkins X. Let's call it CDX for now for short.

Brian Dawson: Is that an officially approved name?

James Strachan: No, it's not officially approved. Just for now let's call it CDX as an abbreviation. So CDX is basically a hosted Jenkins X. It's a service. And it's a game-changer because getting started with Jenkins X is too hard. Well, we've tried to make it easy, and we've spent a lot of time to make Jenkins X as easy as possible to install and to use.

But because it's using the cloud it's complicated. You need a Kubernetes cluster. You need bucket storage. You need service accounts. We want to make using Jenkins X a single click. What we've basically announced is you can use Jenkins X by just a click.

You click a button, you get Jenkins X, you can do automated CI/CD immediately. You don't need to know anything about Kubernetes. You don't need to ask your boss for a credit card account with the Google Cloud or anything. You can just go click, click, click, and you get CI/CD as a service, which is a game-changer.

Brian Dawson: That sounds awesome.

James Rawlings: And it's fully managed as well. We do a lot of upgrades 'cause we practice CI/CD ourselves. We have a huge number of releases. Consuming all of those changes can be quite daunting sometimes. Some people are okay to do it, which is awesome. Some people just want to get going quickly, right?

So just taking that initial pain out of the initial experience and just get them up and running and developing on the cloud and getting productive, and then once there everything's managed for you.

Brian Dawson: So there's another point before I jump over to you, Mo, that I'd like to dig in on that. I just interviewed Vincent Behar, I think an adamant supporter and user of Jenkins X at Dailymotion.

James Rawlings: He's awesome, yeah.

Brian Dawson: And he brought up something I'd like maybe you to dig in a little more, Rawlings, that they were adopting Kubernetes. They wanted to adopt it on GCP, and they just started looking for solutions and found Jenkins X. He looked at it as a tool.

But I think part of this acceleration of this process, yes, you can now get the tool, and you can run on a stack with one click, but there's also an opinionated process that comes along with that, right?

James Rawlings: Yeah. I think there's lots of areas within Jenkins X we really wanted to – it could be the Wild, Wild West out there. CI/CD or cloud, containers, there's lots of innovation that's been happening the last few years.

Brian Dawson: Chockfull of innovation.

James Rawlings: Absolutely. So from software, but also new ways of doing things or recommended ways of doing things. So from the Accelerate book, which is an awesome book which everyone should read, it has a number of capabilities that they recommend approved by data scientists that actually say how teams can be better performing, how they be high-performing teams.

Jenkins X isn't an implementation of this, but what we've done is try to use these recommendations to be opinionated about workflows. We have incorporated that. So that part of that experience from SaaS is also taking those recommendations like trunk-based development, automated CI/CD, using version control for everything. All of this is out of the box as well, that whole experience.

James Strachan: We've been using Jenkins X to build Jenkins X and CDX. Because we're kind of drinking our own champagne all the time, we're constantly thinking of how we can improve so that we can get faster with delivery.

Brian Dawson: So you can make your life better. Whether it's pains and hiccups, you feel lit.

James Strachan: We found that by constantly trying to improve how our development process works and how the tools in Jenkins X works, we often find that we develop in a slightly different way. So I think even developers, the workflows change over time, preview environments, for everything all the time.

We do preview environments for everything all the time. We've started doing feature flags for everything using CloudBees Rollout for that, which is awesome.

And I think we are continuously iterating and improving even how we develop. One thing we want to do next year, which we're really excited about is we want to extend the idea of preview environments, with feature flags and combine that with progressive delivery.

Brian Dawson: Oh, Gunner is gonna love the progressive delivery.

James Strachan: It's a progressive delivery of preview environments. We want to be able to take a code change and before you merge it try it out in production or staging, depending on how brave you're feeling, and use progressive delivery to route some of the traffic to that preview. So I might try my preview instead, and you might try your preview, and maybe Mo might try –

Brian Dawson: And we may take the production traffic and route it into the pre-pro environment.

James Strachan: To get that fast feedback because the best place to test is production, really. That's when you really know if something's working. We want that preview so we know before we merge is it gonna work in production. It's too late to merge it and then get to production and realize, "Oh my God, we just hosed production." The more we can get that feedback early in the cycle, the faster we can be –

Brian Dawson: That's awesome, and that helps a lot with the concern with the cognitive issue I have with testing and production. For listeners, it doesn't mean ship crap code to production and then see if it works. But it does mean you can leverage real-world traffic and real-world data to do an additional level of validation that lets you deliver.

I would like to jump. So one of the interesting things we have done here, we've talked about new technology to embrace cloud, cloud-native development, Kubernetes as an orchestration platform, then GitOps and other opinions as embodiment of some of the Accelerate best practices.

One people really struggle with is trunk-based development, which preview environments and ultimately is embracing a progressive delivery. Another thing that you guys have done or that has happened within CloudBees is we have sort of shifted from the project-to-product model with something we call PBTs or product business units, right?

I think a lot of this next phase of Jenkins X CloudBees CI/CD has been brought to fruition and stewarded under the PBT, of which we happen to have the product line or executive sponsor of the PBT in which Jenkins X and Rollout were delivered. Mo, am I correct? Is that what you actually do?

James Strachan: Yes.

Mo: I think what we realized is CloudBees does so many things because we are quite big for now, and we help our customers with many different problems. What we realized is that it's really hard to do that many things, and so we started to work closer together within the company around certain product areas.

All the people that collaborate around certain product areas, not just engineering and product managers and design, but also for example people like Victor who spend a lot of time with customers or people like Oscar who spend a lot of time in the community.

I think everybody who works with a product, it doesn't matter if those people write code or sell it or create a marketing newsletter, I think all those people need to collaborate closer because that then builds a better product because we get feedback faster and can incorporate the feedback faster.

Brian Dawson: So it's kind of a continuous everything involving everybody in the software value chain in the feedback.

Mo: Exactly, because otherwise I think the old way of working is you are building a product, and at some point it's done, more or less. Then you sell it, and then you get feedback, and then many months later you finally address the feedback. We all know that's the wrong way of working, and it's also not working with Jenkins X, right? I think we are trying to do it in the best possible way.

Brian Dawson: Can I ask, just to stay on you and pick on you a little bit longer how has that helped, impacted, affected the launch of this new offering, the SaaS version of Jenkins X? How has the PBT better enabled that?

Mo: Yeah, I think it went quite well so far. We are doing many things with Jenkins X, right? We are building the SaaS and have launched it, but we also every month release the CloudBees Jenkins X distribution, which is a stable release of the open source project.

We did that for the fifth time, actually doing it before the launch of the SaaS. So there's a lot going on within the Jenkins X project and at CloudBees with Jenkins X, which is really cool. I think all of that is powered by the PBTs. So it's not just the SaaS launch.

But I think again if you – to answer your question, I think if you put all the people who work and collaborate on a certain product, if you put them together into a room, the end result is just better, right? I was on stage and announced the product, but I think we all worked together on the keynote. I think it just creates an overall better experience for the customer, which is awesome.

James Rawlings: And it feels everyone is part of it as well, 'cause everyone is truly part of this. You don't have to be just writing code to be part of the successes of what we've done. Josh, for example, from _____ design works in a very different time zone, but we worked out with him ways to work.

I think that's been a fantastic experience working out how different parts of the organization work and how we can work well together, documentation as well. I think it's been just a really quite nice experience to have, that you're not just in your bubble of how you code. You're a bit more aware of everything's that needed to be able to launch this and make this announcement.

Brian Dawson: That's awesome.

James Strachan: One of the exciting things for next year is because we're making a SaaS, we're gonna get instant feedback from our users. So that's the bit that we really – open source is awesome 'cause you get lots of feedback and people raise issues and chat and Slack, and that's great.

But what's even better is operating software on behalf of people and then seeing what they're actually doing. So actually we can spot issues. We can optimize code to make things better behind the curtain without users having to report issues.

Brian Dawson: It's actually truly building in continuous feedback, truly instrumentating, using telemetry to measure what's –

James Strachan: Do people click that "create" button in that one web page and whatnot and getting that feedback.

Brian Dawson: Yeah, and that's exciting, and I think that's actually cool. I've gotta be careful 'cause we're running short on time. I can geek out on all of this. We marry that to the PBT. So now you go SaaS. You implement that telemetry.

You're not just getting performance feedback to the dev team, but the entire product business team, as we call them, is now gaining shared insights that can help everybody collectively make better decisions, right?

James Strachan: exactly. And we want to move to a hypothesis-driven development model where we use the business goals to drive the code changes and then use hypothesis-driven testing to verify we've achieved the goals we're heading for, which is a different way of working, but is what we all should be doing.

Brian Dawson: What I do love hearing here as we get ready to wrap up, and I have a question that I'll present to all of the group, is you guys are embodying continuous improvement. You could do a keynote today, go out, have some drinks, and then cruise for the next couple of weeks and go, "Okay, we shipped some innovation."

Mo: We're done here.

Brian Dawson: But what you hear coming out in the conversation is you're immediately and continuously looking at what the next step is. And while I'm pointing at you, all of you can maybe answer this.

So we talked about why CloudBees CI/CD powered by Jenkins X or CDX, as I think we agreed to call it here, is a game-changer for people that are adopting Kubernetes or cloud. I think we talked at the technical level. We talked about process, et cetera.

But I want to present to you guys, why is this move that CloudBees have made and you guys have made as a team important to the community? Why is it important to DevOps? Let's get above the technical level. Mo, I like putting you on the spot. Do you have any thoughts on it?

Mo: Yeah, I think I talked a little bit about it in the keynote where I talked about that we need to simplify and we need to remove obstacles that hold us back, right? I think James always says there's no better time to be a developer than right now because there's so many tools out there that make it easier and really allow you to focus on building features and differentiating capabilities versus doing a lot of the heavy lifting yourself, right?

Brian Dawson: Yes, reduce the cognitive load.

Mo: Exactly. That's really awesome, but then still I think in today's world there is still so much that holds you back as a developer, and I think it's even hard to realize how many things hold you back until you try Jenkins X and it's all just automated. Jenkins X always meets you where you need help and makes everything easier and everything faster. So I think it's really, really a game-changer.

Brian Dawson: Awesome, awesome. Thank you for that. Others? Let's go around.

James Rawlings: I think cloud is a thing, and most companies have digital transformation initiatives now. So we need to help developers to be able to handle those pressures that companies can be putting on developers as well.

Brian Dawson: Awesome. Thank you.

James Strachan: I agree with everything they just said.

Brian Dawson: Plus 100.

James Strachan: It removes obstacles. It's an easy onramp to get started with Jenkins X, which I think is amazing.

Brian Dawson: Well, awesome. Hey, I enjoy conversations with you guys. Thank you for taking time out of your busy day to spend a few minutes talking. Congratulations. And then also thank you for the additional success and revenue that the work that you guys have done today are gonna bring to my paycheck.

Brian Dawson

Brian is a DevOps evangelist and practitioner with a focus on agile, continuous integration (CI), continuous delivery (CD) and DevOps practices. He has over 25 years as a software professional in multiple domains including quality assurance, engineering and management, with a focus on optimization of software development. Brian has led an agile transformation consulting practice and helped many organizations implement CI, CD and DevOps.

Follow Brian Dawson on Twitter.