[MUSIC PLAYING]
DUSTIN KIRKLAND: Hello.
I'm Dustin Kirkland here at KubeCon in Copenhagen, Denmark.
And I'm joined by Tim Hockin, who's
going to give us his thoughts on a handful of the questions
that you've been asking us this week.
Tim, you've been around Kubernetes a long time.
I'd really like to hear from you in your words
how Kubernetes is changing the course of application
development and ultimately IT operations at scale.
TIM HOCKIN: Sure.
I think Kubernetes containers and the sort
of orchestration model is really changing
the way people are able to think about their applications,
the way they think about building them,
and the way they think about running them.
In terms of building, Kubernetes really
captures the microservices model where
you can build lots of small pieces
and link them together into a larger application.
From the operations point of view, from the IT side,
it lets you think about your applications and your code
in a way that isn't so one to one.
You don't think about which machine is running which piece
of software, and you don't think about how
you handle events and sorts of things that go wrong.
DUSTIN KIRKLAND: And why is that important?
TIM HOCKIN: It's important because things go wrong
all the time.
Right?
I mean everybody who's run an application understands
the reality.
Things crash, and they always crash at 2 o'clock
in the morning on a Sunday when you are on vacation
after a night of drinking.
DUSTIN KIRKLAND: But with Kubernetes,
that doesn't happen?
TIM HOCKIN: No.
Things still crash, but Kubernetes
is designed to accept the reality that things will crash.
And we will just move it somewhere else
because the identity of the machine that you're running on
is not that important.
Your application is just a unit that we
can move across the soup of your cluster,
and we can just bring it up somewhere else.
We can let the system self-heal.
And if it takes a little while for that crashed machine
to come back online, maybe it takes a week,
maybe you have to buy a new hard drive, that's
fine because you shifted the load somewhere else.
And once people start to internalize that idea,
it changes fundamentally the way you
think about running your applications in the cluster.
This is how we've been doing it at Google more or less forever.
The idea of a machine, a VM or a physical machine,
a server that runs my application and just
my application is completely foreign to the Google mindset
of how you build an application.
You throw it into the Borg and it runs somewhere.
And so Kubernetes tries to bring the best of that
to the open source world.
DUSTIN KIRKLAND: So Tim, you've been around this technology
for a long time.
You've seen the evolution of Borg at Google.
And in its early inception and its migration into Kubernetes,
how did Google Developers make that transition
to writing for Borg?
And how does that translate to third party developers writing
for a Kubernetes that maybe has nothing to do with--
they're quite detached from the Kubernetes that's ultimately
going to run their application?
TIM HOCKIN: So with Google and Googlers,
it was back in 2003-ish when Borg started
to come into fruition, and it really
was a very different system than it is now,
but the ideas were the same.
Take a machine, share it across multiple users,
put some isolation barriers in place
so that you can provide some level of guarantee
that you won't hurt each other, that you can co-exist.
And it took a long time for people
to give up the private machine mentality, especially
for these big applications, like search, where Google really
makes its money.
These were very difficult. They have very strong requirements
in terms of performance and guarantees.
And so it took a long time for those apps
to come into the Borg ecosystem.
But once they did, their lives are better for it.
They get the consistent operations,
the existing tooling.
We have a very small cluster--
sorry-- very small team of cluster administrators
who run the entire Google fleet.
And it's amazing because the power of Borg
lets them scale that way.
So for people who are outside Google, people
who are in the real world, they look at Kubernetes,
and they see it as this new thing.
They don't really know what to make of it.
It's natural that people have some amount of reluctance
to get into it.
But the more we show people, the better off they will be.
I had a great personal moment when
I was presenting at USENIX LISA a couple of years ago,
room full of systems and--
DUSTIN KIRKLAND: Fantastic conference, yeah.
TIM HOCKIN: And I showed them some of what Kubernetes can do.
Just here's how you do a rolling update.
Here's how you do a deployment.
Here's how you flip a service from A to B,
and there were audible gasps in the room.
How did you do that?
And that was great for me because this is the mindset.
DUSTIN KIRKLAND: I've seen that, too.
The developers who come around and come
to understand how much Kubernetes does for them so
that they can focus on simply their application
packages as a container and see that scaled out.
I think it helps take, you mentioned,
it helps taking a small IT team and turn
it functional at larger scale even smaller,
but also helps one developer or team of developers
create quite a bit more technology.
TIM HOCKIN: For sure.
You don't need to have a huge operations
team to run a big fleet.
And I think you can get away with a very small ops team
if you've got a small fleet.
If you've got 100 nodes in your fleet, which
is a pretty decent sized compute fleet,
you can run a pretty big website on 100 machines,
and you can really run that with one or two people.
DUSTIN KIRKLAND: So you've seen Google effectively democratize
that technology and make that generally available
to practically anyone.
TIM HOCKIN: Absolutely.
I mean a big part of Kubernetes was bringing these ideas
forward, but not just the ideas on their own,
like a working implementation.
It was really important for us to say, not only do
we believe you should operate like this,
but we're going to help you do this.
DUSTIN KIRKLAND: Now you've got a position
in the community that enables you
to see a lot of the different, hard, technical problems
around Kubernetes.
Can you give us a sense of where some of the areas
are that need the most work?
And I'm talking less code writing and more
like design decisions, some of the big, hard problems.
TIM HOCKIN: Sure.
Kubernetes is a big project.
It's got a lot of surface area.
One of the big problems we have is
how to limit the growth of that surface area.
We can't grow forever.
And so a ton of work has been going
into things like extension mechanisms and plug-ins
and hooks and making those things really truly
usable for production grade deployments, not just
prototypes.
And so a ton of work has been going in.
A ton more work has to be done and is being done now.
The community's amazing and very vibrant here.
So this is one of the thing's really interesting.
Another is in the growth of the surface area,
you see a lot of new challenges that were not
in scope when we started.
I work in the infrastructure side of things, so networking
and storage.
So one example here is Kubernetes growing
to fill more networking spaces.
Things that have traditionally been
filled by classical, virtualized networking,
NFVs, and virtual firewalls and deep packet inspection
and all those sorts of things that a lot of enterprises,
a lot of big companies have been sold
that they believe in the technology, the value
that it brings to their company.
How do you map that to Kubernetes?
And you know--
DUSTIN KIRKLAND: Is it a place where
Kubernetes has to plug into the way the enterprise already
operates?
It can't just wipe the slate clean.
TIM HOCKIN: Some of it.
Some of that.
And some of it is really looking at the problem with fresh eyes
and coming back to it and saying,
what would be the Kubernetes way of describing this problem?
So there's going to be some blending there.
These are problems that Google never had.
This is a place where Borg just doesn't have anything
because it's not a problem that Google deals with.
DUSTIN KIRKLAND: What are some of the projects
that you find most interesting or some
of the interesting innovations and developments
that are happening?
TIM HOCKIN: I'm a big fan of the Istio project.
And not just because it partly comes out of Google,
but I think the technology is really interesting, really
exciting.
The demonstrations that they can show you,
like look, we can do this for you,
is on the level of the first demonstrations of Kubernetes
of saying, look, we can do this for you.
So it sort of gives me that childlike glee
when I see somebody doing something really cool.
There are so many other projects.
I mentioned earlier the networking and devices.
There's all the work around ML and GPUs that is happening.
I think it's really exciting stuff.
It's a really hot space that's going
to really change the world and probably obsolete me.
And its exciting to see these people working on things,
but we got to figure out the sort of principled models
with which we're working.
DUSTIN KIRKLAND: It seems to be a good fit
so far with Kubernetes.
TIM HOCKIN: I can't imagine it not being a fit,
but there's previous decisions that we have to work through
in terms of compatibility and in terms of how do we
fit these things in the system.
DUSTIN KIRKLAND: And then, who do you
find some of the most inspiring people around the community?
TIM HOCKIN: The most inspiring people--
I'm an engineer through and through.
So I really look up to folks like Clayton Coleman
from Red Hat, who is really so fundamental to the project.
The project would not be what it is
without him and his team of awesome people
that they brought to the project.
But I also look around at some of the people
I work with at Google and that I measure myself against.
There's guys like Brian Grant, who is just a genius,
and Eric Tune, who is just the best
engineer I've ever worked with.
These people are amazing to me.
And then, you look around the rest of the space,
and there's all of these brilliant, exciting people who
are out talking about Kubernetes and evangelizing and showing
neat ideas.
And you don't need to be core contributors
to be really exciting.
It's hard to pick any one.
I tend to pick, I guess, the people
I interact with the most, but there's so many--
DUSTIN KIRKLAND: Quite a vibrant community
from that perspective.
TIM HOCKIN: So many people.
I'm going to spend all week at KubeCon talking to people.
I doubt if I'll go to a single talk.
DUSTIN KIRKLAND: And then, do you have any advice
for maybe a university student or a young engineer
just getting started with Kubernetes?
How do they take that first step?
TIM HOCKIN: How do you take a first step into any open source
project?
You just start.
You just decide you're going to do it.
You decide a problem that you want to try to work on,
and you start reading code.
DUSTIN KIRKLAND: Get cloned is the first step.
TIM HOCKIN: Get cloned.
Exactly.
And if you can start from main, and if you
can start reading code and comprehending it,
and you go an hour and you don't find something you need to fix,
you're really not looking hard enough.
DUSTIN KIRKLAND: I like it.
And then finally, a question we're
asking all of our interviewees here.
How did-- I have to stifle a little bit of a laugh--
how did you get started with Kubernetes?
TIM HOCKIN: So I was working on the Borg team at Google.
Specifically, I was working on the node side of the Borg team
and Omega working on the node agent
so the equivalent of kubelet in the omega side
was called omlet.
And we were working on this, and we
were asked to work more closely with a Cloud team
to see if we could find ways to synergize to not duplicate work
so much.
And at the same time, this Docker thing landed.
People started talking with Docker.
And we looked at it, and said, wow, this is kind of neat.
It's sort of what we've got going on inside omlet, wordlet.
I could sort of see how this could turn into an open source
Borg, which is something that we had pitched to our leadership
before, but we didn't really have the momentum behind it.
And then, a few folks at Google took this
and ran with a prototype.
And they showed us this very simple mock-up
that they threw together, and it was amazing.
It was immediate, like I see this.
I get it.
This is something.
And so the opportunity to work on this was there.
And I said I would like to help take this from prototype
into reality.
DUSTIN KIRKLAND: Cool.
And now I want to eat an omelette.
I don't know why.
All right.
Thanks Tim.
I appreciate it, appreciate your time here.
TIM HOCKIN: Thanks.