This document provides an overview of serverless computing and Knative. It begins with defining serverless computing and distinguishing it from Function as a Service (FaaS). It then provides a high-level overview of the main components of Knative, including Knative Serving for building and deploying serverless applications and Knative Eventing for connecting those applications. It also introduces OpenShift Serverless, which is Red Hat's implementation of Knative on OpenShift. The document includes several demos and labs for hands-on experience with Knative and serverless concepts.
1. on Kubernetes, and OpenShift
Knative & Serverless
REDHATOPENSHIFTSERVERLESS
Chris Suszynski
twitter.com/ksuszynski
1
2. About me
2
Chris Suszynski
● Senior Quality Engineer at Red Hat
● Work on OpenShift Serverless
● Java & Puppet enthusiast
● Golang lover (1y)
● 15y+ of development experience
● using DevOps from ~2010, trainer
from 2014
● breathe Open Source
~70 original OSS repos
● public speaker on meetups &
conferences
● happy father & husband
21. Serverless computing
21
What is
?
“Serverless computing refers to the concept of
building and running applications that do not require
server management.
It describes a finer-grained deployment model where
applications, bundled as one or more functions, are
uploaded to a platform and then executed, scaled, and
billed in response to the exact demand needed at the
moment.”
⸺ Cloud Native Computing Foundation
https://www.cncf.io/blog/2018/02/14/cncf-takes-first-step-towards-serverless-computing
22. 22
Short history of Serverless
AWS
S3
March
2006
AWS
Lambda
November
2014
AWS
EC2
August
2006
Serverless
Described
Thoughtworks
August 2016
Serverless
Coined
October
2012
Serverless
Assess
Thoughtworks
Radar
April 2016
AWS
Dynamo
DB
January
2012
Firebase
September
2011
Iron.io
July
2011
Google
Cloud
Function
Feb 2016
Azure
Functions
Mar 2016
Pivotal
Riff
Dec 2017
Oracle
Functions
Sept 2016
IBM
Bluemix
OpenWhisk
Feb 2016
Oracle
Fn Project
Oct 2017
27. Knative?
27
What is
● Open source project started by Google
● Serverless computing on Kubernetes
● Set of loosely coupled primitives for all
● Makes using Kubernetes easier for Dev & Ops
● Autoscaling, from zero to ∞
● Advanced techniques like Blue/Green
deployments, eventing system
30. 30
What Knative provides?
Traffic shaping Autoscaling
Invokers Event Binding
Routing
Observability
Serverless Stuff
"Knative provides a set of middleware components
that are essential to build modern, source-centric,
and container-based applications that can run
anywhere: on premises, in the cloud, or even in a
third-party data center"
31. Interesting Capabilities
31
• Scale-to-zero: No pod == no memory
• Scale-from-zero: Traffic spike starts N pods
• Configurations & Revisions - built-in Blue/Green
• In-Cluster Image Building (Tekton)
• Traffic splitting
• Eventing System
37. Knative service
37
Deployment N
Replicaset N
PodService
PodPod N
Configuration
Revision N
serving.knative.dev/v1alpha1
Service
Route
Service
Istio Gateway
VirutalService
Activator
ImageCache
PodAutoscalerClusterIngress
47. OpenShift Serverless?
47
What is
● Red Hat product, based on Knative project
● Uses Red Hat Service Mesh, in future Kourier
● Supported & tested Knative on OpenShift
● Focus on Developer Experience (DX)
● Easy to install with OpenShift Operator Hub
● Awesome administration console