Serverless à la Kubernetes: Getting started with Kubeless

David O'Dwyer, Livewyer

After completing this course, you will:

  • Understand the role of serveless computing in the current IT landscape
  • Understand the role of Kubeless in the Cloud-Native landscape
  • Understand functionsOrchestrate multiple functions
  • Create, deploy, execute simple functions on Kubeless
  • Expose and (secure) functions
  • Integrate multiple functions together
  • Integrate functions with external services
  • Use Serveless plugin for Kubeless

Participants should have a general understanding of programming. Knowledge of Kubernetes is advantageous but not essential. Nearer the time an intro sheet with set-up requirements will be issued.

What is Kubeless?

Kubeless is a Kubernetes-native serverless framework that lets you deploy small bits of code without having to worry about the underlying infrastructure plumbing. It leverages Kubernetes resources to provide auto-scaling, API routing, monitoring, troubleshooting and more.

What is Serverless?

Compute runtime parts of PaaS. Server management and capacity planning decisions are completely hidden from the developer. Code is executed on on events or requests. Serverless is a misnomer: it still requires servers.

What is Kubernetes?

Orchestration system for automating deployment, scaling and management of containerized applications .

Why Kubeless?

PROs
All the reasons for wanting Serverless computing:

  • run code without provisioning or managing servers
  • run code in parallel and scale it easily
  • Vendor-agnostic: not reliant on AWS Lambda, Azure Functions, etc.

CONs
All the pitfalls of Serverless computing:

  • testing and integration of functions might be trickier (frameworks and tools help)
  • the runtime’s resource are usaully constrained, some workloads are not ideal, for example: requests that take a long time or requests that use a lot of memory
    state, cache, queue, persistence storage are provided by other systems (could be running inside the same cluster)

A Kubernetes cluster is required and managed

Use cases

  • Web applications
  • Data processing
  • Real-time stream processing
  • Extract, transform, load
  • IoT
  • etc.

Alternatives

There are other solutions, like fission and funktion. There is also an incubating project at the ASF: OpenWhisk.

We at LiveWyer believe however, that Kubeless is the most Kubernetes native of all: Kubeless uses k8s primitives, there is no additional API server or API router/gateway. Kubernetes users will quickly understand how it works and be able to leverage their existing logging and monitoring setup as well.

Location: G2 Date: November 14, 2018 Time: - David O'Dwyer, Livewyer David O’Dwyer, LiveWyer