It's OSCON time again, and this year the tech sector is abuzz with talk of cloud infrastructure. One of the more interesting startups is Docker, an ultra-lightweight containerization app that's brimming with potential
I caught up with the VP of Services for Docker, James Turnbull, who'll be running a Docker crash course at the con. Besides finding out what Docker is anyway, we discussed the cloud, open source contributing, and getting a real job.
You've written a few books on various Linux subjects. How did you first discover Linux? What makes you so passionate about it?
I think I first stumbled over Linux in the mid-90s shortly after Debian was released. I'd worked with OS400, VAX/VMS, and SunOS previously but always in corporate environments. I don't think I immediately clued into exactly how powerful this whole "open source" thing actually was. When I discovered Linux, all of a sudden I had a desktop spec computer running the same tools and services that powered the Internet. It was pretty mind blowing. And importantly it was free. I didn't need to buy expensive hardware and operating system software to do these cool things. Then I realized that not only was it free but I got the source
code too. If something was broken or I wanted something more I could actually fix it (or at least take a stab at fixing it) or talk to someone else who could fix it. That feeling of ownership combined with the embryonic communities building around open source just amazed me. I've loved open source ever since.
Your bio says "for a real job" you're the VP of Services for Docker. Do you consider your other open source work a hobby?
That's mostly a joke related to my partner. Like a lot of geeks, I'm often on my computer, tapping away at a problem or writing something. My partner jokes that I have two jobs: my "real" job and my open source job. Thankfully over the last few years, at places like Puppet Labs and Docker, I've been able to combine my passion with my paycheck.
Open source contributors often speak about their work in that way; the lines between hobby and profession are very blurred in open source. Do you think that has a positive or negative impact?
I think it is both positive and negative across a lot of domains. It's positive that solutions to problems we solve in our jobs (like building tools, fixing bugs, writing documentation) can be shared with others and hopefully make someone else's life easier or get them to the pub faster. It's also negative in that being passionate about something so close to my day job exacerbates that sense that you're "always on."
I'm also conscious of how those blurred lines are impacting the diversity of our industry and open source communities. There is a perception, certainly in the startup world, that a good developer is one with a GitHub profile and who contributes to open source. I'm lucky enough to have the time, money, and education to be able to contribute to open source. But a lot of others don't have that privilege and that is at least partially responsible for shaping the very narrow demographics of many open source communities: white, male, educated. That perception of a "good" developer has become somewhat of a closed hiring loop and helps perpetuate the monoculture in open source and our industry more broadly. I think that's something we desperately need to change.
How did you become involved with the Docker project?
I came across Docker not long after Solomon open sourced it. I knew a bit about LXC and containers (a past life includes working on Solaris Zones and LPAR on IBM hardware too), and so I decided to try it out. I was blown away by how easy it was to use. My prior interactions with containers had left me with the feeling they were complex creatures that needed a lot of tuning and nurturing. Docker just worked out of the box. Once I saw that and then saw the CI/CD-centric workflow that Docker was building on top I was sold.
Docker is the new craze in virtualization and cloud computing. Why are people so excited about it?
I think it's the lightweight nature of Docker combined with the workflow. It's fast, easy to use and a developer-centric DevOps-ish tool. Its mission is basically: make it easy to package and ship code. Developers want tools that abstract away a lot of the details of that process. They just want to see their code working. That leads to all sorts of conflicts with SysAdmins when code is shipped around and turns out not to work somewhere other than the developer's environment. Docker turns to work around that by making your code as portable as possible and making that portability user friendly and simple.
What, in your opinion, is the most exciting potential use for Docker?
It's definitely the build pipeline. I mean I see a lot of folks doing hyper-scaling with containers, indeed you can get a lot of containers on a host and they are blindingly fast. But that doesn't excite me as much as people using it to automate their dev-test-build pipeline.
How is Docker different from standard virtualization?
Docker is operating system level virtualization. Unlike hypervisor virtualization, where virtual machines run on physical hardware via an intermediation layer ("the hypervisor"), containers instead run user space on top of an operating system's kernel. That makes them very lightweight and very fast.
Do you think cloud technology development has been heavily influenced by open source development?
I think open source software is closely tied to cloud computing. Both in terms of the software running in the cloud and the development models that have enabled the cloud. Open source software is cheap, it's usually low friction both from an efficiency and a licensing perspective.
How do you think Docker will change virtualization and cloud environments? Do you think cloud technology has a set trajectory, or is there still room for significant change?
I think there are a lot of workloads that Docker is ideal for, as I mentioned earlier both in the hyper-scale world of many containers and in the dev-test-build use case. I fully expect a lot of companies and vendors to embrace Docker as an alternative form of virtualization on both bare metal and in the cloud.
As for cloud technology's trajectory. I think we've seen significant change in the last couple of years. I think they'll be a bunch more before we're done. The question of OpenStack and whether it will succeed as an IAAS alternative or DIY cloud solution. I think we've only touched on the potential for PAAS and there's a lot of room for growth and development in that space. It'll also be interesting to see how the capabilities of PAAS products develop and whether they grow to embrace or connect with consumer cloud-based products.
Can you give us a quick rundown of what we should expect from your Docker presentation at OSCON this year?
It's very much a crash course introduction to Docker. It's aimed at Developers and SysAdmins who want to get started with Docker in a very hands on way. We'll teach the basics of how to use Docker and how to integrate it into your daily workflow.