Chapter 2. OpenShift Serverless overview


OpenShift Serverless provides Kubernetes native building blocks that enable developers to create and deploy serverless, event-driven applications on OpenShift Container Platform. Serverless applications can scale up and down (to zero) on demand and be triggered by a number of event sources. OpenShift Serverless is based on the open source Knative project, which provides portability and consistency for hybrid and multi-cloud environments by enabling an enterprise-grade serverless platform.

Note

Because OpenShift Serverless releases on a different cadence from OpenShift Container Platform, the OpenShift Serverless documentation is now available as separate documentation sets for each minor version of the product.

The OpenShift Serverless documentation is available at https://docs.openshift.com/serverless/.

Documentation for specific versions is available using the version selector dropdown, or directly by adding the version to the URL, for example, https://docs.openshift.com/serverless/1.28.

In addition, the OpenShift Serverless documentation is also available on the Red Hat Portal at https://access.redhat.com/documentation/en-us/red_hat_openshift_serverless/.

For additional information about the OpenShift Serverless life cycle and supported platforms, refer to the Platform Life Cycle Policy.

2.1. Components of OpenShift Serverless

2.1.1. Knative Serving

Knative Serving builds on Kubernetes to support deploying and serving of applications and functions as serverless containers. Serving simplifies the application deployment, dynamically scales based on in incoming traffic and supports custom rollout strategies with traffic splitting.

Knative Serving includes the following features:

  • Simplified deployment of serverless containers
  • Traffic-based auto-scaling, including scale-to-zero
  • Routing and network programming
  • Point-in-time application snapshots and their configurations

2.1.2. Knative Eventing

Knative Eventing provides a platform that offers composable primitives to enable late-binding event sources and event consumers.

Knative Eventing supports the following architectural cloud-native concepts:

  • Services are loosely coupled during development and deployed independently to production.
  • A producer can generate events before a consumer is listening, and a consumer can express an interest in an event or class of events that are not yet being produced.
  • Services can be connected to create new applications without modifying producer or consumer, and with the ability to select a specific subset of events from a particular producer.

2.1.3. OpenShift Serverless Functions

OpenShift Serverless Functions allows you to write functions that are deployed as Knative Services and take advantage of Knative Serving and Eventing.

OpenShift Serverless Functions includes the following features:

  • Support for the following build strategies:

    • Source-to-Image (S2I)
    • Buildpacks
  • Multiple runtimes
  • Local developer experience through the Knative (kn) CLI
  • Project templates
  • Support for receiving CloudEvents and plain HTTP requests

2.1.4. OpenShift Serverless Logic

OpenShift Serverless Logic allows you to define declarative workflow models by using YAML or JSON files. The declarative workflow models orchestrate event-driven, serverless applications. OpenShift Serverless Logic lets you visualize the execution of workflows, which simplifies debugging and optimization. It also includes built-in error handling and fault tolerance, making it easier to handle errors and exceptions that occur during the execution of a workflow. OpenShift Serverless Logic implements the CNCF Serverless Workflow specification.

2.1.5. Knative CLI

The Knative (kn) CLI allows you to create Knative resources from the command line or from within Shell scripts. With its extensive help pages and autocompletion support, it frees you from memorizing the detailed structure of the Knative resource schemas.

The Knative (kn) CLI includes the following features:

  • Support for managing the following Knative Serving features:

    • Services
    • Revisions
    • Routes
  • Support for managing the following Knative Eventing entities:

    • Sources
    • Brokers
    • Triggers
    • Channels
    • Subscriptions
  • A plugin architecture based on the design of the Kubernetes (kubectl) CLI tool
  • Integration of Knative into Tekton pipelines

2.2. Additional resources

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.