A reminder to use Docker in your CI/CD pipeline

By James Thomas

Elevator Pitch

Using Docker to abstract away the underlying build agents of your CI/CD pool has been one of the greatest use cases of Docker ever. And yet, there are still organizations out there that aren’t taking advantage of this. In this talk I will gently remind everyone of this low hanging fruit.

Description

Docker has been one of the most transformative pieces of technology introduced in the past couple of decades. It has delivered on the benefits of virtualization with a drastically reduced cost. It has made Ops job of supporting deployed applications simpler through a standard deployment and runtime interface. It has allowed for more secure systems by reducing the total surface area exposed to a running application.

But Docker is also great for just building software. It abstracts away to a large degree the underlying operating system so that you need not worry about conflicting SDKs or drivers or libraries. It allows you to specify all of those necessary configuration bits in code inside your Dockerfile, so it’s clear to all what precisely you need in order to build your software. It allows for the option of fully reproducing a build of software on a clean workstation that only has Docker on it. There are of course some tradeoffs here, and I’ll cover a few of them in my talk.

This is honestly a topic I could speak on beyond the 5 minute Ignite talk limit. I could easily do 20 minutes, and probably 30. A larger talk would go more into the history of how agent pools were managed, a number of previous attempts to solve this problem (like ephemeral agents), and how we finally arrived at Docker as the clear and obvious solution to the problem. If you think an expanded talk on this topic would resonate with the attendees, feel free to book me for a full talk and I’ll work with you on updating the Description and Title.

Notes

No special technical requirements here, just a standard old ignite talk. As for why I’m the best person to give the talk: I know this topic backwards and forwards, having worked with this model exclusively in numerous ways for the past six years. I’ve actually given talks on this very topic before back around that time. I feel a duty and obligation to continue to evangelize for this use of Docker to make people’s jobs easier.