A recipe for honey

Jenkins creator Kohsuke Kawaguchi on applying his “not-so-secret sauce” to CloudBees

Lucy Carey
cloudbees.1

Newly installed CTO talks to JAXenter about the road ahead, the importance of elasticity, and some interesting applications of continuous integration.

Kohsuke Kawaguchi is perhaps best known for being the
founder and current lead developer of the ever growing
Jenkins continuous integration
(CI)
open source community. He’s also been a key member of the
Cloudbees
team since 2010 – first as an elite developer and architect, and,
as of last month, the company’s first ever CTO.

This promotion, which puts Kawaguchi right at the helm
of developing CloudBees’ technology strategy, is something
Sacha Labourey
, founder and CEO of the PaaS provider,
attributes to the critical role he has played in, “guiding the
development of the CloudBees platform to ensure it remains the
leading continuous integration and continuous delivery platform on
the market.” It’s this knack for tapping into the demands of a
market increasingly geared towards continuous integration that
Labourey hopes to capitalise on for future platform development and
strategy.

Part of what makes CloudBees such an excellent fit for
Kawaguchi, he says, is the way in which it “enriches the Jenkins
ecosystem by bringing its weight.” By adding things like commercial
support and additional enterprise functionalities, the reach of
Jenkins has grown exponentially, and many enterprises now “feel
more comfortable with using Jenkins.” As the creator of the
platform, Kawaguchi is, “very grateful for this, and I’m excited at
the doors that open when we go in.

It’s clear that this support means a lot to him – and
he’s well aware of the need for increasing awareness of Jenkins. In
a recent
Zero Turnaround
survey, Jenkins came out on top as the tool of
choice for ‘rock star’ developers in terms of predictability and
quality of software delivery – something Kawaguchi attributes to
the fact that continuous integration is still a “relatively young
practice, which means there are more use in the “rock star
developers” category compared to the “all developers” category. So
the project has more evangelism to do!”

He’s also a big fan of the flexibility that the
CloudBees cloud-hosted Jenkins as a Service (DEV@cloud) and
Platform bring to the table, explaining that the elastic
environment brings a new level of productivity gain to software
development, and, “being a part of the team that’s making this
happen is a source of pride for me.”

Although he wasn’t able to disclose the full company
roadmap for the year ahead, Kawaguchi was able to tell us that
CloudBees will also be adding more features to Jenkins Enterprise
in the next 12 months. On the cloud side, the company is working on
new efficient technology to provision, house and isolate slave
build machines, which he says will, “reduce the speed of builds
considerably, as well as enable us to offer elastic OS X build
machines.”

You hear a lot of terms like “elasticity” and
“extensibility” bandied around by CloudBees folk – and it’s these
concepts that Kawaguchi pinpoints as his “not-so-secret sauce” to
the craft of software development. Or, as, he puts it, “ the idea
that software should consist of individually reusable and
composable pieces, and other developers should be able to pick up
pieces and build on top of them, in ways that enable others to
build further on top.”

This ideology has suited Jenkins very well, and he is
keen to make more of an effort to implement it for the benefit of
CloudBees, in the hopes that it would allow them to simplify or
unify their engineering efforts.

On the Jenkins side, like any proud open-source
creator, he’s delighted to see how critical mass continues to grow
around the project. Although the nature of open-sourcing means that
he often has “no idea” what the community is up to, from what he
can tell, there’s currently a lot of “interesting attempts to deal
with how to manage large numbers of inter-related jobs without
manually creating them”, and he expects efforts in this space will
continue.

He’s also currently seeing several significant new
lower-level services/abstractions being added to the Jenkins core,
such as abstracting away artifact handling, or a master-to-master
communication mechanism, which he thinks will enable user-visible
functionalities in plugins.

Around all that, Kawaguchi is also trying to, “rally
the community around a single acceptance test harness that we’ve
been building, so that the community could amass more test cases.
We’d like to use those to provide more stability and better quality
for Jenkins.”

Then there’s the atypical use cases – one person told
Kawaguchi that he’s using Jenkins to take a picture with
a webcam every second, then using an image processing application
to 
track moving figures in the image. There are
also a number of people using Jenkins to
bring 
continuous integration to writing
books.

Although he finds these projects entertaining, to him,
the “awe-inspiring deployments of Jenkins”  are those where
people “build plugins on top of Jenkins to really create a tool
that makes their dream of  continuous delivery process a
reality. I feel very proud that these people decided to build their
dreams on top of Jenkins, and it’s even more awesome that these
things happen totally on their own without me knowing anything
about them until they show me.”

Alongside all of this, Kawaguchi keeps himself busy
with a plethora of hobbies, ranging from an unusual passion for

cross-stitching
retro 2D pixel arts (you can check out his
rather impressive gallery
here
), to a growing stack of open-source projects. The latest
of these is “no more
tears
“, which uses a feature in Java7 for scripting languages
to help cope with code evolution and backward compatibility.

He confesses to being “horrible” at prioritising, but
refers to a lot of these off-shoots as “project of the day”,
meaning that, “they tend to be single functionality library/tool
projects. Sometimes it’s a reusable portion of a task I happen to
be working on, and sometimes it’s just a cool idea that I wanted to
show to others.”

Having been installed in the role for a less than a
month, Kawaguchi is very much still bedding down into his new CTO
title. Nonetheless, the year has already got off to a brisk start
for him – when JAXenter tried to pin him down for this interview,
his diary was already packed out.

Alongside these obligations, there’s the ongoing work
on the Jenkins Operations Center. He tells us that there are “tons
of things” that the company would like to add to it already –
“things that will help people scale Jenkins even further.” It’s
clear we can expect some exciting developments from the CloudBees
hive in the year ahead – and apparently, after four CTO-less years,
they’ve found just the right multitasker to help knock things up a
gear.

Author
Comments
comments powered by Disqus