At last year’s QCon San Francisco I got to curate a track on continuous delivery. One of the goals of the QCon conferences is “information Robin Hood” – finding ways to get out into public the secret sauce of high performing organizations. So I set out to find talks that would answer the questions I frequently get asked: can continuous integration, automated testing, and trunk-based development scale? How does continuous delivery affect the way we do product management? What’s the business case for continuous delivery? How do you grow a culture that enables it?
You’ll find the all these questions answered in the talks below, from the leaders who have been at the forefront of continuous delivery at Amazon, Facebook, Google and Etsy. They also discuss the tools they built and the and practices they use to enable continuous delivery. Finally, you get me talking about how you can adopt continuous delivery at your organization.
Thanks so much to Jesse Robbins, Frank Harris, Nell Thomas, John Penix and Chuck Rossi for these great talks, and to the folks behind QCon SF for an awesome conference.
Jesse Robbins ran ops at Amazon before quitting to co-found Opscode (creators of Chef). He is also co-founder of Velocity. In his copious spare time, he’s a volunteer firefighter. Basically, Jesse is an enormous over-achiever. This is a fabulous – and hilarious – talk that discusses the hardest part of implementing continuous delivery: cultural change. This talk features my favourite devops aphorism:
One of the main goals of continuous delivery is to get fast feedback on your hypotheses so you can build the right thing. In this talk Frank Harris and Nell Thomas of Etsy show off a bunch of their tools, including the A/B testing framework they built for running experiments (which uses feature toggles under the hood). They give an example of an experiment they’re running right now, and discuss how the ability to gather and analyze data on customer behaviour in real time (see screenshot below) affects the way they do product development.
In this talk, John Penix of Google shows off the awesome product he and his team built for continuous integration and cloud-based testing at Google. Teams at Google are free to choose their own development practices and toolchain, but this one has a pretty high uptake. When people ask me if trunk-based development and continuous integration can scale, I like to show them the following slide:
In addition to discussing the process he uses to release twice a day, Facebook’s lead release engineer Chuck Rossi shows off the extensive toolchain they built to deploy at scale. Highlights include Gatekeeper (screenshot below), which manages who gets to see which features as part of their dark launching process, and their deploy tool which categorizes all proposed patches based on the size of the patch, the amount of discussion around it, and the “push karma” of the committers.
Amazon, Etsy, Google and Facebook are all primarily software development shops which command enormous amounts of resources. They are, to use Christopher Little’s metaphor, unicorns. How can the rest of us adopt continuous delivery? That’s the subject of my talk, which describes four case studies of organizations that adopted continuous delivery, with varying degrees of success.
One of my favourites – partly because it’s embedded software, not a website – is the story of HP’s LaserJet Firmware team, who re-architected their software around the principles of continuous delivery. People always want to know the business case for continuous delivery: the FutureSmart team provide one in the book they wrote that discusses how they did it: