LAURENCE MORONEY: Welcome to Coffee with a Googler.
Today I'm going to be chatting with Kelsey Hightower, who's
a developer advocate on our cloud platform.
Now Kelsey gets to work with cloud, and Kubernetes,
and containers, and all this kind of cool stuff.
So Kelsey, tell us all about it.
What is it that you do?
KELSEY HIGHTOWER: Yes, so my role here at Google
is a staff developer advocate.
And I focus on things like containers, docker,
micro services, and 12 factor, all backed by Kubernetes.
So Kubernetes is kind of the anchor point where
we help developers understand how
to adapt some of these patterns to run their applications
in the cloud.
LAURENCE MORONEY: Now say I've been
out of software development for the past couple of years,
and I haven't heard of containers,
or any of this kind of stuff.
What exactly is a container?
KELSEY HIGHTOWER: Yes, I think people
that have been out of technology for a long time
and they see a mobile device where you can push a button
and your application shows up, I think
this is what's happening on the server side for applications.
You know, no matter what languages you're writing in,
you can take that language, that application,
packaged it into this container, and run it
on any cloud provider or your laptop in very similar ways.
So I think the game's changed dramatically
for how people build and ship applications,
on the cloud and distributed systems, in general.
LAURENCE MORONEY: Now, that's cool,
but where do you see this going, say, in the next year or two?
KELSEY HIGHTOWER: With cloud, the promise
was that you would be able to run your applications anywhere.
You would just burst out and scale.
So I think what Kubernetes brings
to the table, and containers underlying that,
is the ability for you to actually do that anywhere.
You can pick the cloud platform of your choice,
on your local laptop, in your local environment.
So we're starting to get to a real application portability.
You write your application.
And you can choose your target, no matter where you live,
what region, what cloud provider.
And Kubernetes is doing this all out in the open, open source
project, with tons of people in our community
making that possible wherever you want to.
LAURENCE MORONEY: Now Kubernetes, this
is pretty popular on open source, right?
KELSEY HIGHTOWER: Yes, so one of the amazing things
about Kubernetes, it's an extremely popular project
mainly because it's open source, number one,
but it also bakes in a lot of the learnings from Google
and some of our other partners, like CoreOS and Red Hat.
And they've all come together.
And we collaborated on this very popular project on GitHub.
So Kubernetes has become this anchor point
for distributed systems and container management, at scale.
LAURENCE MORONEY: So you're seeing this openness
of container standards as being something
that's super important in the enterprise, right?
KELSEY HIGHTOWER: So I think the enterprise, in general,
is really fixed on having an open platform.
Because let's face it, they don't
want to get locked in again.
Right?
Once you get locked into a particular vendor,
you're pretty much stuck there.
So the open source movement, maybe started years ago,
has offered a way for their enterprise
to not only select a partner in technology,
but also to participate.
So Kubernetes gives the enterprise
the ability to participate and shape the future
that they want to see.
And we see this with very popular companies
like eBay, AT&T--
all of these companies are using Kubernetes,
and also contributing to Kubernetes
in a way that allows their enterprise
to adopt their own workloads into the platform.
LAURENCE MORONEY: Yeah, I mean I've
built applications in the past.
And I know that dependency management
can be an absolute nightmare.
So containers are something that you
think could really, really help me with that, right?
KELSEY HIGHTOWER: Yes, so that's a goal.
So containers attempt to push the dependency management
to the developer.
You're building the app.
You know what your dependencies are.
So given a container platform, you
have the opportunity to package your application from end
to end, and just turn over the box to the team
to run it on the platform.
LAURENCE MORONEY: Now, I understand that this can also
go beyond enterprise, and games such as Pokemon Go
have been using this.
Do you have any other examples of how people have used it?
KELSEY HIGHTOWER: Also, I think Pokemon Go
is a good example of using something like Kubernetes.
Right?
The goal is to make a game that people can play and not manage
infrastructure.
So for a company, in this case, for a Pokemon Go,
you throw your game back into a container,
and you allow Google Cloud Platform just
to scale it across as many machines as your users demand.
So this is like the perfect use case where you just
want to write an application, get it in front of people,
and let the platform do the heavy lifting of scaling
and responding to users.
LAURENCE MORONEY: This all sounds really good.
And if I'm a developer, you've just really inspired me
to get started with this kind of stuff.
So where should I go, and what should I do to get going?
KELSEY HIGHTOWER: You have tons of options.
One option is to grab your laptop.
All that extra memory, all that extra CPU,
you can download a project called MINICUBE.
It's an open source product that gives you a single node
Kubernetes cluster.
And that will give you all the primitives
you need to exercise Kubernetes, deploy your application.
And the nice thing about that investment,
you can take all of those configs, your applications that
are packaged and containers, and push them up to GKE,
our hosted Kubernetes environment
on Google Cloud Platform.
LAURENCE MORONEY: So Kelsey, do you
have any advice for developers who
are interested in Kubernetes and who
are interested in cloud and all that kind of stuff?
KELSEY HIGHTOWER: I think the best thing
to do is go visit Google Cloud Platform
and click the GKE button.
And what it will do is, in a single button,
you can get a fully working Kubernetes cluster,
like the same one that Pokemon Go was using.
And then you can ramp up really quick.
So you can start out with three nodes
and scale up to thousands of nodes as the time comes.
LAURENCE MORONEY: What does GKE stand for?
KELSEY HIGHTOWER: Google Container Engine.
We wanted GCE for Google Container Engine,
but that was already taken by Google Compute Engine.
So the K stands for Kubernetes.
LAURENCE MORONEY: And if you want to get started,
don't forget we've got a bunch of links in the description
below.
Go take a look at them.
Kelsey shared them with us.
And there's some great stuff there.
I can't wait to see what you build in cloud.
I can't wait to see what you do with containers.
If you've any questions, just please leave them
in the comments below.
Don't forget to hit that Subscribe button.
Thank you.