Kubernetes, Serverless, and You (Next Rewind ’18)


Written by:

BRETT MCGOWEN: With almost
500 sessions at Next 2018, it’s understandable that you
couldn’t get to them all. So if you didn’t see
“Kubernetes, Serverless, and You,” then stay tuned,
because here’s the Rewind. [MUSIC PLAYING] Kubernetes is a great way to
run and manage your containers. It’s open source and
has a vibrant ecosystem with over 5,000 contributors. It’s great for
operators, as it does a lot of things that keep
your application running at a high level, like load
balancing, restarting or moving unhealthy containers, creating
additional container copies to handle traffic, and more. But as a developer,
there are still a few things I need to do to
get my application running in Kubernetes. First, I write my code. Then I turn it into a
containerized image, upload that image to a
container registry somewhere, deploy my service, expose
it out to the internet, configure logging
and monitoring so I can see what’s happening
in my application, and configure scaling. As a developer writing
an application, however, all I really want
to do is write my code. I want those other pieces
taken care of for me. That’s what serverless
development looks like when using tools like
App Engine or Cloud Functions. So we’re building an add-on
to Google Kubernetes Engine to do just that. With the GKE add-on, you can
deploy an app or a function to your Kubernetes cluster
with just a single command. Installing the GKE serverless
add-on to your cluster can be done in just one step. The serverless add-on extends
Kubernetes with a new control plane and custom resource
definitions designed with developers in mind. Using the Declarative API, you
can go from source to deployed, turning your code into a
URL, in just a few minutes. Deploying a service no longer
means managing all the details. Provisioning ingress, network
programming, and managing pod states are all taken
care of by the add-on. The serverless add-on
even scales your app based on demand, just like
App Engine or Cloud Functions. Not only scaling from one
instance to many, but even scaling down to zero
when demand disappears. Now you can fit more
low-volume workloads in the same cluster capacity. The add-on even
enables your code to declaratively bind
to events and respond to triggers beyond
HTTP requests, like Pub/Sub, or Kafka topics. And what is powering the
GKE serverless add-on? It’s a new open source
collaboration called Knative. Knative is a set of
Kubernetes-based building blocks for serverless workloads. Here’s what it looks like. Starting at the bottom,
we have Kubernetes. Kubernetes is the universal
platform, the base layer that makes all this possible. Just above that, we see Knative. Knative today consists
of several foundational components, starting
with build, serving, and events, each
of which in turn attempts to standardize
the patterns that are used by just about any
workload running on Kubernetes. Think of Knative as the
standard library on top of the Kubernetes colonel. We’re just getting
started, and we plan to create more of these
components in the future. At the top, we see actual
developer-facing products, like the GKE serverless add-on. These are the tools that
developers can use directly to get the same type of
serverless experience you see with tools like
Google Cloud Functions. Leveraging Knative components
lets you build either a general purpose serverless
platform that runs anywhere, like Riff or OpenFAST, or you
can build for your developer platform. For example, SAP has
built Kyma, which leverages Knative to bring
a serverless experience to the SAP platform. The best news of all,
Knative is open to everyone. The community is
lively and growing. And we hope to see
you there soon. To find out more about
Knative, to sign up for the GKE serverless add-on,
or to watch the full talk, check out the links in
the description below. And don’t forget to subscribe
to the Cloud YouTube channel for more great
Next Rewind content. Thanks for watching. [MUSIC PLAYING]

Leave a Reply

Your email address will not be published. Required fields are marked *