CONFIDENTIAL Designator What’s we are going to talk about? 2 What new in OpenShift 4.7 with Serverless What’s in pipeline for OpenShift upcoming release
CONFIDENTIAL Designator Serverless 3 “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” -- CNCF Definition, https://www.cncf.io/blog/2018/02/14/cncf-takes-first-step-towards-serverless-computing/ Serverless
5 Serving A request-driven model that serves the container with your application and can "scale to zero". Eventing Common infrastructure for consuming and producing events that will stimulate applications. Knative Serverless Components
New features added in 4.7 Serverless 7 ● Event Source Catalog: EventSources are part of catalog now to improve scalability for better user experience ● Camel Connector: Added support for kamelets (Camel Connector) as part of EventSource catalog
Source → Service : Channel & Subscription Serverless 10 ● Multiple Services can consume the same event ● Subscription can point to a reply channel (not shown here) ● Various Channel Backends available ○ In-Memory, Kafka, GCP PubSub, (write your own) ● Drawbacks: ○ No filtering, Service gets always all events Source Sink Sink Subscription Subscription Source Channel
From Deployment to KService Serverless 16 apiVersion: apps/v1 kind: Deployment metadata: name: random spec: replicas: 1 selector: matchLabels: app: random template: metadata: labels: app: random spec: containers: - image: rhuss/random name: random ports: - containerPort: 8080 apiVersion: serving.knative.dev/v1 kind: Service metadata: name: random spec: replicas: 1 selector: matchLabels: app: random template: metadata: labels: app: random spec: containers: - image: rhuss/random name: random ports: - containerPort: 8080 No more K8s Service or Ingress/Route required !