Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Serverless on OpenShift - Developer Experience Office Hours

Serverless on OpenShift - Developer Experience Office Hours

What new in OpenShift 4.7 with Serverless
Release notes: https://docs.openshift.com/container-platform/4.7/serverless/serverless-release-notes.html

What’s in pipeline for OpenShift upcoming release

Red Hat Livestreaming

March 02, 2021
Tweet

More Decks by Red Hat Livestreaming

Other Decks in Technology

Transcript

  1. OpenShift Developer Experience Office Hours
    March 2, 2021
    Serverless on
    OpenShift

    View Slide

  2. 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

    View Slide

  3. 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

    View Slide

  4. Kubernetes-based platform to
    deploy and manage modern
    serverless workloads.
    Knative
    4
    https://knative.dev

    View Slide

  5. 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

    View Slide

  6. New features added in 4.7
    Serverless
    6
    ● Ability to list/create serving and eventing resources from Admin
    Perspective

    View Slide

  7. 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

    View Slide

  8. New features added in 4.7
    Serverless
    8
    ● Event Sources Catalog

    View Slide

  9. New features added in 4.7
    Serverless
    9
    ● Channels and Subscriptions

    View Slide

  10. 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

    View Slide

  11. New features added in 4.7
    Serverless
    11
    ● Brokers and Triggers

    View Slide

  12. 12
    Serverless
    Source → Service: Broker & Trigger
    Broker
    ● Eventing Mesh for distributing Events
    ● Addressed by sources as sink
    Broker
    Source
    Source
    Sink
    Sink
    Trigger
    filter =
    Trigger
    filter =
    Trigger
    ● Filter on CloudEvent attributes (e.g. type)
    ● Connects a Sink with Broker

    View Slide

  13. Upcoming features
    Serverless
    13
    ● Visualize Serverless functions

    View Slide

  14. Upcoming features
    Serverless
    14
    ● Advance Scaling options for knative Service

    View Slide

  15. Upcoming features
    Serverless
    15
    ● Migrate existing workloads to serverless (knative service) with a click

    View Slide

  16. 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 !

    View Slide

  17. Demo
    Serverless
    17

    View Slide

  18. 18 http://dn.dev/knative-cookbook

    View Slide

  19. https://k8spatterns.io
    https://twitter.com/ro14nd
    https://twitter.com/k8spatterns
    https://twitter.com/mwessendorf
    Thank you
    19

    View Slide