Later this month, Container World is set to roll into Silicon Valley and set up its tent at the Santa Clara Convention Center. On opening day, the last of six keynote addresses, "Containers and Orchestrators: A way to navigate lock-in and get the most out of pure open source solutions," will be delivered by Craig McLuckie, co-founder and CEO of Heptio, a software startup centered around the Kubernetes orchestration platform.
McLuckie knows Kubernetes. Five years or so ago, he and his Heptio co-founder Joe Beda, along with Brendan Burns, now a distinguished engineer at Microsoft, developed Kubernetes while at Google and released it as open source. Before that, he and Beda were the developers of Google Compute Engine, Google's Infrastructure-as-a-Service product. In addition, McLuckie led the creation of the Linux Foundation's Cloud Native Computing Foundation, where the Kubernetes orchestration platform now calls home.
ITPro Today recently had the opportunity to talk with McLuckie, and we asked him about his days at Google when Kubernetes was just getting off the ground.
ITPro Today: Kubernetes was first announced by Google in 2014, but you, Joe Beda and Brendan Burns, had already been working on the project. Can you give us an idea about how that came to be?
McLuckie: If you wind back time a little bit, Joe and I were working together at Google. We built a product called Google Compute Engine and it was an interesting project. We were basically bringing the world of legacy IT to Google's data centers, constructing what looks to the outside world like a very traditional way of running applications on Google's infrastructure. Once that project was sort of tracking along, Joe and I started looking at what was next and thinking about it from other perspectives.
We had Compute Engine, which we built, and we had App Engine, which was this modern PaaS [Platform-as-a-Service] embracing the Twelve-Factor App paradigms. But there was clearly a gap that existed between the two and we were looking for this sort of Goldilocks extraction that was at a high enough level to extract away the vagueness of infrastructure, but low level enough that you could run pretty much anything you wanted.
[Container World delivers real-world case studies from the cloud-native ecosystem, hands-on technical education, the best speakers and cutting-edge startups under one roof. Get your ticket.]
We saw a lot of challenges with organizations as they were sitting in either of those two worlds; either the pure PaaS world or the pure IaaS world, because in the PaaS world, they'd reached these sort of exponential cliffs that inevitably would fall back into the infrastructure-as-a-service when they encountered something that they wanted to run but they couldn't run. Then on infrastructure, obviously, they were just giving up a lot of utility, so we're trying to find that sweet spot.
Joe had already been sort of dialed in -- he's almost clairvoyant when it comes to technology trends -- and he found Docker before it was really popularized. So we started playing with some of those ideas. Brendan joined us, and he's always been a really amazing, creative spirit.
One of the things we were asked to do was a demo for a kind of cloud-all-hands, where we would showcase what was happening in the industry and play with some ideas. Brendan, over an afternoon, put together this little demo where he used Docker to run workloads in a collection of Google infrastructure virtual machines. When I saw that I knew it was going to be the thing. It felt like a mini personal cluster in virtual machines, and the thing that was so attractive about it was that it wasn't necessarily pursuing what technologies like Mesos did. It was a way to allow people to find their way into this more progressive way of running workloads a small piece at a time, stitching together a number of virtual machines to create almost an ideal computer fabric.
So that's where the original idea of Kubernetes came together. When Joe, Brendan, and I talked about it, looked at it, the key epiphany was that we weren't going to come at it from these big horizontal build-outs like you saw with Mesos, but rather, targeting use cases that traditional software configuration management tools like Puppet, Chef, and Ansible were using and building from there on up. So we just paused and made sure that made sense.
ITPro Today: Did you have any trouble getting Google on board with that?
McLuckie: You know, it was pretty tough. The interesting thing was that we wanted to do this a little differently than all of the other projects. The obvious instinct for Google was to come at this from the perspective of let's create something that looks like Borg and make it available to the outside world. We had so much amazing DNA in the company with people like Brian Grant, Tim Hawkins, and all these expert engineers who have built two generations of container management technology.
What we wanted to do, and I can't remember who originally suggested this, was release it as an open source technology. Start with an open source technology that allowed us to tap into the incredible power that is the world of open source. We saw Docker getting a disproportionate amount of attention and support from the community because it had been open sourced. We wanted to replicate that, but at the next layer of the stack where it wasn't enough to just have containers. The thing that was really interesting was how you managed them; how you deployed them; how you updated applications running them. Our ambition was to start with an open source first approach.
That obviously raised some eyebrows inside Google. We had to talk to Urs [Hölzle, Google's SVP engineering] quite a lot before he finally gave us the go ahead. It was actually another person who's reasonably well known, Eric Brewer, of CAP Theorem fame...we spent a fair amount of time chatting with him. He really got it and he helped us build the case internally and create the right environment so we could get the approval to go ahead and create an open source technology around this idea.
ITPro Today: Kubernetes is now a phenomenal success. Did you have any idea at the time that you were working on something that would have the kind of effect that it's ended up having?
McLuckie: Honestly, Kubernetes has succeeded more decisively than I expected. We knew there was a lot of potential and power there. We could see firsthand the amazing efficiency gaps that existed between the way that Google internal workloads ran and the way that external workloads on Google Compute Engine ran, so we knew there was a tremendous amount of value to be delivered. I don't think any of us expected such a decisive outcome, to see the world really converge around the technology in the time frame it has. But we definitely were aware of the potential.
ITPro Today: Since then, the Kubernetes orchestration platform has found a rich ecosystem of companies that are using Kubernetes as their foundation.
McLuckie: I think one of the things that was clear to us right from the get go is that for it to really succeed and achieve its full potential it had to be legitimately open. It couldn't be something where we inside Google just held on to every line of control, because ultimately that would limit its applicability to its use on Google. For it to become something that was widely and richly embraced by the community, it had to be a legitimately open technology. So we put a lot of time and thought into that. First in the community itself by making sure that we opened the community up to committers from other organizations, that we behaved in a way that embraced a lot of the ideals of open source, and making sure it never felt the technology was there to just solve Google's problems or promote Google's agenda. That really helped.
The second thing that I think helped a lot was creating a robust software foundation, the Cloud Native Computing Foundation, which had a lot of provisions to make sure that as Kubernetes moved into that foundation, it wasn't just about Kubernetes. It was about the really rich ecosystem of open source projects that could merge around it and fill a lot of the operational gaps that existed beyond Kubernetes.
ITPro Today: You probably also never dreamed when you were at Google that you would still be earning your living from Kubernetes this far forward did you?
McLuckie: That's interesting. I think different folks find different satisfaction in different things. The thing that has motivated me through the last decade of my career is IT itself. The idea that IT is too hard -- it's just too hard to get code into production. IT represents this substantial mode of force that's driving every form of industry. The tools that individuals have had, have been too primitive to enable them to really unlock the power of IT. I always knew I'd be working on that problem and I will continue to work on that problem, probably for the rest of my career. It's what really motivates me.
In terms of whether that would be on Kubernetes or some of the projects that came later, that wasn't obvious to me. Obviously, in addition to Kubernetes I'd spent a fair amount of time working on some other technologies that are starting to become available in the industry. But for me personally, I saw getting Kubernetes to a point of absolute ubiquity as being the most important next step forward in my personal mission, which is to make it easier for developers to get code into production. That's just a larger function of the success of the project.
ITPro Today: And helping developers get code into production is still what Heptio is doing now.
McLuckie: Yeah, exactly. Our mission is to allow IT organizations to achieve their full potential. To drive down the barriers to adoption of open source, to achieve high levels of self-reliance, and ultimately to give their developers superpowers so they can just go faster.
ITPro Today: Coming up at Container World you're going to be doing a keynote. Your colleague at Heptio, Ryan Schneider, is going to be conducting an Introduction to Kubernetes workshop too.
McLuckie: Yeah. One of the things we do at Heptio is provide training material for people who are at any point in their journey to becoming Kubernauts. So Ryan will be there and will offer a workshop where people who are looking to really cut their teeth on the technology and understand the utility of the technology can learn a lot more.
Craig McLuckie will give his Container World keynote address, "Containers and Orchestrators: A way to navigate lock-in and get the most out of pure open source solutions," at the Santa Clara Convention Center on Tuesday, February 27 at 9:40 a.m. At the preconference on Monday, February 26, Heptio's lead education engineer, Ryan Schneider, will conduct a workshop, "Introduction to Containers and Kubernetes," beginning at 1 p.m.