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 Operator Life Cycles . 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 What is serverless? Extending the Kubernetes API with custom resource definitions Managing resources from custom resource definitions

Commands: